From jvanek at icedtea.classpath.org Thu Sep 1 03:17:37 2011 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 01 Sep 2011 10:17:37 +0000 Subject: /hg/icedtea-web: made compatible with rhel5 libraries Message-ID: changeset 68a6e5d41dfc in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=68a6e5d41dfc author: Jiri Vanek date: Thu Sep 01 12:18:55 2011 +0200 made compatible with rhel5 libraries diffstat: ChangeLog | 13 +++++++++ Makefile.am | 1 + acinclude.m4 | 4 ++ configure.ac | 1 + plugin/icedteanp/IcedTeaNPPlugin.cc | 53 ++++++++++++++++++++++++++++-------- 5 files changed, 60 insertions(+), 12 deletions(-) diffs (133 lines): diff -r 7afd916031fa -r 68a6e5d41dfc ChangeLog --- a/ChangeLog Mon Aug 29 17:02:36 2011 -0400 +++ b/ChangeLog Thu Sep 01 12:18:55 2011 +0200 @@ -1,3 +1,16 @@ +2011-09-01 Jiri Vanek + Added functionality to allow icedtea web to be buildable with + rhel5 libraries. + *configure.ac: added IT_CHECK_GLIB_VERSION check. + *acinclude.m4: added IT_CHECK_GLIB_VERSION definition block to test. + version of glib installed and add LEGACY_GLIB define macro into + variable DEFS if version is <2.16. + *plugin/icedteanp/IcedTeaNPPlugin.cc: added replacements for incompatible + functions (g_strcmp0 and find_first_item_in_hash_table)if LEGACY_GLIB + is defined. Added define sections for use this function instead of glib ones. + Duplicated code moved into function getFirstInTableInstance(GHashTble* table). + *Makefile.am: ($(PLUGIN_DIR)/%.o): using DEFS setted by configure for compilation + 2011-08-29 Deepak Bhole RH734081: Javaws cannot use proxy settings from Firefox diff -r 7afd916031fa -r 68a6e5d41dfc Makefile.am --- a/Makefile.am Mon Aug 29 17:02:36 2011 -0400 +++ b/Makefile.am Thu Sep 01 12:18:55 2011 +0200 @@ -210,6 +210,7 @@ mkdir -p $(PLUGIN_DIR) && \ cd $(PLUGIN_DIR) && \ $(CXX) $(CXXFLAGS) \ + $(DEFS) \ -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ -DPLUGIN_NAME="\"IcedTea-Web Plugin\"" \ -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ diff -r 7afd916031fa -r 68a6e5d41dfc acinclude.m4 --- a/acinclude.m4 Mon Aug 29 17:02:36 2011 -0400 +++ b/acinclude.m4 Thu Sep 01 12:18:55 2011 +0200 @@ -484,6 +484,10 @@ AC_SUBST(PKGVERSION) ]) +AC_DEFUN_ONCE([IT_CHECK_GLIB_VERSION],[ + PKG_CHECK_MODULES([GLIB2_V_216],[glib-2.0 >= 2.16],[],[AC_DEFINE([LEGACY_GLIB])]) + ]) + AC_DEFUN([IT_CHECK_WITH_GCJ], [ AC_MSG_CHECKING([whether to compile ecj natively]) diff -r 7afd916031fa -r 68a6e5d41dfc configure.ac --- a/configure.ac Mon Aug 29 17:02:36 2011 -0400 +++ b/configure.ac Thu Sep 01 12:18:55 2011 +0200 @@ -80,6 +80,7 @@ IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil]) IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef]) IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE +IT_CHECK_GLIB_VERSION # # Find optional depedencies diff -r 7afd916031fa -r 68a6e5d41dfc plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Aug 29 17:02:36 2011 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Thu Sep 01 12:18:55 2011 +0200 @@ -249,6 +249,45 @@ pthread_cond_t cond_message_available = PTHREAD_COND_INITIALIZER; + +#ifdef LEGACY_GLIB +// Returns key from first item stored in hashtable +gboolean +find_first_item_in_hash_table(gpointer key, gpointer value, gpointer user_data) +{ + user_data = key; + return (gboolean)TRUE; +} + +int +g_strcmp0(char *str1, char *str2) +{ + if (str1 != NULL) + return str2 != NULL ? strcmp(str1, str2) : 1; + else // str1 == NULL + return str2 != NULL ? 1 : 0; +} + + +#endif + + +/* + * Find first member in GHashTable* depending on version of glib + */ +gpointer getFirstInTableInstance(GHashTable* table) +{ + gpointer id, instance; + #ifndef LEGACY_GLIB + GHashTableIter iter; + g_hash_table_iter_init (&iter, table); + g_hash_table_iter_next (&iter, &instance, &id); + #else + g_hash_table_find(table, (GHRFunc)find_first_item_in_hash_table, &instance); + #endif + return instance; +} + // Functions prefixed by ITNP_ are instance functions. They are called // by the browser and operate on instances of ITNPPluginData. // Functions prefixed by plugin_ are static helper functions. @@ -915,12 +954,7 @@ if (browser_functions.getvalueforurl) { - GHashTableIter iter; - gpointer id, instance; - - g_hash_table_iter_init (&iter, instance_to_id_map); - g_hash_table_iter_next (&iter, &instance, &id); - + gpointer instance=getFirstInTableInstance(instance_to_id_map); return browser_functions.getvalueforurl((NPP) instance, NPNURLVCookie, siteAddr, cookieString, len); } else { @@ -1367,12 +1401,7 @@ { // As in get_cookie_info, we use the first active instance - GHashTableIter iter; - gpointer id, instance; - - g_hash_table_iter_init (&iter, instance_to_id_map); - g_hash_table_iter_next (&iter, &instance, &id); - + gpointer instance=getFirstInTableInstance(instance_to_id_map); browser_functions.getvalueforurl((NPP) instance, NPNURLVProxy, siteAddr, proxy, len); } else { From bugzilla-daemon at icedtea.classpath.org Thu Sep 1 20:10:48 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 03:10:48 +0000 Subject: [Bug 770] Zero + icedtea7 7033954 regression - missing mapfile-zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=770 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ahughes at redhat.com Status|NEW |RESOLVED Resolution| |FIXED --- Comment #4 from Andrew John Hughes 2011-09-02 03:10:47 --- Closing as fix is in. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 1 20:13:53 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 03:13:53 +0000 Subject: [Bug 716] IcedTea7 should bootstrap with IcedTea6 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=716 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|2.0 |2.1 --- Comment #3 from Andrew John Hughes 2011-09-02 03:13:53 --- Deferring again to 2.1; we'll disable the check for IcedTea6 during full bootstrap in the meantime. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 1 20:14:29 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 03:14:29 +0000 Subject: [Bug 712] [TRACKER] IcedTea7 2.0 release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=712 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on|716 | --- Comment #2 from Andrew John Hughes 2011-09-02 03:14:28 --- 716 deferred to 2.1. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 1 20:14:29 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 03:14:29 +0000 Subject: [Bug 716] IcedTea7 should bootstrap with IcedTea6 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=716 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks|712 | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 1 20:15:18 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 03:15:18 +0000 Subject: [Bug 712] [TRACKER] IcedTea7 2.0 release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=712 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |753, 757, 767, 770 --- Comment #3 from Andrew John Hughes 2011-09-02 03:15:17 --- Add all 2.0 bugs. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 1 20:15:18 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 03:15:18 +0000 Subject: [Bug 757] IA32 Hotspot FTBFS regression after 7009309 JSR292 fix In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=757 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |712 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 1 20:15:18 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 03:15:18 +0000 Subject: [Bug 767] Annotation Processing Filer.getResource() always throws FileNotFoundException In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=767 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |712 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 1 20:15:18 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 03:15:18 +0000 Subject: [Bug 753] [regression] Zero FTBFS on stack_zero.cpp : In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=753 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |712 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 1 20:15:18 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 03:15:18 +0000 Subject: [Bug 770] Zero + icedtea7 7033954 regression - missing mapfile-zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=770 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |712 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From ptisnovs at icedtea.classpath.org Fri Sep 2 01:38:01 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 02 Sep 2011 08:38:01 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/SpecialCases.java: Message-ID: changeset 6c985b5ee97e in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=6c985b5ee97e author: Pavel Tisnovsky date: Fri Sep 02 10:39:52 2011 +0200 * src/org/gfxtest/testsuites/SpecialCases.java: Added 6 new test cases, added JavaDoc to existing test cases. diffstat: ChangeLog | 4 + src/org/gfxtest/testsuites/SpecialCases.java | 406 ++++++++++++++++++++------ 2 files changed, 318 insertions(+), 92 deletions(-) diffs (467 lines): diff -r a70769863697 -r 6c985b5ee97e ChangeLog --- a/ChangeLog Fri Aug 19 16:06:59 2011 +0200 +++ b/ChangeLog Fri Sep 02 10:39:52 2011 +0200 @@ -1,3 +1,7 @@ +2011-09-02 Pavel Tisnovsky + * src/org/gfxtest/testsuites/SpecialCases.java: + Added 6 new test cases, added JavaDoc to existing test cases. + 2011-08-19 Pavel Tisnovsky * src/org/gfxtest/framework/CommonRenderingStyles.java: Added methods supporting rendering shapes filled by radial gradient diff -r a70769863697 -r 6c985b5ee97e src/org/gfxtest/testsuites/SpecialCases.java --- a/src/org/gfxtest/testsuites/SpecialCases.java Fri Aug 19 16:06:59 2011 +0200 +++ b/src/org/gfxtest/testsuites/SpecialCases.java Fri Sep 02 10:39:52 2011 +0200 @@ -46,14 +46,16 @@ import org.gfxtest.framework.*; import org.gfxtest.framework.annotations.*; + + /** * This test renders various special cases, such as curves with cusps, curves * with identical control points, curves with width such that the offset curves * have cusps, curves with very high curvatures, paths such as moveTo(0, 0); - * p.lineTo(100,100);p.lineTo(100,100); (we test this last one to make sure - * that the join is drawn even though the lines are at an angle of 180 degrees. - * For each path, we draw it, and we also draw its stroked version. - * + * p.lineTo(100,100);p.lineTo(100,100); (we test this last one to make sure that + * the join is drawn even though the lines are at an angle of 180 degrees. For + * each path, we draw it, and we also draw its stroked version. + * * @author Pavel Tisnovsky * @author Denis Lila */ @@ -63,123 +65,343 @@ @Zoom(1) public class SpecialCases extends GfxTest { - private void drawPath(Path2D p, float pw, Graphics2D g, int w) { - BasicStroke s = new BasicStroke(pw, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND); - g.setColor(java.awt.Color.black); - Shape shape = s.createStrokedShape(p); - g.draw(shape); - g.translate(w, 0); - Stroke orig = g.getStroke(); - g.setStroke(s); - g.draw(p); - g.setStroke(orig); - g.translate(-w, 0); + /** + * Draw path onto the specified graphics context. Path is drawn as the path + * itself and also as outline. + * + * @param path + * path to be drawn + * @param pw + * width of the path + * @param graphics + * graphics context for image + * @param width + * width of the canvas + */ + private void drawPath(Path2D path, float pw, Graphics2D graphics, int width) + { + BasicStroke basicStroke = new BasicStroke(pw, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND); + graphics.setColor(java.awt.Color.black); + Shape shape = basicStroke.createStrokedShape(path); + graphics.draw(shape); + graphics.translate(width, 0); + Stroke orig = graphics.getStroke(); + graphics.setStroke(basicStroke); + graphics.draw(path); + graphics.setStroke(orig); + graphics.translate(-width, 0); } + /** + * Test drawing of line segments with identical vertexes. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIdenticalVertexesV(TestImage image, Graphics2D graphics) + { + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + for (double d = 0.1; d < 1.0; d += 0.2) + { + path.moveTo(d * size, 0.1 * size); + path.lineTo(d * size, d * size); + } + drawPath(path, 0.15f * size, graphics, width); + return TestResult.PASSED; + } + + /** + * Test drawing of line segments with identical vertexes. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIdenticalVertexesH(TestImage image, Graphics2D graphics) + { + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + for (double d = 0.1; d < 1.0; d += 0.2) + { + path.moveTo(0.1 * size, d * size); + path.lineTo(d * size, d * size); + } + drawPath(path, 0.15f * size, graphics, width); + return TestResult.PASSED; + } + + /** + * Test drawing of Bezier cubic curves with identical control points. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ public TestResult testIdenticalCtrlCub(TestImage image, Graphics2D graphics) { - int w = image.getWidth()/2; - int h = image.getHeight(); - int s = Math.min(w, h); - Path2D p = new Path2D.Double(); - p.moveTo(0, 0); + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + path.moveTo(0, 0); // identical first 2 points - p.curveTo(0, 0, 0.1*s, 0.2*s, 0.2*s, 0.2*s); + path.curveTo(0, 0, 0.1 * size, 0.2 * size, 0.2 * size, 0.2 * size); // identical 2nd and 3rd points - p.curveTo(0.35*s, 0.8*s, 0.35*s, 0.8*s, 0.45*s, 0.1*s); + path.curveTo(0.35 * size, 0.8 * size, 0.35 * size, 0.8 * size, 0.45 * size, 0.1 * size); // identical 3rd and 4th points. - p.curveTo(0.60*s, 0.1*s, 0.60*s, 0.70*s, 0.60*s, 0.70*s); + path.curveTo(0.60 * size, 0.1 * size, 0.60 * size, 0.70 * size, 0.60 * size, 0.70 * size); // identical first 3 points - p.curveTo(0.6*s, 0.7*s, 0.6*s, 0.7*s, 0.5*s, 0.8*s); + path.curveTo(0.6 * size, 0.7 * size, 0.6 * size, 0.7 * size, 0.5 * size, 0.8 * size); // identical last 3 points - p.curveTo(0.3*s, 0.8*s, 0.3*s, 0.8*s, 0.3*s, 0.8*s); + path.curveTo(0.3 * size, 0.8 * size, 0.3 * size, 0.8 * size, 0.3 * size, 0.8 * size); // all points identical - p.moveTo(0.1*s, 0.8*s);p.curveTo(0.1*s, 0.8*s, 0.1*s, 0.8*s, 0.1*s, 0.8*s); - drawPath(p, 0.15f*s, graphics, w); + path.moveTo(0.1 * size, 0.8 * size); + path.curveTo(0.1 * size, 0.8 * size, 0.1 * size, 0.8 * size, 0.1 * size, 0.8 * size); + drawPath(path, 0.15f * size, graphics, width); return TestResult.PASSED; } + + /** + * Test drawing of Bezier quadratic curves with identical control points. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ public TestResult testIdenticalCtrlQuad(TestImage image, Graphics2D graphics) { - int w = image.getWidth()/2; - int h = image.getHeight(); - int s = Math.min(w, h); - Path2D p = new Path2D.Double(); - p.moveTo(0, 0); + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + path.moveTo(0, 0); // identical first 2 points - p.quadTo(0, 0, 0.1*s, 0.2*s); + path.quadTo(0, 0, 0.1 * size, 0.2 * size); // identical 2nd and 3rd points - p.quadTo(0.7*s, 0.6*s, 0.7*s, 0.6*s); + path.quadTo(0.7 * size, 0.6 * size, 0.7 * size, 0.6 * size); // no identical points. We just want to see what a quad looks like. - p.quadTo(1.0*s, 0.7*s, 0.1*s, 0.8*s); + path.quadTo(1.0 * size, 0.7 * size, 0.1 * size, 0.8 * size); // all points identical - p.moveTo(0.7*s, 0.3*s);p.quadTo(0.7*s, 0.3*s, 0.7*s, 0.3*s); - drawPath(p, 0.2f*s, graphics, w); + path.moveTo(0.7 * size, 0.3 * size); + path.quadTo(0.7 * size, 0.3 * size, 0.7 * size, 0.3 * size); + drawPath(path, 0.2f * size, graphics, width); return TestResult.PASSED; } - public TestResult test180Turn(TestImage im, Graphics2D g) { - int w = im.getWidth()/2; - int h = im.getHeight(); - int s = Math.min(w, h); + + /** + * Test drawing of a path constructed from two line segments which have the + * same vertexes. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult test180Turn(TestImage image, Graphics2D graphics) + { + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); int numlines = 6; - double cx = 0.5*s, cy = 0.5 * s; - for (int i = 0; i < numlines; i++) { - double dx = 0.4*s * Math.cos((i * 2 * Math.PI) / numlines); - double dy = 0.4*s * Math.sin((i * 2 * Math.PI) / numlines); - Path2D p = new Path2D.Double(); - p.moveTo(cx, cy); - p.lineTo(cx + dx, cy + dy); - p.lineTo(cx, cy); - drawPath(p, (float)Math.pow(0.05*s*(i+1), 0.8), g, w); + double cx = 0.5 * size, cy = 0.5 * size; + for (int i = 0; i < numlines; i++) + { + double dx = 0.4 * size * Math.cos((i * 2 * Math.PI) / numlines); + double dy = 0.4 * size * Math.sin((i * 2 * Math.PI) / numlines); + Path2D path = new Path2D.Double(); + path.moveTo(cx, cy); + path.lineTo(cx + dx, cy + dy); + path.lineTo(cx, cy); + drawPath(path, (float) Math.pow(0.05 * size * (i + 1), 0.8), graphics, width); } return TestResult.PASSED; } - public TestResult testClose(TestImage im, Graphics2D g) { - int w = im.getWidth()/2; - int h = im.getHeight(); - int s = Math.min(w, h); - Path2D p = new Path2D.Double(); - p.moveTo(0.1*s, 0.1*s); - p.lineTo(0.8*s, 0.4*s); - p.quadTo(0.55*s, 1.0*s, 0.6*s, 0.5*s); - p.curveTo(0.1*s, 0.3*s, 0.0*s, 0.9*s, 0.65*s, 0.9*s); - p.closePath(); - drawPath(p, 0.1f*s, g, w); - return TestResult.PASSED; - } - public TestResult testSharpTurn1(TestImage im, Graphics2D g) { - int w = im.getWidth()/2; - int h = im.getHeight(); - int s = Math.min(w, h); - Path2D p = new Path2D.Double(); - p.moveTo(0, 0); - p.curveTo(s, s, 0.4*s, 0.6*s, 0.1*s, -0.36*s); - drawPath(p, 0.25f*s, g, w); - return TestResult.PASSED; - } - public TestResult testSharpTurn2(TestImage im, Graphics2D g) { - int w = im.getWidth()/2; - int h = im.getHeight(); - int s = Math.min(w, h); - Path2D p = new Path2D.Double(); - p.moveTo(0, 0); - p.curveTo(s, s, 0.4*s, 0.6*s, 0.1*s, -0.375*s); - drawPath(p, 0.25f*s, g, w); - return TestResult.PASSED; - } - public TestResult testCusp(TestImage im, Graphics2D g) { - int w = im.getWidth()/2; - int h = im.getHeight(); - int s = Math.min(w, h); - Path2D p = new Path2D.Double(); - p.moveTo(0.1*s, 0.1*s); - p.curveTo(0.9*s, 0.9*s, 0.1*s, 0.9*s, 0.9*s, 0.1*s); - drawPath(p, 0.45f*s, g, w); + + /** + * Test drawing closed path constructed from line segments. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCloseLineSegments(TestImage image, Graphics2D graphics) + { + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + path.moveTo(0.1 * size, 0.1 * size); + path.lineTo(0.8 * size, 0.4 * size); + path.lineTo(0.55 * size, 1.0 * size); + path.lineTo(0.6 * size, 0.5 * size); + path.lineTo(0.1 * size, 0.3 * size); + path.lineTo(0.0 * size, 0.9 * size); + path.lineTo(0.65 * size, 0.9 * size); + path.closePath(); + drawPath(path, 0.1f * size, graphics, width); return TestResult.PASSED; } + /** + * Test drawing closed path constructed from quadratic Bezier curve segments. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCloseQuadSegments(TestImage image, Graphics2D graphics) + { + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + path.moveTo(0.1 * size, 0.1 * size); + path.quadTo(0.8 * size, 0.4 * size, 0.55 * size, 1.0 * size); + path.quadTo(0.6 * size, 0.5 * size, 0.1 * size, 0.3 * size); + path.quadTo(0.0 * size, 0.9 * size, 0.65 * size, 0.9 * size); + path.closePath(); + drawPath(path, 0.1f * size, graphics, width); + return TestResult.PASSED; + } + + /** + * Test drawing closed path constructed from cubic Bezier curve segments. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCloseCubicSegments(TestImage image, Graphics2D graphics) + { + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + path.moveTo(0.1 * size, 0.1 * size); + path.curveTo(0.8 * size, 0.4 * size, 0.8 * size, 0.9 * size, 0.55 * size, 1.0 * size); + path.curveTo(0.6 * size, 0.5 * size, 0.65 * size, 0.9 * size, 0.1 * size, 0.3 * size); + path.curveTo(0.0 * size, 0.9 * size, 0.65 * size, 0.9 * size, 0.55 * size, 1.0 * size); + path.closePath(); + drawPath(path, 0.1f * size, graphics, width); + return TestResult.PASSED; + } + + /** + * Test drawing closed path constructed from line segments, quadratic curves + * and cubic curves. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCloseAllCombinations(TestImage image, Graphics2D graphics) + { + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + path.moveTo(0.1 * size, 0.1 * size); + path.lineTo(0.8 * size, 0.4 * size); + path.quadTo(0.55 * size, 1.0 * size, 0.6 * size, 0.5 * size); + path.curveTo(0.1 * size, 0.3 * size, 0.0 * size, 0.9 * size, 0.65 * size, 0.9 * size); + path.closePath(); + drawPath(path, 0.1f * size, graphics, width); + return TestResult.PASSED; + } + + /** + * Check if sharp turn is rendered correctly. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSharpTurn1(TestImage image, Graphics2D graphics) + { + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + path.moveTo(0, 0); + path.curveTo(size, size, 0.4 * size, 0.6 * size, 0.1 * size, -0.36 * size); + drawPath(path, 0.25f * size, graphics, width); + return TestResult.PASSED; + } + + /** + * Check if sharp turn is rendered correctly. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSharpTurn2(TestImage image, Graphics2D graphics) + { + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + path.moveTo(0, 0); + path.curveTo(size, size, 0.4 * size, 0.6 * size, 0.1 * size, -0.375 * size); + drawPath(path, 0.25f * size, graphics, width); + return TestResult.PASSED; + } + + /** + * Check if curve's cusp is rendered correctly. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCusp(TestImage image, Graphics2D graphics) + { + int width = image.getWidth() / 2; + int height = image.getHeight(); + int size = Math.min(width, height); + Path2D path = new Path2D.Double(); + path.moveTo(0.1 * size, 0.1 * size); + path.curveTo(0.9 * size, 0.9 * size, 0.1 * size, 0.9 * size, 0.9 * size, 0.1 * size); + drawPath(path, 0.45f * size, graphics, width); + return TestResult.PASSED; + } + + /** + * Entry point to the test suite. + * + * @param args not used in this case + */ public static void main(String[] args) { new SpecialCases().runTestSuite(args); } } - From andyrtr at archlinux.org Fri Sep 2 00:47:18 2011 From: andyrtr at archlinux.org (Andreas Radke) Date: Fri, 2 Sep 2011 09:47:18 +0200 Subject: IcedTea-Web 1.1.2 released! In-Reply-To: <20110831183605.GG14689@redhat.com> References: <20110831183605.GG14689@redhat.com> Message-ID: <20110902094718.3b7c5953@workstation64.home> Packages built for ArchLinux. Sadly my issue with my broker application isn't solved. I'm still thinking this is not caused by the web plugin but by the jre itself - see my mail to the icedtea 1.10.3 release. Anything I can do to give you enough information to fix this? -Andy with icedtea 1.10.3 OpenJDK Runtime Environment (IcedTea6 1.10.3) (ArchLinux-6.b22_1.10.3-1-x86_64) OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode) SYNC: in sync SYNC: in sync @@@@ readline @@@@ readline SYNC: version in sync=1.6.0_27 SYNC: version in sync=1.6.0_27 SYNC: send notification SYNC: send notification Exception in thread "Thread-18" Exception in thread "Thread-12" java.lang.IllegalMonitorStateException at java.lang.Object.notify(Native Method) at testJava2_1.TestVM$1.run(TestVM.java:90) java.lang.IllegalMonitorStateException at java.lang.Object.notify(Native Method) at testJava2_1.TestVM$1.run(TestVM.java:90) expect: en actual: de expect: en actual: de locale: 'en' locale: 'en' Ihre Java-Konfiguration ist folgende:

Hersteller: Sun Microsystems Inc.
Version: Java SE 6 Update 22
Betriebssystem: Linux 3.0-ARCH
Architektur: amd64 Ihre Java-Konfiguration ist folgende:

Hersteller: Sun Microsystems Inc.
Version: Java SE 6 Update 22
Betriebssystem: Linux 3.0-ARCH
Architektur: amd64 SYNC: notified waitForLoadingDone: version =1.6.0_27 SYNC: notified waitForLoadingDone: version =1.6.0_27 Inside invokeLater's run, subtitleLabel's Text2: Inside invokeLater's run, subtitleLabel's Text2: Is this EDT? true Is this EDT? true Obj:1.6.0_27 Obj:1.6.0_27 Exit worker loop Exit worker loop Inside Update Subtitle Label: less Inside Update Subtitle Label: less Inside invokeLater's run, subtitleLabel's Text1: Java-Update verf?gbarInside invokeLater's run, subtitleLabel's Text1: Java-Update verf?gbar02.09.2011 09:35:54 Control init INFO: Control Applet v1.09-SNAPSHOT 02.09.2011 09:35:55 Control memoryDetection INFO: Detected 16063 Mo RAM 02.09.11 09:36 : v8.02.458 - codebase : http://e5.md.it-finance.com/MDV8/ 02.09.11 09:36 : Java Version : 1.6.0_22 02.09.11 09:36 : System : Linux 3.0-ARCH amd64 02.09.11 09:36 : Processors : 8 02.09.11 09:36 : Memory allocated : 36.875Mb max: 711.125Mb free: 7.1031113Mb 02.09.11 09:36 : Classpath : [https://www.marketdatasystems.com/download/charts/V8/applet458.jar] 02.09.11 09:36 : Screens : 1 02.09.11 09:36 : Screen 0 : :0.0 - 1274x958x-1 - (0.0, 0.0) - [top=0, left=0, bottom=41, right=0] - 60 Hz - Video acceleration: true 02.09.11 09:36 : init bundle "texts.texts" with locale de_DE_IGIndex 02.09.11 09:36 : init bundle "texts/dateformats" with locale de_DE_IGIndex 02.09.11 09:36 : init bundle "PRTLines.prt" with locale de_DE_IGIndex 02.09.11 09:36 : load plugin PRTLines successfully 02.09.11 09:36 : init bundle "texts.proorder" with locale de_DE_IGIndex 02.09.11 09:36 : init bundle "texts.igindex" with locale de_DE_IGIndex 02.09.11 09:36 : load plugin IGIndex successfully with icedtea 1.10.2 java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.2) (ArchLinux-6.b22_1.10.2-1-x86_64) OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode) 02.09.2011 09:43:42 Control init INFO: Control Applet v1.09-SNAPSHOT 02.09.2011 09:43:43 Control memoryDetection INFO: Detected 16063 Mo RAM 02.09.11 09:43 : v8.02.458 - codebase : http://eb.md.it-finance.com/MDV8/ 02.09.11 09:43 : Java Version : 1.6.0_22 02.09.11 09:43 : System : Linux 3.0-ARCH amd64 02.09.11 09:43 : Processors : 8 02.09.11 09:43 : Memory allocated : 36.8125Mb max: 711.125Mb free: 18.062508Mb 02.09.11 09:43 : Classpath : [https://www.marketdatasystems.com/download/charts/V8/applet458.jar] 02.09.11 09:43 : Screens : 1 02.09.11 09:43 : Screen 0 : :0.0 - 1274x958x-1 - (0.0, 0.0) - [top=0, left=0, bottom=41, right=0] - 60 Hz - Video acceleration: true 02.09.11 09:43 : init bundle "texts.texts" with locale de_DE_IGIndex 02.09.11 09:43 : init bundle "texts/dateformats" with locale de_DE_IGIndex 02.09.11 09:43 : init bundle "PRTLines.prt" with locale de_DE_IGIndex 02.09.11 09:43 : load plugin PRTLines successfully 02.09.11 09:43 : init bundle "texts.proorder" with locale de_DE_IGIndex 02.09.11 09:43 : init bundle "texts.igindex" with locale de_DE_IGIndex 02.09.11 09:43 : load plugin IGIndex successfully From xranby at icedtea.classpath.org Fri Sep 2 03:54:27 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Fri, 02 Sep 2011 10:54:27 +0000 Subject: /hg/icedtea6: JamVM: Add support for armhf. Message-ID: changeset c7dfe2b4791e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c7dfe2b4791e author: Xerxes Ranby date: Fri Sep 02 12:41:10 2011 +0200 JamVM: Add support for armhf. 2011-09-02 Xerxes Ranby JamVM - Add support for armhf. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-08-31 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 9 +++++++++ Makefile.am | 4 ++-- NEWS | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diffs (41 lines): diff -r b9ac502a6189 -r c7dfe2b4791e ChangeLog --- a/ChangeLog Tue Aug 30 11:30:12 2011 -0400 +++ b/ChangeLog Fri Sep 02 12:41:10 2011 +0200 @@ -1,3 +1,12 @@ +2011-09-02 Xerxes R??nby + + JamVM + - Add support for armhf. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-08-31 revision. + (JAMVM_SHA256SUM): Updated. + 2011-08-30 Deepak Bhole S6826104, RH730015: Getting a NullPointer exception when clicked on Application & diff -r b9ac502a6189 -r c7dfe2b4791e Makefile.am --- a/Makefile.am Tue Aug 30 11:30:12 2011 -0400 +++ b/Makefile.am Fri Sep 02 12:41:10 2011 +0200 @@ -11,8 +11,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz -JAMVM_VERSION = 15f0fcf749071c7fa1bf0431e044e55143e94844 -JAMVM_SHA256SUM = af0213333302193f9eda0bd852b2d0419484160e1853235acdb83ed73829a1f8 +JAMVM_VERSION = 6a5776faa95649adae498e349da7a93b8b9fc355 +JAMVM_SHA256SUM = 1482dbd4d1ee44b6c50350904ae44debeaee72fb2fafeca6862db9fa00a04171 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz diff -r b9ac502a6189 -r c7dfe2b4791e NEWS --- a/NEWS Tue Aug 30 11:30:12 2011 -0400 +++ b/NEWS Fri Sep 02 12:41:10 2011 +0200 @@ -383,6 +383,7 @@ * JamVM - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. - LP827463: Fix OpenJDK enclosingMethodInfo(). + - Add support for armhf. - "Fix" handling of CLI bootclasspath options. - Fix for StackTraceElement checkin. - Ignore assertions and verify options. From xranby at icedtea.classpath.org Fri Sep 2 04:15:12 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Fri, 02 Sep 2011 11:15:12 +0000 Subject: /hg/icedtea7: 4 new changesets Message-ID: changeset a51ca707c3d2 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=a51ca707c3d2 author: Xerxes Ranby date: Fri Sep 02 13:11:34 2011 +0200 PR772: JamVM + jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. 2011-08-10 Xerxes Ranby JamVM - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. * NEWS: Updated. * patches/jamvm/jmm_GetLongAttribute_201.patch: New patch. * Makefile.am: Apply JamVM patch. changeset 56dac28b4cb5 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=56dac28b4cb5 author: Xerxes Ranby date: Fri Sep 02 13:13:17 2011 +0200 JamVM: Ignore assertions and verify options. 2011-08-15 Xerxes Ranby JamVM - Ignore assertions and verify options. * NEWS: Updated. * patches/jamvm/ignore-assertions-and-verify-options.patch: New patch. * Makefile.am: Apply JamVM patch. changeset 87cac0904664 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=87cac0904664 author: Xerxes Ranby date: Fri Sep 02 13:16:35 2011 +0200 JamVM: LP827463: Fix OpenJDK enclosingMethodInfo(), Updated JamVM to 2011-08-19 revision. 2011-08-19 Xerxes Ranby JamVM - LP827463: Fix OpenJDK enclosingMethodInfo(). - "Fix" handling of CLI bootclasspath options. - Fix for StackTraceElement checkin. - Fix typo in definition of ACC_MIRANDA. - Intern strings when creating a StackTraceElement. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-08-19 revision. (JAMVM_SHA256SUM): Updated. changeset a8ba0d7cfa93 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=a8ba0d7cfa93 author: Xerxes Ranby date: Fri Sep 02 13:17:30 2011 +0200 JamVM: Add support for armhf. 2011-09-02 Xerxes Ranby JamVM - Add support for armhf. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-08-31 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 38 ++++++++++++++++ Makefile.am | 8 ++- NEWS | 9 +++ patches/jamvm/ignore-assertions-and-verify-options.patch | 19 ++++++++ patches/jamvm/jmm_GetLongAttribute_201.patch | 21 ++++++++ 5 files changed, 92 insertions(+), 3 deletions(-) diffs (146 lines): diff -r 8ac25d11a9e5 -r a8ba0d7cfa93 ChangeLog --- a/ChangeLog Tue Aug 09 13:16:18 2011 +0200 +++ b/ChangeLog Fri Sep 02 13:17:30 2011 +0200 @@ -1,3 +1,41 @@ +2011-09-02 Xerxes R??nby + + JamVM + - Add support for armhf. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-08-31 revision. + (JAMVM_SHA256SUM): Updated. + +2011-08-19 Xerxes R??nby + + JamVM + - LP827463: Fix OpenJDK enclosingMethodInfo(). + - "Fix" handling of CLI bootclasspath options. + - Fix for StackTraceElement checkin. + - Fix typo in definition of ACC_MIRANDA. + - Intern strings when creating a StackTraceElement. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-08-19 revision. + (JAMVM_SHA256SUM): Updated. + +2011-08-15 Xerxes R??nby + + JamVM + - Ignore assertions and verify options. + * NEWS: Updated. + * patches/jamvm/ignore-assertions-and-verify-options.patch: New patch. + * Makefile.am: Apply JamVM patch. + +2011-08-10 Xerxes R??nby + + JamVM + - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. + * NEWS: Updated. + * patches/jamvm/jmm_GetLongAttribute_201.patch: New patch. + * Makefile.am: Apply JamVM patch. + 2011-08-09 Xerxes R??nby JamVM diff -r 8ac25d11a9e5 -r a8ba0d7cfa93 Makefile.am --- a/Makefile.am Tue Aug 09 13:16:18 2011 +0200 +++ b/Makefile.am Fri Sep 02 13:17:30 2011 +0200 @@ -24,8 +24,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.bz2 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 -JAMVM_VERSION = 0501bb8bea978c2d37e7b5caaa0969c92ae148b4 -JAMVM_SHA256SUM = 5a21290813affb5878d27995e487c60e7d0b85793987bb814baf162f179acedb +JAMVM_VERSION = 6a5776faa95649adae498e349da7a93b8b9fc355 +JAMVM_SHA256SUM = 1482dbd4d1ee44b6c50350904ae44debeaee72fb2fafeca6862db9fa00a04171 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz @@ -300,7 +300,9 @@ if BUILD_JAMVM ICEDTEA_PATCHES += \ - patches/jamvm/remove-sun.misc.Perf-debug-code.patch + patches/jamvm/remove-sun.misc.Perf-debug-code.patch \ + patches/jamvm/jmm_GetLongAttribute_201.patch \ + patches/jamvm/ignore-assertions-and-verify-options.patch endif if ENABLE_PULSE_JAVA diff -r 8ac25d11a9e5 -r a8ba0d7cfa93 NEWS --- a/NEWS Tue Aug 09 13:16:18 2011 +0200 +++ b/NEWS Fri Sep 02 13:17:30 2011 +0200 @@ -6,6 +6,7 @@ DX - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=X GX - http://bugs.gentoo.org/show_bug.cgi?id=X CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X +LPX - https://bugs.launchpad.net/bugs/X CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY @@ -30,6 +31,14 @@ - Add missing describe_pd method for Zero. * JamVM - JamVM is self-hosting. + - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. + - LP827463: Fix OpenJDK enclosingMethodInfo(). + - Add support for armhf. + - "Fix" handling of CLI bootclasspath options. + - Fix for StackTraceElement checkin. + - Fix typo in definition of ACC_MIRANDA. + - Intern strings when creating a StackTraceElement. + - Ignore assertions and verify options. - Remove empty clobber. - Use dots instead of slashes in classname for exception. - Correct thrown exception by bootstrap loader. diff -r 8ac25d11a9e5 -r a8ba0d7cfa93 patches/jamvm/ignore-assertions-and-verify-options.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/jamvm/ignore-assertions-and-verify-options.patch Fri Sep 02 13:17:30 2011 +0200 @@ -0,0 +1,20 @@ +Index: jamvm/jamvm/src/init.c +=================================================================== +--- jamvm.orig/jamvm/src/init.c 2011-08-12 14:12:00.775411188 +0200 ++++ jamvm/jamvm/src/init.c 2011-08-12 16:22:24.110205028 +0200 +@@ -272,6 +272,15 @@ + /* Compatibility options */ + } else if(strcmp(string, "-Xcomp") == 0 || + strcmp(string, "-Xbatch") == 0 || ++ strcmp(string, "-ea") == 0 || ++ strcmp(string, "-da") == 0 || ++ strcmp(string, "-dsa") == 0 || ++ strcmp(string, "-esa") == 0 || ++ strncmp(string, "-ea:", 4) == 0 || ++ strncmp(string, "-da:", 4) == 0 || ++ strncmp(string, "-dsa:", 5) == 0 || ++ strncmp(string, "-esa:", 5) == 0 || ++ strncmp(string, "-Xverify:", 9) == 0 || + strncmp(string, "-XX:", 4) == 0) { + /* Ignore */ + } else diff -r 8ac25d11a9e5 -r a8ba0d7cfa93 patches/jamvm/jmm_GetLongAttribute_201.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/jamvm/jmm_GetLongAttribute_201.patch Fri Sep 02 13:17:30 2011 +0200 @@ -0,0 +1,22 @@ +Index: jamvm/jamvm/src/classlib/openjdk/management.c +=================================================================== +--- jamvm.orig/jamvm/src/classlib/openjdk/management.c 2011-08-09 23:39:21.067466386 +0200 ++++ jamvm/jamvm/src/classlib/openjdk/management.c 2011-08-09 23:43:21.987466384 +0200 +@@ -146,6 +146,9 @@ + case JMM_JVM_INIT_DONE_TIME_MS: + result = 0; + break; ++ case JMM_OS_PROCESS_ID: ++ result = getpid(); ++ break; + + case JMM_CLASS_LOADED_COUNT: + case JMM_CLASS_UNLOADED_COUNT: +@@ -153,7 +156,6 @@ + case JMM_THREAD_LIVE_COUNT: + case JMM_THREAD_PEAK_COUNT: + case JMM_THREAD_DAEMON_COUNT: +- case JMM_OS_PROCESS_ID: + + default: + UNIMPLEMENTED("jmm_GetLongAttribute: Unknown attribute %d", att); From xranby at icedtea.classpath.org Fri Sep 2 04:23:11 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Fri, 02 Sep 2011 11:23:11 +0000 Subject: /hg/icedtea: 4 new changesets Message-ID: changeset fcef146368a8 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=fcef146368a8 author: Xerxes Ranby date: Fri Sep 02 13:22:12 2011 +0200 PR772: JamVM + jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. 2011-08-10 Xerxes Ranby JamVM - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. * NEWS: Updated. * patches/jamvm/jmm_GetLongAttribute_201.patch: New patch. * Makefile.am: Apply JamVM patch. changeset a338e1f421e6 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a338e1f421e6 author: Xerxes Ranby date: Fri Sep 02 13:23:31 2011 +0200 JamVM: Ignore assertions and verify options. 2011-08-15 Xerxes Ranby JamVM - Ignore assertions and verify options. * NEWS: Updated. * patches/jamvm/ignore-assertions-and-verify-options.patch: New patch. * Makefile.am: Apply JamVM patch. changeset c7f83847564d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=c7f83847564d author: Xerxes Ranby date: Fri Sep 02 13:24:37 2011 +0200 JamVM: LP827463: Fix OpenJDK enclosingMethodInfo(), Updated JamVM to 2011-08-19 revision. 2011-08-19 Xerxes Ranby JamVM - LP827463: Fix OpenJDK enclosingMethodInfo(). - "Fix" handling of CLI bootclasspath options. - Fix for StackTraceElement checkin. - Fix typo in definition of ACC_MIRANDA. - Intern strings when creating a StackTraceElement. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-08-19 revision. (JAMVM_SHA256SUM): Updated. changeset 4141f7541748 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=4141f7541748 author: Xerxes Ranby date: Fri Sep 02 13:25:39 2011 +0200 JamVM: Add support for armhf. 2011-09-02 Xerxes Ranby JamVM - Add support for armhf. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-08-31 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 38 ++++++++++++++++ Makefile.am | 8 ++- NEWS | 9 +++ patches/jamvm/ignore-assertions-and-verify-options.patch | 19 ++++++++ patches/jamvm/jmm_GetLongAttribute_201.patch | 21 ++++++++ 5 files changed, 92 insertions(+), 3 deletions(-) diffs (146 lines): diff -r ed87c77c461d -r 4141f7541748 ChangeLog --- a/ChangeLog Tue Aug 09 13:45:23 2011 +0200 +++ b/ChangeLog Fri Sep 02 13:25:39 2011 +0200 @@ -1,3 +1,41 @@ +2011-09-02 Xerxes R??nby + + JamVM + - Add support for armhf. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-08-31 revision. + (JAMVM_SHA256SUM): Updated. + +2011-08-19 Xerxes R??nby + + JamVM + - LP827463: Fix OpenJDK enclosingMethodInfo(). + - "Fix" handling of CLI bootclasspath options. + - Fix for StackTraceElement checkin. + - Fix typo in definition of ACC_MIRANDA. + - Intern strings when creating a StackTraceElement. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-08-19 revision. + (JAMVM_SHA256SUM): Updated. + +2011-08-15 Xerxes R??nby + + JamVM + - Ignore assertions and verify options. + * NEWS: Updated. + * patches/jamvm/ignore-assertions-and-verify-options.patch: New patch. + * Makefile.am: Apply JamVM patch. + +2011-08-10 Xerxes R??nby + + JamVM + - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. + * NEWS: Updated. + * patches/jamvm/jmm_GetLongAttribute_201.patch: New patch. + * Makefile.am: Apply JamVM patch. + 2011-08-09 Xerxes R??nby JamVM diff -r ed87c77c461d -r 4141f7541748 Makefile.am --- a/Makefile.am Tue Aug 09 13:45:23 2011 +0200 +++ b/Makefile.am Fri Sep 02 13:25:39 2011 +0200 @@ -24,8 +24,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.bz2 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 -JAMVM_VERSION = 0501bb8bea978c2d37e7b5caaa0969c92ae148b4 -JAMVM_SHA256SUM = 5a21290813affb5878d27995e487c60e7d0b85793987bb814baf162f179acedb +JAMVM_VERSION = 6a5776faa95649adae498e349da7a93b8b9fc355 +JAMVM_SHA256SUM = 1482dbd4d1ee44b6c50350904ae44debeaee72fb2fafeca6862db9fa00a04171 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz @@ -308,7 +308,9 @@ if BUILD_JAMVM ICEDTEA_PATCHES += \ - patches/jamvm/remove-sun.misc.Perf-debug-code.patch + patches/jamvm/remove-sun.misc.Perf-debug-code.patch \ + patches/jamvm/jmm_GetLongAttribute_201.patch \ + patches/jamvm/ignore-assertions-and-verify-options.patch endif if ENABLE_PULSE_JAVA diff -r ed87c77c461d -r 4141f7541748 NEWS --- a/NEWS Tue Aug 09 13:45:23 2011 +0200 +++ b/NEWS Fri Sep 02 13:25:39 2011 +0200 @@ -6,6 +6,7 @@ DX - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=X GX - http://bugs.gentoo.org/show_bug.cgi?id=X CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X +LPX - https://bugs.launchpad.net/bugs/X CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY @@ -15,6 +16,14 @@ * JamVM - JamVM is self-hosting. + - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. + - LP827463: Fix OpenJDK enclosingMethodInfo(). + - Add support for armhf. + - "Fix" handling of CLI bootclasspath options. + - Fix for StackTraceElement checkin. + - Fix typo in definition of ACC_MIRANDA. + - Intern strings when creating a StackTraceElement. + - Ignore assertions and verify options. - Remove empty clobber. - Use dots instead of slashes in classname for exception. - Correct thrown exception by bootstrap loader. diff -r ed87c77c461d -r 4141f7541748 patches/jamvm/ignore-assertions-and-verify-options.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/jamvm/ignore-assertions-and-verify-options.patch Fri Sep 02 13:25:39 2011 +0200 @@ -0,0 +1,20 @@ +Index: jamvm/jamvm/src/init.c +=================================================================== +--- jamvm.orig/jamvm/src/init.c 2011-08-12 14:12:00.775411188 +0200 ++++ jamvm/jamvm/src/init.c 2011-08-12 16:22:24.110205028 +0200 +@@ -272,6 +272,15 @@ + /* Compatibility options */ + } else if(strcmp(string, "-Xcomp") == 0 || + strcmp(string, "-Xbatch") == 0 || ++ strcmp(string, "-ea") == 0 || ++ strcmp(string, "-da") == 0 || ++ strcmp(string, "-dsa") == 0 || ++ strcmp(string, "-esa") == 0 || ++ strncmp(string, "-ea:", 4) == 0 || ++ strncmp(string, "-da:", 4) == 0 || ++ strncmp(string, "-dsa:", 5) == 0 || ++ strncmp(string, "-esa:", 5) == 0 || ++ strncmp(string, "-Xverify:", 9) == 0 || + strncmp(string, "-XX:", 4) == 0) { + /* Ignore */ + } else diff -r ed87c77c461d -r 4141f7541748 patches/jamvm/jmm_GetLongAttribute_201.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/jamvm/jmm_GetLongAttribute_201.patch Fri Sep 02 13:25:39 2011 +0200 @@ -0,0 +1,22 @@ +Index: jamvm/jamvm/src/classlib/openjdk/management.c +=================================================================== +--- jamvm.orig/jamvm/src/classlib/openjdk/management.c 2011-08-09 23:39:21.067466386 +0200 ++++ jamvm/jamvm/src/classlib/openjdk/management.c 2011-08-09 23:43:21.987466384 +0200 +@@ -146,6 +146,9 @@ + case JMM_JVM_INIT_DONE_TIME_MS: + result = 0; + break; ++ case JMM_OS_PROCESS_ID: ++ result = getpid(); ++ break; + + case JMM_CLASS_LOADED_COUNT: + case JMM_CLASS_UNLOADED_COUNT: +@@ -153,7 +156,6 @@ + case JMM_THREAD_LIVE_COUNT: + case JMM_THREAD_PEAK_COUNT: + case JMM_THREAD_DAEMON_COUNT: +- case JMM_OS_PROCESS_ID: + + default: + UNIMPLEMENTED("jmm_GetLongAttribute: Unknown attribute %d", att); From bugzilla-daemon at icedtea.classpath.org Fri Sep 2 06:05:49 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 13:05:49 +0000 Subject: [Bug 781] New: Can't build icedtea7-hg with icedtea6: "Error occurred during initialization of VM" Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=781 Summary: Can't build icedtea7-hg with icedtea6: "Error occurred during initialization of VM" Product: IcedTea Version: 7-hg Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P5 Component: Bootstrapping AssignedTo: ahughes at redhat.com ReportedBy: bero at arklinux.org CC: unassigned at icedtea.classpath.org When trying to build icedtea7-hg with a preexisting icedtea6, the build fails: with --enable-bootstrap: /usr/src/rpm/BUILD/icedtea7/bootstrap/jdk1.6.0/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -g -XDignore.symbol.file=true -source 7 -target 7 -encoding ascii -classpath /usr/src/ark/BUILD/icedtea7/bootstrap/jdk1.6.0/lib/rt.jar -classpath /usr/src/ark/BUILD/icedtea7/openjdk.build-boot/corba/corba/classes -classpath /usr/src/ark/BUILD/icedtea7/openjdk.build-boot/langtools/dist/lib/classes.jar -sourcepath /usr/src/ark/BUILD/icedtea7/generated.build:../../../src/share/classes:/usr/src/rpm/BUILD/icedtea7/openjdk-boot/jdk/src/share/classes -d /usr/src/rpm/BUILD/icedtea7/openjdk.build-boot/corba/classes @/usr/src/rpm/BUILD/icedtea7/openjdk.build-boot/corba/tmp/sun/javax.transaction.xa/.classes.list javac: invalid source release: 7 Usage: javac use -help for a list of possible options make[5]: *** [.compile.classlist] Error 2 make[5]: Leaving directory `/usr/src/ark/BUILD/icedtea7/openjdk-boot/corba/make/javax/xa' make[4]: *** [build] Error 1 And without: make[6]: Leaving directory `/usr/src/rpm/BUILD/icedtea7/openjdk.build/hotspot/outputdir/linux_amd64_compiler2/product' cd linux_amd64_compiler2/product && ./test_gamma java full version "1.6.0_21-b21" Using java runtime at: /usr/src/rpm/BUILD/icedtea7/bootstrap/jdk1.6.0/jre Error occurred during initialization of VM ?{???: policy.changeYou make[5]: *** [product] Error 1 make[5]: Leaving directory `/usr/src/rpm/BUILD/icedtea7/openjdk.build/hotspot/outputdir' -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Fri Sep 2 06:22:39 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 02 Sep 2011 13:22:39 +0000 Subject: [Bug 770] Zero + icedtea7 7033954 regression - missing mapfile-zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=770 --- Comment #5 from Xerxes R?nby 2011-09-02 13:22:39 --- (In reply to comment #4) > Closing as fix is in. > Can we bump the http://icedtea.classpath.org/hg/icedtea7 tree now to match the latest icedtea7-forest changesets? The icedtea buildbots and distributions that try to build and package icedtea7 still fail to do so for Zero on ARM unless we bump. http://builder.classpath.org/icedtea/buildbot/builders/icedtea7-squeeze-armv5tel-quick/builds/34/steps/compile/logs/stdio -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From a.radke at arcor.de Fri Sep 2 01:15:06 2011 From: a.radke at arcor.de (Andreas Radke) Date: Fri, 2 Sep 2011 10:15:06 +0200 Subject: IcedTea-Web 1.1.2 released! In-Reply-To: <20110831183605.GG14689@redhat.com> References: <20110831183605.GG14689@redhat.com> Message-ID: <20110902101506.4b545059@workstation64.home> Packages built for ArchLinux. Sadly my issue with my broker application isn't solved. I'm still thinking this is not caused by the web plugin but by the jre itself - see my mail to the icedtea 1.10.3 release. Anything I can do to give you enough information to fix this? -Andy with icedtea 1.10.3 OpenJDK Runtime Environment (IcedTea6 1.10.3) (ArchLinux-6.b22_1.10.3-1-x86_64) OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode) SYNC: in sync SYNC: in sync @@@@ readline @@@@ readline SYNC: version in sync=1.6.0_27 SYNC: version in sync=1.6.0_27 SYNC: send notification SYNC: send notification Exception in thread "Thread-18" Exception in thread "Thread-12" java.lang.IllegalMonitorStateException at java.lang.Object.notify(Native Method) at testJava2_1.TestVM$1.run(TestVM.java:90) java.lang.IllegalMonitorStateException at java.lang.Object.notify(Native Method) at testJava2_1.TestVM$1.run(TestVM.java:90) expect: en actual: de expect: en actual: de locale: 'en' locale: 'en' Ihre Java-Konfiguration ist folgende:

Hersteller: Sun Microsystems Inc.
Version: Java SE 6 Update 22
Betriebssystem: Linux 3.0-ARCH
Architektur: amd64 Ihre Java-Konfiguration ist folgende:

Hersteller: Sun Microsystems Inc.
Version: Java SE 6 Update 22
Betriebssystem: Linux 3.0-ARCH
Architektur: amd64 SYNC: notified waitForLoadingDone: version =1.6.0_27 SYNC: notified waitForLoadingDone: version =1.6.0_27 Inside invokeLater's run, subtitleLabel's Text2: Inside invokeLater's run, subtitleLabel's Text2: Is this EDT? true Is this EDT? true Obj:1.6.0_27 Obj:1.6.0_27 Exit worker loop Exit worker loop Inside Update Subtitle Label: less Inside Update Subtitle Label: less Inside invokeLater's run, subtitleLabel's Text1: Java-Update verf?gbarInside invokeLater's run, subtitleLabel's Text1: Java-Update verf?gbar02.09.2011 09:35:54 Control init INFO: Control Applet v1.09-SNAPSHOT 02.09.2011 09:35:55 Control memoryDetection INFO: Detected 16063 Mo RAM 02.09.11 09:36 : v8.02.458 - codebase : http://e5.md.it-finance.com/MDV8/ 02.09.11 09:36 : Java Version : 1.6.0_22 02.09.11 09:36 : System : Linux 3.0-ARCH amd64 02.09.11 09:36 : Processors : 8 02.09.11 09:36 : Memory allocated : 36.875Mb max: 711.125Mb free: 7.1031113Mb 02.09.11 09:36 : Classpath : [https://www.marketdatasystems.com/download/charts/V8/applet458.jar] 02.09.11 09:36 : Screens : 1 02.09.11 09:36 : Screen 0 : :0.0 - 1274x958x-1 - (0.0, 0.0) - [top=0, left=0, bottom=41, right=0] - 60 Hz - Video acceleration: true 02.09.11 09:36 : init bundle "texts.texts" with locale de_DE_IGIndex 02.09.11 09:36 : init bundle "texts/dateformats" with locale de_DE_IGIndex 02.09.11 09:36 : init bundle "PRTLines.prt" with locale de_DE_IGIndex 02.09.11 09:36 : load plugin PRTLines successfully 02.09.11 09:36 : init bundle "texts.proorder" with locale de_DE_IGIndex 02.09.11 09:36 : init bundle "texts.igindex" with locale de_DE_IGIndex 02.09.11 09:36 : load plugin IGIndex successfully with icedtea 1.10.2 java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.2) (ArchLinux-6.b22_1.10.2-1-x86_64) OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode) 02.09.2011 09:43:42 Control init INFO: Control Applet v1.09-SNAPSHOT 02.09.2011 09:43:43 Control memoryDetection INFO: Detected 16063 Mo RAM 02.09.11 09:43 : v8.02.458 - codebase : http://eb.md.it-finance.com/MDV8/ 02.09.11 09:43 : Java Version : 1.6.0_22 02.09.11 09:43 : System : Linux 3.0-ARCH amd64 02.09.11 09:43 : Processors : 8 02.09.11 09:43 : Memory allocated : 36.8125Mb max: 711.125Mb free: 18.062508Mb 02.09.11 09:43 : Classpath : [https://www.marketdatasystems.com/download/charts/V8/applet458.jar] 02.09.11 09:43 : Screens : 1 02.09.11 09:43 : Screen 0 : :0.0 - 1274x958x-1 - (0.0, 0.0) - [top=0, left=0, bottom=41, right=0] - 60 Hz - Video acceleration: true 02.09.11 09:43 : init bundle "texts.texts" with locale de_DE_IGIndex 02.09.11 09:43 : init bundle "texts/dateformats" with locale de_DE_IGIndex 02.09.11 09:43 : init bundle "PRTLines.prt" with locale de_DE_IGIndex 02.09.11 09:43 : load plugin PRTLines successfully 02.09.11 09:43 : init bundle "texts.proorder" with locale de_DE_IGIndex 02.09.11 09:43 : init bundle "texts.igindex" with locale de_DE_IGIndex 02.09.11 09:43 : load plugin IGIndex successfully From the.mad.doctor.kaeding at gmail.com Fri Sep 2 09:57:34 2011 From: the.mad.doctor.kaeding at gmail.com (the mad doctor kaeding) Date: Fri, 2 Sep 2011 12:57:34 -0400 Subject: icedtea6 cannot compile itself In-Reply-To: <20110831022733.GB29544@rivendell.middle-earth.co.uk> References: <20110831022733.GB29544@rivendell.middle-earth.co.uk> Message-ID: Seriously? Not enough information? I'm following the instructions on http://www.linuxfromscratch.org/blfs/view/svn/general/icedtea6.html It instructs me to download icedtea6-1.9.7 binary and use it to compile icedtea6-1.9.7 from source. I tried using the exact downloads that that page links to, and get errors that some methods have the same erasure as others, and the compilation fails (see my original message). I tried using newer downloads, with the same types of errors, but a different number of them. If I don't know what files to download to get a successful compilation, would you please send me a list of the correct ones? Thank you. --------------- from linuxfromscratch: Source Package Information * IcedTea6 Source http://icedtea.classpath.org/download/source/icedtea6-1.9.7.tar.gz 54a327a9591dab15049b81ec3c0af724 6.3 MB * OpenJDK Source http://download.java.net/openjdk/jdk6/promoted/b20/openjdk-6-src-b20-21_jun_2010.tar.gz 0b36adbf67e4f261e1b827ed4be4f447 43 MB * JAF Source http://icedtea.classpath.org/builds/icedtea6/src/drops/jdk6-jaf-b20.zip bc95c133620bd68c161cac9891592901 70 KB * JAXP Source http://icedtea.classpath.org/builds/icedtea6/src/drops/jdk6-jaxp-b20.zip 22e95fbdb9fb7d8b6b6fc0a1d76d1fbd 5.8 MB * JAXWS Source http://icedtea.classpath.org/builds/icedtea6/src/drops/jdk6-jaxws-b20.zip 91adfd41e6f001add4f92ae31216b1e3 5.3 MB * Estimated disk space required: 6.6 GB * Estimated build time: 23 SBU (an additional 83 SBU for testsuite) Binary Package Information * Binary download (x86): http://anduin.linuxfromscratch.org/files/BLFS/icedtea6-1.9.7-1-x86-bin.tar.xz * Download MD5 sum: 616f3841562b2787ce101a85378029d1 * Download size (binary): 100 MB * Estimated disk space required: 846 MB * Binary download (x86_64): http://anduin.linuxfromscratch.org/files/BLFS/icedtea6-1.9.7-1-x86_64-bin.tar.xz * Download MD5 sum: 98cf8a009c63cb2b32a94dd23b828fca * Download size (binary): 77 MB * Estimated disk space required: 564 MB Additional Downloads Required Patches * http://www.linuxfromscratch.org/patches/blfs/svn/icedtea6-1.9.7-upstream_fixes-1.patch * http://www.linuxfromscratch.org/patches/blfs/svn/icedtea6-1.9.7-generate_cacerts-1.patch * http://www.linuxfromscratch.org/patches/blfs/svn/icedtea6-1.9.7-xerces2_10-1.patch * http://www.linuxfromscratch.org/patches/blfs/svn/icedtea6-1.9.7-fixed_paths-1.patch Required Jar Files * Eclipse Java Complier http://ftp.osuosl.org/pub/eclipse/eclipse/downloads/drops/R-3.6.1-201009090800/ecj-3.6.1.jar 448c6e65234fc61624e14b0964d75bd9 1.6 MB * Rhino Java Script ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R2.zip 40d0a9abec8169e42920214b37fa8e0e 2.9 MB * Xalan http://apache.osuosl.org/xml/xalan-j/xalan-j_2_7_1-bin.zip 99d049717c9d37a930450e630d8a6531 16.8 MB * Xerces http://apache.osuosl.org/xerces/j/Xerces-J-bin.2.11.0.zip 408500aaaf1ff9f1e03e79defe90facc 7.0 MB IcedTea6 Dependencies Required Dependencies XZ-Utils Optional Runtime Dependencies (required for source installation) ALSA Library-1.0.21, CUPS-1.4.5, GTK+-2.20.1, Xorg Libraries, and Xulrunner-1.9.2.13 Additional Requirements (for source build, including optional requirements) Apache Ant-1.8.1, UnZip-6.0, which-2.20, and Zip-3.0 User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/icedtea6 Installation of IcedTea6 The instructions below install both the binary and source versions. You may stop after installing the binary version or continue on installing the source version. You can choose to keep either or both. IcedTea6 Binary Installation Begin by extracting the appropriate binary tarball and changing to the extracted dirctory. Install the binary IcedTea6 with the following commands as the root user: cp -R j2sdk-image /opt/icedtea6-1.9.7-bin && chown -R root:root /opt/icedtea6-1.9.7-bin Configure the temporary IcedTea6 installation with the following commands: export PATH_HOLD="${PATH}" && export JAVA_HOME="/opt/icedtea6-1.9.7-bin" && export CLASSPATH=".:/usr/share/java" && export PATH="${PATH}:${JAVA_HOME}/bin" The binary version is now installed. If you don't want to compile the sources, skip ahead to the configuration section. IcedTea6 Source Installation [Note] Note The source build of IcedTea6 requires Apache Ant-1.8.1. You'll need to build that first to satisfy the reciprocal dependency, and return to this section to continue building IcedTea6. Like other packages in BLFS, begin by extracting the IcedTea6 source package and changing into the extracted dirctory. IcedTea6 requires several freely available jar files for the bootstrap compiler. You may leave these items in place after the build is complete, as they will be needed by other programs, or remove them if you choose. You can optionally choose not to install them at all, and provide the necessary configure options to find the files. Install the necessary tools with the following commands as the root user: mkdir jarfiles && cd jarfiles && unzip ../../rhino1_7R2.zip && unzip ../../xalan-j_2_7_1-bin.zip && unzip ../../Xerces-J-bin.2.11.0.zip && install -v -d -m755 /usr/share/java && install -v -m755 rhino1_7R2/*.jar /usr/share/java && install -v -m755 xalan-j_2_7_1/*.jar /usr/share/java && install -v -m755 xerces-2_11_0/*.jar /usr/share/java && install -v -m755 ../../ecj-3.6.1.jar /usr/share/java && ln -s ecj-3.6.1.jar /usr/share/java/ecj.jar && ln -s xalan.jar /usr/share/java/xalan2.jar && cd .. && rm -r jarfiles IcedTea6 is composed of several individual components of the proprietary JDK that have been relicensed under an open source license. Put all of the individual components into the source tree with the following commands: mkdir drops && cp -v ../jdk6-jaf-b20.zip drops/ && cp -v ../jdk6-jaxp-b20.zip drops/ && cp -v ../jdk6-jaxws-b20.zip drops/ && cp -v ../openjdk-6-src-b20-21_jun_2010.tar.gz . Apply a patch to allow building with an installed IcedTea6 as the bootstrap JDK: patch -Np1 -i ../icedtea6-1.9.7-upstream_fixes-1.patch Apply a patch to generate a valid cacerts file using the system CA certificates: patch -Np1 -i ../icedtea6-1.9.7-generate_cacerts-1.patch Apply a patch to fix the build when using a newer version of Xerces2: patch -Np1 -i ../icedtea6-1.9.7-xerces2_10-1.patch Apply a patch to replace fixed paths with ones appropriate for BLFS: patch -Np1 -i ../icedtea6-1.9.7-fixed_paths-1.patch Configure and build the package with the following commands: unset JAVA_HOME && ./autogen.sh && ./configure --with-jdk-home=/opt/icedtea6-1.9.7-bin \ --enable-cacerts \ --disable-plugin \ --disable-webstart && make To test the results, issue: make check. The included version of jtreg is old, and the test suite is also very dependent on the host system. You should expect to see 6 or 7 failures and 1 error in the langtools tests, and 20 to 23 failures in jdk with up to 3 errors. The other 4700+ tests should pass. The reason for the variable results is due to different architechtures, versions of dependent libraries, and even the CA certificates used to generate the cacerts file. Install the package with the following commands as the root user: cp -R openjdk.build/j2sdk-image /opt/icedtea6-1.9.7 && chown -R root:root /opt/icedtea6-1.9.7 On 8/30/11, Dr Andrew John Hughes wrote: > On 14:04 Tue 30 Aug , the mad doctor kaeding wrote: >> I am trying to compile icedtea6 with itself, but get errors. >> I tried 1.9.7, and 1.10.x, with same results, but different >> numbers of errors. >> >> What am I doing wrong? >> >> Thank you >> >> Thomas >> >> ---------- >> > > I don't know because you don't give enough information here. We > at least need config.log and what is being used in bootstrap/jdk1.6.0. > > At a guess, it looks like you're using a bootstrap JDK that has newer > classes than the one being built. > > The second stage of the build builds the JDK again with itself, so that > is regularly tested. > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and IcedTea > http://www.gnu.org/software/classpath > http://icedtea.classpath.org > PGP Key: F5862A37 (https://keys.indymedia.org/) > Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 > From dj at linuxfromscratch.org Sat Sep 3 00:16:50 2011 From: dj at linuxfromscratch.org (DJ Lucas) Date: Sat, 03 Sep 2011 02:16:50 -0500 Subject: icedtea6 cannot compile itself In-Reply-To: References: <20110831022733.GB29544@rivendell.middle-earth.co.uk> Message-ID: <4E61D462.9050907@linuxfromscratch.org> On 09/02/2011 11:57 AM, the mad doctor kaeding wrote: > Seriously? Not enough information? > No. You failed to provide any information on the host distribution, the build environment, configure arguments, etc. Building a large project such as IcedTea from source is a big undertaking, with many options. You need to first make certain that your build environment is at least relatively sane, something that we are unable to determine without you providing the information necessary to make that determination. > I'm following the instructions on > http://www.linuxfromscratch.org/blfs/view/svn/general/icedtea6.html > It instructs me to download icedtea6-1.9.7 binary and use it to > compile icedtea6-1.9.7 from source. I tried using the exact downloads > that that page links to, and get errors that some methods have the > same erasure as others, and the compilation fails (see my original > message). I tried using newer downloads, with the same types of > errors, but a different number of them. > > If I don't know what files to download to get a successful compilation, > would you please send me a list of the correct ones? Thank you. In the future, please first direct support questions to a related support list for your distribution. In this case, since your question is related to BLFS instructions, you should first try the BLFS suport list at blfs-support at linuxfromscratch.org so that they can be evaluated by the appropriate support community before requesting help from upstream developers. If the inquiry is relevant to the upstream developers, you will be directed there by the support community. The build errors and the last few lines of make's output prior to any error should be sufficient context to assist in determining a build problem for most projects. The complete output of the 'set' command might also be a useful first step toward evaluating your build environment. HTH -- DJ Lucas -- This message has been scanned for viruses and dangerous content, and is believed to be clean. From ptisnovs at icedtea.classpath.org Mon Sep 5 02:26:33 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 05 Sep 2011 09:26:33 +0000 Subject: /hg/gfx-test: * Makefile: added new classes to compile Message-ID: changeset 49478d158096 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=49478d158096 author: Pavel Tisnovsky date: Mon Sep 05 11:28:26 2011 +0200 * Makefile: added new classes to compile * src/org/gfxtest/framework/CommonRenderingStyles.java: Added methods supporting rendering shapes filled by linear gradient paint. * src/org/gfxtest/testsuites/LinearGradientPaint.java: Added new test suite containing 16 new gfx.tests. diffstat: ChangeLog | 8 + Makefile | 10 +- src/org/gfxtest/framework/CommonRenderingStyles.java | 270 ++++++++++++ src/org/gfxtest/testsuites/LinearGradientPaint.java | 419 +++++++++++++++++++ 4 files changed, 705 insertions(+), 2 deletions(-) diffs (truncated from 759 to 500 lines): diff -r 6c985b5ee97e -r 49478d158096 ChangeLog --- a/ChangeLog Fri Sep 02 10:39:52 2011 +0200 +++ b/ChangeLog Mon Sep 05 11:28:26 2011 +0200 @@ -1,3 +1,11 @@ +2011-09-05 Pavel Tisnovsky + * Makefile: added new classes to compile + * src/org/gfxtest/framework/CommonRenderingStyles.java: + Added methods supporting rendering shapes filled by linear gradient + paint. + * src/org/gfxtest/testsuites/LinearGradientPaint.java: + Added new test suite containing 16 new gfx.tests. + 2011-09-02 Pavel Tisnovsky * src/org/gfxtest/testsuites/SpecialCases.java: Added 6 new test cases, added JavaDoc to existing test cases. diff -r 6c985b5ee97e -r 49478d158096 Makefile --- a/Makefile Fri Sep 02 10:39:52 2011 +0200 +++ b/Makefile Mon Sep 05 11:28:26 2011 +0200 @@ -130,7 +130,10 @@ $(CLASSES)/$(TESTSUITE_DIR)/DashedRectangles.class \ $(CLASSES)/$(TESTSUITE_DIR)/DashedRoundRectangles.class \ $(CLASSES)/$(TESTSUITE_DIR)/PathsFromLines.class \ - $(CLASSES)/$(TESTSUITE_DIR)/SpecialCases.class + $(CLASSES)/$(TESTSUITE_DIR)/SpecialCases.class \ + $(CLASSES)/$(TESTSUITE_DIR)/GradientPaint.class \ + $(CLASSES)/$(TESTSUITE_DIR)/LinearGradientPaint.class \ + $(CLASSES)/$(TESTSUITE_DIR)/RadialGradientPaint.class COMPARE_RESULTS = \ $(RESULTS)/AALines \ @@ -167,7 +170,10 @@ $(RESULTS)/DashedRectangles \ $(RESULTS)/DashedRoundRectangles \ $(RESULTS)/PathsFromLines \ - $(RESULTS)/SpecialCases + $(RESULTS)/SpecialCases \ + $(RESULTS)/GradientPaint \ + $(RESULTS)/LinearGradientPaint \ + $(RESULTS)/RadialGradientPaint # targets for all test suites TESTSUITES = $(shell ls -1 src/org/gfxtest/testsuites | sed -n -e 's/\([A-Za-z0-9]*\)\.java/\1/p') diff -r 6c985b5ee97e -r 49478d158096 src/org/gfxtest/framework/CommonRenderingStyles.java --- a/src/org/gfxtest/framework/CommonRenderingStyles.java Fri Sep 02 10:39:52 2011 +0200 +++ b/src/org/gfxtest/framework/CommonRenderingStyles.java Mon Sep 05 11:28:26 2011 +0200 @@ -44,6 +44,7 @@ import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics2D; +import java.awt.LinearGradientPaint; import java.awt.RadialGradientPaint; import java.awt.MultipleGradientPaint.CycleMethod; @@ -88,6 +89,21 @@ private static final Color DEFAULT_GRADIENT_PAINT_SECOND_COLOR = Color.YELLOW; /** + * Default linear gradient paint first color. + */ + private static final Color DEFAULT_LINEAR_GRADIENT_PAINT_FIRST_COLOR = Color.RED; + + /** + * Default linear gradient paint second color. + */ + private static final Color DEFAULT_LINEAR_GRADIENT_PAINT_SECOND_COLOR = Color.WHITE; + + /** + * Default linear gradient paint third color. + */ + private static final Color DEFAULT_LINEAR_GRADIENT_PAINT_THIRD_COLOR = Color.BLUE; + + /** * Default radial gradient paint first color. */ private static final Color DEFAULT_RADIAL_GRADIENT_PAINT_FIRST_COLOR = Color.RED; @@ -429,6 +445,260 @@ } /** + * Set horizontal linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + */ + public static void setHorizontalLinearGradientFill(TestImage image, Graphics2D graphics) + { + setHorizontalLinearGradientFill(image, graphics, DEFAULT_LINEAR_GRADIENT_PAINT_FIRST_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_SECOND_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_THIRD_COLOR); + } + + /** + * Set horizontal linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param offset + * offset between shape border and edge of horizontal gradient, + * positive offset: gradient is narrower, negative offset: + * gradient is broader + */ + public static void setHorizontalLinearGradientFill(TestImage image, Graphics2D graphics, int offset) + { + setHorizontalLinearGradientFill(image, graphics, DEFAULT_LINEAR_GRADIENT_PAINT_FIRST_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_SECOND_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_THIRD_COLOR, offset); + } + + /** + * Set horizontal linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param color1 + * color set for the first edge of gradient fill + * @param color2 + * color set for the second edge of gradient fill + * @param color3 + * color set for the third edge of gradient fill + */ + public static void setHorizontalLinearGradientFill(TestImage image, Graphics2D graphics, Color color1, Color color2, Color color3) + { + setHorizontalLinearGradientFill(image, graphics, color1, color2, color3, 0); + } + + /** + * Set horizontal linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param color1 + * color set for the first edge of gradient fill + * @param color2 + * color set for the second edge of gradient fill + * @param color3 + * color set for the third edge of gradient fill + * @param offset + * offset between shape border and edge of horizontal gradient + */ + public static void setHorizontalLinearGradientFill(TestImage image, Graphics2D graphics, Color color1, Color color2, Color color3, int offset) + { + // calculate center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + + // calculate radius of circle + int radius = CommonShapesRenderer.calculateRadius(image); + + float[] fractions = { 0.0f, 0.5f, 1.0f }; + Color[] colors = { color1, color2, color3 }; + + LinearGradientPaint linearGradientPaint = new LinearGradientPaint(xc - radius + offset, yc, xc + radius - offset, yc, fractions, colors); + graphics.setPaint(linearGradientPaint); + } + + /** + * Set vertical linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + */ + public static void setVerticalLinearGradientFill(TestImage image, Graphics2D graphics) + { + setVerticalLinearGradientFill(image, graphics, DEFAULT_LINEAR_GRADIENT_PAINT_FIRST_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_SECOND_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_THIRD_COLOR); + } + + /** + * Set vertical linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param offset + * offset between shape border and edge of horizontal gradient, + * positive offset: gradient is narrower, negative offset: + * gradient is broader + */ + public static void setVerticalLinearGradientFill(TestImage image, Graphics2D graphics, int offset) + { + setVerticalLinearGradientFill(image, graphics, DEFAULT_LINEAR_GRADIENT_PAINT_FIRST_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_SECOND_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_THIRD_COLOR, offset); + } + + /** + * Set vertical linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param color1 + * color set for the first edge of gradient fill + * @param color2 + * color set for the second edge of gradient fill + * @param color3 + * color set for the third edge of gradient fill + */ + public static void setVerticalLinearGradientFill(TestImage image, Graphics2D graphics, Color color1, Color color2, Color color3) + { + setVerticalLinearGradientFill(image, graphics, color1, color2, color3, 0); + } + + /** + * Set vertical linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param color1 + * color set for the first edge of gradient fill + * @param color2 + * color set for the second edge of gradient fill + * @param color3 + * color set for the third edge of gradient fill + * @param offset + * offset between shape border and edge of horizontal gradient + */ + public static void setVerticalLinearGradientFill(TestImage image, Graphics2D graphics, Color color1, Color color2, Color color3, int offset) + { + // calculate center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + + // calculate radius of circle + int radius = CommonShapesRenderer.calculateRadius(image); + + float[] fractions = { 0.0f, 0.5f, 1.0f }; + Color[] colors = { color1, color2, color3 }; + + LinearGradientPaint linearGradientPaint = new LinearGradientPaint(xc, yc - radius + offset, xc, yc + radius - offset, fractions, colors); + graphics.setPaint(linearGradientPaint); + } + + /** + * Set diagonal linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + */ + public static void setDiagonalLinearGradientFill(TestImage image, Graphics2D graphics) + { + setDiagonalLinearGradientFill(image, graphics, DEFAULT_LINEAR_GRADIENT_PAINT_FIRST_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_SECOND_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_THIRD_COLOR); + } + + /** + * Set diagonal linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param offset + * offset between shape border and edge of horizontal gradient, + * positive offset: gradient is narrower, negative offset: + * gradient is broader + */ + public static void setDiagonalLinearGradientFill(TestImage image, Graphics2D graphics, int offset) + { + setDiagonalLinearGradientFill(image, graphics, DEFAULT_LINEAR_GRADIENT_PAINT_FIRST_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_SECOND_COLOR, DEFAULT_LINEAR_GRADIENT_PAINT_THIRD_COLOR, offset); + } + + /** + * Set diagonal linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param color1 + * color set for the first edge of gradient fill + * @param color2 + * color set for the second edge of gradient fill + * @param color3 + * color set for the third edge of gradient fill + */ + public static void setDiagonalLinearGradientFill(TestImage image, Graphics2D graphics, Color color1, Color color2, Color color3) + { + setDiagonalLinearGradientFill(image, graphics, color1, color2, color3, 0); + } + + /** + * Set diagonal linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param color1 + * color set for the first edge of gradient fill + * @param color2 + * color set for the second edge of gradient fill + * @param color3 + * color set for the third edge of gradient fill + * @param offset + * offset between shape border and edge of horizontal gradient + */ + public static void setDiagonalLinearGradientFill(TestImage image, Graphics2D graphics, Color color1, Color color2, Color color3, int offset) + { + // sin 45 = cos 45 = 0.707f + final double SIN_COS_45 = Math.cos(Math.PI / 4); + + // calculate center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + + // calculate radius of circle + int radius = CommonShapesRenderer.calculateRadius(image); + int r2 = (int)(radius * SIN_COS_45 ); + int delta = (int) (offset * SIN_COS_45); + + // compute end points used for diagonal fill + int x1 = xc - r2 + delta; + int y1 = yc - r2 + delta; + int x2 = xc + r2 - delta; + int y2 = yc + r2 - delta; + + float[] fractions = { 0.0f, 0.5f, 1.0f }; + Color[] colors = { color1, color2, color3 }; + + LinearGradientPaint linearGradientPaint = new LinearGradientPaint(x1, y1, x2, y2, fractions, colors); + graphics.setPaint(linearGradientPaint); + } + + /** * Set radial gradient fill for given graphics context. * * @param image diff -r 6c985b5ee97e -r 49478d158096 src/org/gfxtest/testsuites/LinearGradientPaint.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/LinearGradientPaint.java Mon Sep 05 11:28:26 2011 +0200 @@ -0,0 +1,419 @@ +/* + Java gfx-test framework + + Copyright (C) 2010, 2011 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.Graphics2D; + + + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + +/** + * This test renders filled shapes using linear gradient paint. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class LinearGradientPaint extends GfxTest +{ + /** + * Test if circle drawn by graphics.drawOval() is rendered correctly. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCircleLinearGradientEmptyFill(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // draw the circle + CommonShapesRenderer.drawCircle(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled circle drawn by graphics.fillOval() is rendered correctly. + * Horizontal gradient paint is used for filling this circle. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCircleHorizontalLinearGradientFill(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setHorizontalLinearGradientFill(image, graphics); + // draw the circle + CommonShapesRenderer.drawFilledCircle(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled circle drawn by graphics.fillOval() is rendered correctly. + * Horizontal gradient paint is used for filling this circle. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCircleHorizontalLinearGradientFillPositiveOffset1(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setHorizontalLinearGradientFill(image, graphics, image.getWidth() / 16); + // draw the circle + CommonShapesRenderer.drawFilledCircle(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled circle drawn by graphics.fillOval() is rendered correctly. + * Horizontal gradient paint is used for filling this circle. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCircleHorizontalLinearGradientFillPositiveOffset2(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setHorizontalLinearGradientFill(image, graphics, image.getWidth() / 6); + // draw the circle + CommonShapesRenderer.drawFilledCircle(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled circle drawn by graphics.fillOval() is rendered correctly. + * Horizontal gradient paint is used for filling this circle. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCircleHorizontalLinearGradientFillNegativeOffset1(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color From xranby at icedtea.classpath.org Mon Sep 5 03:41:58 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 05 Sep 2011 10:41:58 +0000 Subject: /hg/icedtea6: 2011-09-05 Xerxes Ranby Message-ID: changeset fc183654bed3 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fc183654bed3 author: Xerxes Ranby date: Mon Sep 05 12:45:12 2011 +0200 2011-09-05 Xerxes Ranby JamVM - armhf: ensure stack is 8 byte aligned. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-09-03 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 9 +++++++++ Makefile.am | 4 ++-- NEWS | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diffs (41 lines): diff -r c7dfe2b4791e -r fc183654bed3 ChangeLog --- a/ChangeLog Fri Sep 02 12:41:10 2011 +0200 +++ b/ChangeLog Mon Sep 05 12:45:12 2011 +0200 @@ -1,3 +1,12 @@ +2011-09-05 Xerxes R??nby + + JamVM + - armhf: ensure stack is 8 byte aligned. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-09-03 revision. + (JAMVM_SHA256SUM): Updated. + 2011-09-02 Xerxes R??nby JamVM diff -r c7dfe2b4791e -r fc183654bed3 Makefile.am --- a/Makefile.am Fri Sep 02 12:41:10 2011 +0200 +++ b/Makefile.am Mon Sep 05 12:45:12 2011 +0200 @@ -11,8 +11,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz -JAMVM_VERSION = 6a5776faa95649adae498e349da7a93b8b9fc355 -JAMVM_SHA256SUM = 1482dbd4d1ee44b6c50350904ae44debeaee72fb2fafeca6862db9fa00a04171 +JAMVM_VERSION = 12d05e620a9fda129925104bc848014f91d971db +JAMVM_SHA256SUM = b7e3999f5b46cfddcf717b2d06460d34167fe9eb3b306a311f1df6d31b99ef32 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz diff -r c7dfe2b4791e -r fc183654bed3 NEWS --- a/NEWS Fri Sep 02 12:41:10 2011 +0200 +++ b/NEWS Mon Sep 05 12:45:12 2011 +0200 @@ -384,6 +384,7 @@ - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. - LP827463: Fix OpenJDK enclosingMethodInfo(). - Add support for armhf. + - armhf: ensure stack is 8 byte aligned. - "Fix" handling of CLI bootclasspath options. - Fix for StackTraceElement checkin. - Ignore assertions and verify options. From xranby at icedtea.classpath.org Mon Sep 5 03:56:11 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 05 Sep 2011 10:56:11 +0000 Subject: /hg/icedtea7: JamVM: armhf: ensure stack is 8 byte aligned. Message-ID: changeset 8e4f97b246e8 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=8e4f97b246e8 author: Xerxes Ranby date: Mon Sep 05 12:59:28 2011 +0200 JamVM: armhf: ensure stack is 8 byte aligned. 2011-09-05 Xerxes R?nby JamVM - armhf: ensure stack is 8 byte aligned. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-09-03 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 9 +++++++++ Makefile.am | 4 ++-- NEWS | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diffs (41 lines): diff -r a8ba0d7cfa93 -r 8e4f97b246e8 ChangeLog --- a/ChangeLog Fri Sep 02 13:17:30 2011 +0200 +++ b/ChangeLog Mon Sep 05 12:59:28 2011 +0200 @@ -1,3 +1,12 @@ +2011-09-05 Xerxes R??nby + + JamVM + - armhf: ensure stack is 8 byte aligned. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-09-03 revision. + (JAMVM_SHA256SUM): Updated. + 2011-09-02 Xerxes R??nby JamVM diff -r a8ba0d7cfa93 -r 8e4f97b246e8 Makefile.am --- a/Makefile.am Fri Sep 02 13:17:30 2011 +0200 +++ b/Makefile.am Mon Sep 05 12:59:28 2011 +0200 @@ -24,8 +24,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.bz2 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 -JAMVM_VERSION = 6a5776faa95649adae498e349da7a93b8b9fc355 -JAMVM_SHA256SUM = 1482dbd4d1ee44b6c50350904ae44debeaee72fb2fafeca6862db9fa00a04171 +JAMVM_VERSION = 12d05e620a9fda129925104bc848014f91d971db +JAMVM_SHA256SUM = b7e3999f5b46cfddcf717b2d06460d34167fe9eb3b306a311f1df6d31b99ef32 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz diff -r a8ba0d7cfa93 -r 8e4f97b246e8 NEWS --- a/NEWS Fri Sep 02 13:17:30 2011 +0200 +++ b/NEWS Mon Sep 05 12:59:28 2011 +0200 @@ -34,6 +34,7 @@ - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. - LP827463: Fix OpenJDK enclosingMethodInfo(). - Add support for armhf. + - armhf: ensure stack is 8 byte aligned. - "Fix" handling of CLI bootclasspath options. - Fix for StackTraceElement checkin. - Fix typo in definition of ACC_MIRANDA. From xranby at icedtea.classpath.org Mon Sep 5 03:57:53 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 05 Sep 2011 10:57:53 +0000 Subject: /hg/icedtea: JamVM: armhf: ensure stack is 8 byte aligned. Message-ID: changeset 71b9632774f8 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=71b9632774f8 author: Xerxes Ranby date: Mon Sep 05 13:01:15 2011 +0200 JamVM: armhf: ensure stack is 8 byte aligned. 2011-09-05 Xerxes Ranby JamVM - armhf: ensure stack is 8 byte aligned. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-09-03 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 9 +++++++++ Makefile.am | 4 ++-- NEWS | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diffs (41 lines): diff -r 4141f7541748 -r 71b9632774f8 ChangeLog --- a/ChangeLog Fri Sep 02 13:25:39 2011 +0200 +++ b/ChangeLog Mon Sep 05 13:01:15 2011 +0200 @@ -1,3 +1,12 @@ +2011-09-05 Xerxes R??nby + + JamVM + - armhf: ensure stack is 8 byte aligned. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-09-03 revision. + (JAMVM_SHA256SUM): Updated. + 2011-09-02 Xerxes R??nby JamVM diff -r 4141f7541748 -r 71b9632774f8 Makefile.am --- a/Makefile.am Fri Sep 02 13:25:39 2011 +0200 +++ b/Makefile.am Mon Sep 05 13:01:15 2011 +0200 @@ -24,8 +24,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.bz2 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 -JAMVM_VERSION = 6a5776faa95649adae498e349da7a93b8b9fc355 -JAMVM_SHA256SUM = 1482dbd4d1ee44b6c50350904ae44debeaee72fb2fafeca6862db9fa00a04171 +JAMVM_VERSION = 12d05e620a9fda129925104bc848014f91d971db +JAMVM_SHA256SUM = b7e3999f5b46cfddcf717b2d06460d34167fe9eb3b306a311f1df6d31b99ef32 JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz diff -r 4141f7541748 -r 71b9632774f8 NEWS --- a/NEWS Fri Sep 02 13:25:39 2011 +0200 +++ b/NEWS Mon Sep 05 13:01:15 2011 +0200 @@ -19,6 +19,7 @@ - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. - LP827463: Fix OpenJDK enclosingMethodInfo(). - Add support for armhf. + - armhf: ensure stack is 8 byte aligned. - "Fix" handling of CLI bootclasspath options. - Fix for StackTraceElement checkin. - Fix typo in definition of ACC_MIRANDA. From xranby at icedtea.classpath.org Mon Sep 5 04:39:43 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 05 Sep 2011 11:39:43 +0000 Subject: /hg/buildbot: f3j, f3c, f3s: addStep check-hotspot. Message-ID: changeset 2b56af735fa6 in /hg/buildbot details: http://icedtea.classpath.org/hg/buildbot?cmd=changeset;node=2b56af735fa6 author: Xerxes Ranby date: Mon Sep 05 13:41:42 2011 +0200 f3j, f3c, f3s: addStep check-hotspot. f3a5: addStep killall, to remove all testing zombies that slow-down the system and cause build timeouts. diffstat: icedtea/master.cfg | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diffs (43 lines): diff -r 4490440ca358 -r 2b56af735fa6 icedtea/master.cfg --- a/icedtea/master.cfg Thu Aug 11 13:00:04 2011 +0200 +++ b/icedtea/master.cfg Mon Sep 05 13:41:42 2011 +0200 @@ -320,6 +320,9 @@ "--enable-jamvm"], workdir="build")) f3j.addStep(Compile(workdir="build")) +f3j.addStep(JTRegCheck(command=["make", "check-hotspot"], + description="check-hotspot", + workdir="build")) f3j.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) @@ -338,6 +341,9 @@ "--enable-cacao"], workdir="build")) f3c.addStep(Compile(workdir="build")) +f3c.addStep(JTRegCheck(command=["make", "check-hotspot"], + description="check-hotspot", + workdir="build")) f3c.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) @@ -356,6 +362,9 @@ "--enable-shark"], workdir="build")) f3s.addStep(Compile(workdir="build")) +f3s.addStep(JTRegCheck(command=["make", "check-hotspot"], + description="check-hotspot", + workdir="build")) f3s.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) @@ -595,6 +604,9 @@ f3a5.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) +f3a5.addStep(ShellCommand(command=["killall", "-kill", "java"], + workdir=".", + description="killall")) f3a5.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=1", From xranby at icedtea.classpath.org Mon Sep 5 09:36:51 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 05 Sep 2011 16:36:51 +0000 Subject: /hg/buildbot: correct killall -s KILL java argument Message-ID: changeset 51a64788c03b in /hg/buildbot details: http://icedtea.classpath.org/hg/buildbot?cmd=changeset;node=51a64788c03b author: Xerxes Ranby date: Mon Sep 05 18:40:06 2011 +0200 correct killall -s KILL java argument diffstat: icedtea/master.cfg | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 2b56af735fa6 -r 51a64788c03b icedtea/master.cfg --- a/icedtea/master.cfg Mon Sep 05 13:41:42 2011 +0200 +++ b/icedtea/master.cfg Mon Sep 05 18:40:06 2011 +0200 @@ -604,7 +604,7 @@ f3a5.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) -f3a5.addStep(ShellCommand(command=["killall", "-kill", "java"], +f3a5.addStep(ShellCommand(command=["killall", "-s", "KILL", "java"], workdir=".", description="killall")) f3a5.addStep(Configure(command=["../src/configure", From bugzilla-daemon at icedtea.classpath.org Mon Sep 5 09:54:13 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 05 Sep 2011 16:54:13 +0000 Subject: [Bug 782] New: Please support building against npapi-sdk as well Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 Summary: Please support building against npapi-sdk as well Product: IcedTea-Web Version: hg Platform: all OS/Version: Linux Status: NEW Severity: enhancement Priority: P5 Component: Plugin AssignedTo: dbhole at redhat.com ReportedBy: mgorny at gentoo.org CC: unassigned at icedtea.classpath.org Created an attachment (id=566) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=566) A simple patch to support npapi-sdk NPAPI-SDK [1] is a package providing a tiny set of NPAPI headers. It is used by a few browsers already. We [Gentoo] are working on making that package used by plugins as well. That's why the project was temporarily forked [2] to a version providing a pkg-config file for it. We're going to have that patches pushed in the next few days, so we are already pinging upstreams to prepare their buildsystems. We will be also working on removing the relevant headers from Mozilla products and making them reuse NPAPI-SDK as well. Packages building against NPAPI should use 'npapi-sdk' pkg-config package. If it's necessary to perform any kind of version check, the SDK package version will correspond to NPAPI version, and that version should be checked (rather than libxul/firefox version). I'm attaching a quick patch which makes icedtea-web build fine with npapi-sdk. Considering that the work is done on npapi-sdk 0.27, which corresponds to Firefox 6.0/xulrunner 2.0, I've added a little hack to omit libxul version check. Of course, it would be more correct if the code used NPAPI versions instead. [1]:http://code.google.com/p/npapi-sdk/ [2]:https://github.com/mgorny/npapi-sdk/ -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From ptisnovs at icedtea.classpath.org Tue Sep 6 02:37:23 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 06 Sep 2011 09:37:23 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/LinearGradientPaint.j... Message-ID: changeset b92ad5c954c0 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=b92ad5c954c0 author: Pavel Tisnovsky date: Tue Sep 06 11:39:17 2011 +0200 * src/org/gfxtest/testsuites/LinearGradientPaint.java: Added 22 new gfx. tests. * src/org/gfxtest/framework/CommonShapesRenderer.java: Added method for rendering empty rectangle. * src/org/gfxtest/framework/CommonRenderingStyles.java: Added methods supporting rendering shapes filled by gradient with various color bands. diffstat: ChangeLog | 37 + src/org/gfxtest/framework/CommonRenderingStyles.java | 115 ++++ src/org/gfxtest/framework/CommonShapesRenderer.java | 24 + src/org/gfxtest/testsuites/LinearGradientPaint.java | 501 +++++++++++++++++++ 4 files changed, 677 insertions(+), 0 deletions(-) diffs (truncated from 921 to 500 lines): diff -r 49478d158096 -r b92ad5c954c0 ChangeLog --- a/ChangeLog Mon Sep 05 11:28:26 2011 +0200 +++ b/ChangeLog Tue Sep 06 11:39:17 2011 +0200 @@ -1,4 +1,15 @@ +2011-09-06 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/LinearGradientPaint.java: + Added 22 new tests. + * src/org/gfxtest/framework/CommonShapesRenderer.java: + Added method for rendering empty rectangle. + * src/org/gfxtest/framework/CommonRenderingStyles.java: + Added methods supporting rendering shapes filled by gradient + with various color bands. + 2011-09-05 Pavel Tisnovsky + * Makefile: added new classes to compile * src/org/gfxtest/framework/CommonRenderingStyles.java: Added methods supporting rendering shapes filled by linear gradient @@ -7,10 +18,12 @@ Added new test suite containing 16 new gfx.tests. 2011-09-02 Pavel Tisnovsky + * src/org/gfxtest/testsuites/SpecialCases.java: Added 6 new test cases, added JavaDoc to existing test cases. 2011-08-19 Pavel Tisnovsky + * src/org/gfxtest/framework/CommonRenderingStyles.java: Added methods supporting rendering shapes filled by radial gradient paint. @@ -20,6 +33,7 @@ Created new test suite containing 12 new gfx.tests. 2011-08-18 Pavel Tisnovsky + * src/org/gfxtest/testsuites/GradientPaint.java: Created new test suite containing 16 new gfx.tests. * src/org/gfxtest/common/CommonShapesRenderer.java: @@ -28,6 +42,7 @@ Added methods supporting rendering shapes filled by gradient paint. 2011-08-17 Pavel Tisnovsky + * src/org/gfxtest/common/Configuration.java: Added JavaDoc. * src/org/gfxtest/framework/CommonRenderingStyles.java: @@ -39,11 +54,13 @@ Added new test cases. 2011-08-16 Pavel Tisnovsky + * src/org/gfxtest/testsuites/BlankImage.java: Added new test cases (rendering using transparency etc.), added JavaDoc. 2011-08-12 Pavel Tisnovsky + * src/org/gfxtest/testsuites/NormalQuadraticCurves.java: * src/org/gfxtest/testsuites/NormalQuadraticCurvesAsPaths.java: * src/org/gfxtest/testsuites/NormalCubicCurves.java: @@ -51,6 +68,7 @@ Refactored, added new test cases (rendering using transparency etc.) 2011-08-11 Pavel Tisnovsky + * Makefile: added new classes to compile * src/org/gfxtest/framework/CommonRenderingStyles.java: Added class containing static methods for setting various rendering @@ -62,16 +80,19 @@ Javadoc. 2011-08-09 Pavel Tisnovsky + * src/org/gfxtest/testsuites/ColorPaint.java: Created new test suite containing 12 gfx.tests. 2011-08-08 Pavel Tisnovsky + * src/org/gfxtest/testsuites/NormalQuadraticCurvesAsPaths.java: Fixed minor issues in two tests. * src/org/gfxtest/testsuites/NormalCubicCurvesAsPaths.java: Created new test suite containing 12 gfx.tests. 2011-08-05 Pavel Tisnovsky + * src/org/gfxtest/framework/CubicCurvePointSet.java: Added new methods for fetching points arrays. * src/org/gfxtest/framework/GfxTest.java: @@ -85,31 +106,37 @@ Added new test cases. 2011-08-04 Pavel Tisnovsky + * src/org/gfxtest/framework/CubicCurvePointSet.java: added * src/org/gfxtest/testsuites/NormalCubicCurves.java: Refactoring, added more test cases including special cases (multiple control points). 2011-08-04 Pavel Tisnovsky + * diff.diff: removed as it's just a garbage. * src/org/gfxtest/testsuites/NormalQuadraticCurves.java: Added new tests - drawing curves using extra width stroke. 2011-08-03 Pavel Tisnovsky + * diff.diff: removed as it's just a garbage. * src/org/gfxtest/testsuites/NormalQuadraticCurves.java: Added tests for special cases - multiple control points. 2011-08-03 Pavel Tisnovsky + * src/org/gfxtest/testsuites/ColorPalette.java: added new method * src/org/gfxtest/testsuites/NormalQuadraticCurves.java: Refactoring, added new test cases. 2011-08-02 Pavel Tisnovsky + * src/org/gfxtest/testsuites/PathsFromLines.java: created new test cases. 2011-08-01 Pavel Tisnovsky + * src/org/gfxtest/harness/ExternalCommands.java: * src/org/gfxtest/framework/GfxTestConfiguration.java: Fixed issue: each test suite can be called from command line without @@ -117,21 +144,26 @@ are used instead. Code refactoring, added missing JavaDoc. 2011-08-01 Pavel Tisnovsky + * src/org/gfxtest/harness/ExternalCommands.java: Code refactoring and added missing JavaDoc. 2011-07-29 Pavel Tisnovsky + * src/org/gfxtest/testsuites/AALines.java: improved JavaDoc. 2011-07-29 Pavel Tisnovsky + * Makefile: added new class to compile & run: PathsFromLines.java * src/org/gfxtest/testsuites/PathsFromLines.java: created new test suite containing test using Path2D class for rendering lines. 2011-07-28 Pavel Tisnovsky + * src/org/gfxtest/testsuites/NormalLines.java: added new tests 2011-07-27 Pavel Tisnovsky + * Makefile: Added new build targets - doc and clean-doc * src/org/gfxtest/framework/GfxTest.java: @@ -140,22 +172,26 @@ Fixed javadoc tool warnings, added doc to all methods and attributes. 2011-07-27 Pavel Tisnovsky + * Makefile: added new class to compile & run: NormalCubicCurves.java * src/org/gfxtest/testsuites/NormalCubicCurves.java: created Added new test suite - drawing of normal cubic curves. 2011-07-26 Pavel Tisnovsky + * src/org/gfxtest/testsuites/NormalQuadraticCurve.java: renamed * src/org/gfxtest/testsuites/NormalQuadraticCurves.java: renamed * src/org/gfxtest/testsuites/NormalQuadraticCurvesAsPaths.java: created Added new test suite - drawing of normal quadratic curves using Path2D. 2011-07-26 Pavel Tisnovsky + * Makefile: added new class to compile & run: NormalQuadraticCurve.java * src/org/gfxtest/testsuites/NormalQuadraticCurve.java: created Added new test suite - drawing of normal quadratic curves. 2011-07-22 Pavel Tisnovsky + * src/org/gfxtest/harness/PixelPanel.java: created * src/org/gfxtest/harness/MainWindow.java: Add capability of showing values of selected pixels from @@ -163,6 +199,7 @@ the selected pixel. 2011-07-21 Pavel Tisnovsky + * src/org/gfxtest/ImageDiffer/ImageUtils.java: * src/org/gfxtest/harness/MainWindow.java: Add image zooming capability into gfx-test harness. diff -r 49478d158096 -r b92ad5c954c0 src/org/gfxtest/framework/CommonRenderingStyles.java --- a/src/org/gfxtest/framework/CommonRenderingStyles.java Mon Sep 05 11:28:26 2011 +0200 +++ b/src/org/gfxtest/framework/CommonRenderingStyles.java Tue Sep 06 11:39:17 2011 +0200 @@ -518,10 +518,45 @@ // calculate radius of circle int radius = CommonShapesRenderer.calculateRadius(image); + // numbers ranging from 0.0 to 1.0 specifying the distribution of colors along the gradient float[] fractions = { 0.0f, 0.5f, 1.0f }; + + // array of colors corresponding to each fractional value Color[] colors = { color1, color2, color3 }; + // create linear gradient object LinearGradientPaint linearGradientPaint = new LinearGradientPaint(xc - radius + offset, yc, xc + radius - offset, yc, fractions, colors); + + // set fill style + graphics.setPaint(linearGradientPaint); + } + + /** + * Set horizontal linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param fractions + * numbers ranging from 0.0 to 1.0 specifying the distribution of + * colors along the gradient + * @param colors + * array of colors corresponding to each fractional value + */ + public static void setHorizontalLinearGradientFill(TestImage image, Graphics2D graphics, float[] fractions, Color[] colors) + { + // calculate center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + + // calculate radius of circle + int radius = CommonShapesRenderer.calculateRadius(image); + + // create linear gradient object + LinearGradientPaint linearGradientPaint = new LinearGradientPaint(xc - radius, yc, xc + radius, yc, fractions, colors); + + // set fill style graphics.setPaint(linearGradientPaint); } @@ -599,10 +634,45 @@ // calculate radius of circle int radius = CommonShapesRenderer.calculateRadius(image); + // numbers ranging from 0.0 to 1.0 specifying the distribution of colors along the gradient float[] fractions = { 0.0f, 0.5f, 1.0f }; + + // array of colors corresponding to each fractional value Color[] colors = { color1, color2, color3 }; + // create linear gradient object LinearGradientPaint linearGradientPaint = new LinearGradientPaint(xc, yc - radius + offset, xc, yc + radius - offset, fractions, colors); + + // set fill style + graphics.setPaint(linearGradientPaint); + } + + /** + * Set vertical linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param fractions + * numbers ranging from 0.0 to 1.0 specifying the distribution of + * colors along the gradient + * @param colors + * array of colors corresponding to each fractional value + */ + public static void setVerticalLinearGradientFill(TestImage image, Graphics2D graphics, float[] fractions, Color[] colors) + { + // calculate center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + + // calculate radius of circle + int radius = CommonShapesRenderer.calculateRadius(image); + + // create linear gradient object + LinearGradientPaint linearGradientPaint = new LinearGradientPaint(xc, yc - radius, xc, yc + radius, fractions, colors); + + // set fill style graphics.setPaint(linearGradientPaint); } @@ -691,10 +761,55 @@ int x2 = xc + r2 - delta; int y2 = yc + r2 - delta; + // numbers ranging from 0.0 to 1.0 specifying the distribution of colors along the gradient float[] fractions = { 0.0f, 0.5f, 1.0f }; + + // array of colors corresponding to each fractional value Color[] colors = { color1, color2, color3 }; + // create linear gradient object LinearGradientPaint linearGradientPaint = new LinearGradientPaint(x1, y1, x2, y2, fractions, colors); + + // set fill style + graphics.setPaint(linearGradientPaint); + } + + /** + * Set diagonal linear gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param fractions + * numbers ranging from 0.0 to 1.0 specifying the distribution of + * colors along the gradient + * @param colors + * array of colors corresponding to each fractional value + */ + public static void setDiagonalLinearGradientFill(TestImage image, Graphics2D graphics, float[] fractions, Color[] colors) + { + // sin 45 = cos 45 = 0.707f + final double SIN_COS_45 = Math.cos(Math.PI / 4); + + // calculate center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + + // calculate radius of circle + int radius = CommonShapesRenderer.calculateRadius(image); + int r2 = (int)(radius * SIN_COS_45 ); + + // compute end points used for diagonal fill + int x1 = xc - r2; + int y1 = yc - r2; + int x2 = xc + r2; + int y2 = yc + r2; + + // create linear gradient object + LinearGradientPaint linearGradientPaint = new LinearGradientPaint(x1, y1, x2, y2, fractions, colors); + + // set fill style graphics.setPaint(linearGradientPaint); } diff -r 49478d158096 -r b92ad5c954c0 src/org/gfxtest/framework/CommonShapesRenderer.java --- a/src/org/gfxtest/framework/CommonShapesRenderer.java Mon Sep 05 11:28:26 2011 +0200 +++ b/src/org/gfxtest/framework/CommonShapesRenderer.java Tue Sep 06 11:39:17 2011 +0200 @@ -155,6 +155,30 @@ } /** + * Draw rectangle onto the graphics canvas. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + */ + public static void drawRectangle(TestImage image, Graphics2D graphics) + { + // calculate center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + + // calculate size of the rectangle + int size = calculateRadius(image); + + // draw the rectangle + graphics.drawRect(xc - size, yc - size, size << 1, size << 1); + + // draw crosses at interesting points of image + drawCrossesForBasicShapes(graphics, xc, yc, size); + } + + /** * Draw filled circle onto the graphics canvas. * * @param image diff -r 49478d158096 -r b92ad5c954c0 src/org/gfxtest/testsuites/LinearGradientPaint.java --- a/src/org/gfxtest/testsuites/LinearGradientPaint.java Mon Sep 05 11:28:26 2011 +0200 +++ b/src/org/gfxtest/testsuites/LinearGradientPaint.java Tue Sep 06 11:39:17 2011 +0200 @@ -40,6 +40,7 @@ package org.gfxtest.testsuites; +import java.awt.Color; import java.awt.Graphics2D; @@ -58,6 +59,20 @@ @Zoom(1) public class LinearGradientPaint extends GfxTest { + // numbers ranging from 0.0 to 1.0 specifying the distribution of colors along the gradient + private static final float[] SpectrumFractions = { 0.0f, 1.0f/6, 2.0f/6, 3.0f/6, 4.0f/6, 5.0f/6, 1.0f }; + + // array of colors corresponding to each fractional value + private static final Color[] SpectrumColors = { + Color.MAGENTA, + Color.BLUE, + Color.CYAN, + Color.GREEN, + Color.YELLOW, + Color.ORANGE, + Color.RED + }; + /** * Test if circle drawn by graphics.drawOval() is rendered correctly. * @@ -78,6 +93,25 @@ } /** + * Test if rectangle is rendered correctly. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testRectangleLinearGradientEmptyFill(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // draw the rectangle + CommonShapesRenderer.drawRectangle(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** * Test if filled circle drawn by graphics.fillOval() is rendered correctly. * Horizontal gradient paint is used for filling this circle. * @@ -189,6 +223,29 @@ /** * Test if filled circle drawn by graphics.fillOval() is rendered correctly. + * Horizontal linear gradient paint is used for filling this circle using + * whole color spectrum. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCircleHorizontalColorSpectrum(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setHorizontalLinearGradientFill(image, graphics, SpectrumFractions, SpectrumColors); + // draw the circle + CommonShapesRenderer.drawFilledCircle(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled circle drawn by graphics.fillOval() is rendered correctly. * Vertical gradient paint is used for filling this circle. * * @param image @@ -299,6 +356,29 @@ /** * Test if filled circle drawn by graphics.fillOval() is rendered correctly. + * Vertical linear gradient paint is used for filling this circle using + * whole color spectrum. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCircleVerticalColorSpectrum(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setVerticalLinearGradientFill(image, graphics, SpectrumFractions, SpectrumColors); + // draw the circle + CommonShapesRenderer.drawFilledCircle(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled circle drawn by graphics.fillOval() is rendered correctly. * Diagonal gradient paint is used for filling this circle. * * @param image @@ -408,6 +488,427 @@ } /** + * Test if filled circle drawn by graphics.fillOval() is rendered correctly. + * Diagonal linear gradient paint is used for filling this circle using + * whole color spectrum. From bugzilla-daemon at icedtea.classpath.org Tue Sep 6 07:14:01 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 06 Sep 2011 14:14:01 +0000 Subject: [Bug 783] Jboss server instance is suddenly shutting down.. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=783 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |unassigned at icedtea.classpath | |.org, xerxes at zafena.se AssignedTo|neugens at limasoftware.net |ahughes at redhat.com Severity|major |normal Component|IcedRobot |IcedTea7 OS/Version|Solaris |Linux Priority|P5 |P1 Product|IcedRobot |IcedTea Platform|all |x86_64 Version|unspecified |7-1.6 --- Comment #1 from Xerxes R?nby 2011-09-06 14:14:00 --- Moving bug from the IcedRobot to the IcedTea project. I have checked your log: vm_info: OpenJDK 64-Bit Server VM (1.6.0-b09) for linux-amd64 JRE (1.6.0-b09), built on Dec 16 2008 12:10:53 by "mockbuild" with gcc 4.1.2 20080704 (Red Hat 4.1.2-44) Please check with Red Hat if they provide a more recent version of OpenJDK built using icedtea6 version 1.8 or later that have been tested on: OS:Red Hat Enterprise Linux Server release 5.3 (Tikanga) I noticed that the crash happened in the debug routines of your VM, if possible try remove -Dsun.jvm.hotspot.debugger.useProcDebugger and -Dsun.jvm.hotspot.debugger.useWindbgDebugger from the command line. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Tue Sep 6 07:16:17 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 06 Sep 2011 14:16:17 +0000 Subject: [Bug 783] Jboss server instance is suddenly shutting down.. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=783 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- CC|icedrobot- | |dev at icedtea.classpath.org | Priority|P1 |P5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From andrew at icedtea.classpath.org Tue Sep 6 08:06:43 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 06 Sep 2011 15:06:43 +0000 Subject: /hg/icedtea7: Integrate updated system library provisioning for ... Message-ID: changeset 0af3b9f0e92e in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=0af3b9f0e92e author: Andrew John Hughes date: Tue Sep 06 16:06:22 2011 +0100 Integrate updated system library provisioning for zlib, libpng, libjpeg and giflib. PR770: Zero 7033954 regression: missing mapfile 2011-09-06 Andrew John Hughes * patches/hotspot-gcc-pr36917.patch: Redundant, was removed from IcedTea6. * patches/libraries.patch, * patches/linker-libs-order.patch, * patches/pr261.patch: Updated and recreated in the IcedTea7 forest. * Makefile.am: (JDK_CHANGESET): Updated. (JDK_SHA256SUM): Likewise. (ICEDTEA_PATCHES): Remove above. (ICEDTEA_ENV): Set ZLIB_LIBS, ZLIB_CFLAGS, USE_SYSTEM_ZLIB, JPEG_LIBS, JPEG_CFLAGS, USE_SYSTEM_JPEG, PNG_LIBS, PNG_CFLAGS, USE_SYSTEM_PNG, GIF_LIBS, GIF_CFLAGS, USE_SYSTEM_GIF. * NEWS: Mention new system library provision and cleanup ordering. Mention fix for PR770. * acinclude.m4: (IT_CHECK_FOR_ZLIB): New macro to check for zlib. (IT_CHECK_FOR_JPEG): Likewise for libjpeg. (IT_CHECK_FOR_PNG): Likewise for libpng. (IT_CHECK_FOR_GIF): Likewise for giflib. * configure.ac: Remove old AC_CHECK_LIB calls for jpeg, gif and zlib and PKG_CHECK_MODULES call for libpng. Add calls to new macros above. * remove-intree-libraries.sh.in: Make removal of zlib, libpng, giflib and libjpeg files dependent on whether or not the system versions are used (the default). diffstat: ChangeLog | 33 + Makefile.am | 36 +- NEWS | 4 +- acinclude.m4 | 102 +++ configure.ac | 27 +- patches/hotspot-gcc-pr36917.patch | 8 - patches/libraries.patch | 1257 ------------------------------------- patches/linker-libs-order.patch | 52 - patches/pr261.patch | 38 - remove-intree-libraries.sh.in | 73 +- 10 files changed, 195 insertions(+), 1435 deletions(-) diffs (truncated from 1797 to 500 lines): diff -r 8e4f97b246e8 -r 0af3b9f0e92e ChangeLog --- a/ChangeLog Mon Sep 05 12:59:28 2011 +0200 +++ b/ChangeLog Tue Sep 06 16:06:22 2011 +0100 @@ -1,3 +1,36 @@ +2011-09-06 Andrew John Hughes + + * patches/hotspot-gcc-pr36917.patch: + Redundant, was removed from IcedTea6. + * patches/libraries.patch, + * patches/linker-libs-order.patch, + * patches/pr261.patch: + Updated and recreated in the IcedTea7 forest. + * Makefile.am: + (JDK_CHANGESET): Updated. + (JDK_SHA256SUM): Likewise. + (ICEDTEA_PATCHES): Remove above. + (ICEDTEA_ENV): Set ZLIB_LIBS, ZLIB_CFLAGS, + USE_SYSTEM_ZLIB, JPEG_LIBS, JPEG_CFLAGS, + USE_SYSTEM_JPEG, PNG_LIBS, PNG_CFLAGS, + USE_SYSTEM_PNG, GIF_LIBS, GIF_CFLAGS, + USE_SYSTEM_GIF. + * NEWS: Mention new system library provision + and cleanup ordering. Mention fix for PR770. + * acinclude.m4: + (IT_CHECK_FOR_ZLIB): New macro to check for zlib. + (IT_CHECK_FOR_JPEG): Likewise for libjpeg. + (IT_CHECK_FOR_PNG): Likewise for libpng. + (IT_CHECK_FOR_GIF): Likewise for giflib. + * configure.ac: + Remove old AC_CHECK_LIB calls for jpeg, gif + and zlib and PKG_CHECK_MODULES call for libpng. + Add calls to new macros above. + * remove-intree-libraries.sh.in: + Make removal of zlib, libpng, giflib and libjpeg + files dependent on whether or not the system versions + are used (the default). + 2011-09-05 Xerxes R??nby JamVM diff -r 8e4f97b246e8 -r 0af3b9f0e92e Makefile.am --- a/Makefile.am Mon Sep 05 12:59:28 2011 +0200 +++ b/Makefile.am Tue Sep 06 16:06:22 2011 +0100 @@ -6,7 +6,7 @@ HOTSPOT_CHANGESET = 1dd9b3d73b22 JAXP_CHANGESET = c40983d6ae70 JAXWS_CHANGESET = 83db5e316798 -JDK_CHANGESET = e46d527097f1 +JDK_CHANGESET = db7a2639858b LANGTOOLS_CHANGESET = fb7fb3071b64 OPENJDK_CHANGESET = 3defd24c2671 @@ -14,7 +14,7 @@ HOTSPOT_SHA256SUM = ffb1831a63e950bb7ade46a5382cb71d2603e0f40b3f758eb346833e18fca150 JAXP_SHA256SUM = 6ab0cab1965edb28e4093b55436abd04fbffe0b0251016043c75246c4ee9dc2d JAXWS_SHA256SUM = 5567c90ce2857016365b2e346783a3b16ec0e76b80586a0371f601b4fed01f21 -JDK_SHA256SUM = 0cd074fb2400c95d013373847b5c52bb13997acbb6530507e384856583e1abd4 +JDK_SHA256SUM = 81b510c80f3af0a1cd19704c616a68ff131362b517996ae65cb91c9a5849fcdc LANGTOOLS_SHA256SUM = 9ddc00ec50fd2f5e331dc2bc10da4e23b69bf644eb92d50b39a2003c18fb5aa1 OPENJDK_SHA256SUM = 4043a75c2c4385dd735f8dbbf2369311ce1b951217c9dbe9bba9609e24eb291e @@ -246,13 +246,11 @@ # Patch list ICEDTEA_PATCHES = \ - patches/libraries.patch \ patches/debian/uname.patch \ patches/sparc-ptracefix.patch \ patches/sparc-trapsfix.patch \ patches/override-redirect-metacity.patch \ patches/security-updates.patch \ - patches/hotspot-gcc-pr36917.patch \ patches/alpha-fixes.patch \ patches/alt-jar.patch \ patches/use-idx_t.patch \ @@ -262,9 +260,7 @@ patches/signed-types.patch \ patches/lc_ctype.patch \ patches/tests-jdk.patch \ - patches/linker-libs-order.patch \ patches/samejvm-safe.patch \ - patches/pr261.patch \ patches/parisc-opt.patch \ patches/security/6592792.patch \ patches/security/6733959.patch \ @@ -515,6 +511,13 @@ RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar" endif +if USE_SYSTEM_ZLIB +ICEDTEA_ENV += \ + USE_SYSTEM_ZLIB="true" \ + ZLIB_LIBS="${ZLIB_LIBS}" \ + ZLIB_CFLAGS="${ZLIB_CFLAGS}" +endif + if USE_SYSTEM_LCMS ICEDTEA_ENV += \ USE_SYSTEM_LCMS="true" \ @@ -522,6 +525,27 @@ 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 + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ diff -r 8e4f97b246e8 -r 0af3b9f0e92e NEWS --- a/NEWS Mon Sep 05 12:59:28 2011 +0200 +++ b/NEWS Tue Sep 06 16:06:22 2011 +0100 @@ -13,10 +13,11 @@ New in release 2.0 (2011-XX-XX): * Bug fixes - - PR767: Annotation Processing Filer.getResource() always throws FileNotFoundException - Allow the compiler used to be overridden by setting BUILD_GCC/BUILD_CPP. - Fixed regression test runtime/7020373. + - Convert to optional system library usage via USE_SYSTEM_ZLIB/JPEG/PNG/GIF. - PR586: Add missing sources to src.zip. + - PR767: Annotation Processing Filer.getResource() always throws FileNotFoundException - G356743: Support building against libpng 1.5. - S7070134: Hotspot crashes with sigsegv from PorterStemmer - S7044738: Loop unroll optimization causes incorrect result @@ -25,6 +26,7 @@ * Zero/Shark - PR757, 7066143: 7009309 regression: x86 stubRoutines - PR753, 7066143: 7009923 regression + - PR770: Zero 7033954 regression: missing mapfile - methodHandles_zero missing. - sharkContext typo in assert - sharedRuntime needs rework after indy reorg diff -r 8e4f97b246e8 -r 0af3b9f0e92e acinclude.m4 --- a/acinclude.m4 Mon Sep 05 12:59:28 2011 +0200 +++ b/acinclude.m4 Tue Sep 06 16:06:22 2011 +0100 @@ -1956,6 +1956,108 @@ AC_SUBST(ENABLE_SYSTEM_LCMS) ]) +AC_DEFUN_ONCE([IT_CHECK_FOR_ZLIB], +[ + AC_MSG_CHECKING([whether to use the system zlib install]) + AC_ARG_ENABLE([system-zlib], + [AS_HELP_STRING(--enable-system-zlib,use the system ZLIB [[default=yes]])], + [ + ENABLE_SYSTEM_ZLIB="${enableval}" + ], + [ + ENABLE_SYSTEM_ZLIB="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSTEM_ZLIB}) + if test x"${ENABLE_SYSTEM_ZLIB}" = "xyes"; then + dnl Check for ZLIB headers and libraries. + PKG_CHECK_MODULES(ZLIB, zlib,[ZLIB_FOUND=yes],[ZLIB_FOUND=no]) + if test "x${ZLIB_FOUND}" = xno + then + AC_MSG_ERROR([Could not find ZLIB; install ZLIB or build with --disable-system-zlib to use the in-tree copy.]) + fi + AC_SUBST(ZLIB_CFLAGS) + AC_SUBST(ZLIB_LIBS) + fi + AM_CONDITIONAL(USE_SYSTEM_ZLIB, test x"${ENABLE_SYSTEM_ZLIB}" = "xyes") + AC_SUBST(ENABLE_SYSTEM_ZLIB) +]) + +AC_DEFUN_ONCE([IT_CHECK_FOR_JPEG], +[ + AC_MSG_CHECKING([whether to use the system jpeg install]) + AC_ARG_ENABLE([system-jpeg], + [AS_HELP_STRING(--enable-system-jpeg,use the system libjpeg [[default=yes]])], + [ + ENABLE_SYSTEM_JPEG="${enableval}" + ], + [ + ENABLE_SYSTEM_JPEG="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSTEM_JPEG}) + if test x"${ENABLE_SYSTEM_JPEG}" = "xyes"; then + dnl Check for JPEG headers and libraries. + AC_CHECK_LIB([jpeg], [main], + , [AC_MSG_ERROR("Could not find JPEG library; install JPEG or build with --disable-system-jpeg to use the in-tree copy.")]) + AC_CHECK_HEADER([jpeglib.h], + , [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) + fi + AM_CONDITIONAL(USE_SYSTEM_JPEG, test x"${ENABLE_SYSTEM_JPEG}" = "xyes") + AC_SUBST(ENABLE_SYSTEM_JPEG) +]) + +AC_DEFUN_ONCE([IT_CHECK_FOR_PNG], +[ + AC_MSG_CHECKING([whether to use the system libpng install]) + AC_ARG_ENABLE([system-png], + [AS_HELP_STRING(--enable-system-png,use the system PNG [[default=yes]])], + [ + ENABLE_SYSTEM_PNG="${enableval}" + ], + [ + ENABLE_SYSTEM_PNG="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSTEM_PNG}) + if test x"${ENABLE_SYSTEM_PNG}" = "xyes"; then + dnl Check for PNG headers and libraries. + PKG_CHECK_MODULES(PNG, libpng,[LIBPNG_FOUND=yes],[LIBPNG_FOUND=no]) + if test "x${LIBPNG_FOUND}" = xno + then + AC_MSG_ERROR([Could not find libpng; install libpng or build with --disable-system-png to use the in-tree copy.]) + fi + AC_SUBST(PNG_CFLAGS) + AC_SUBST(PNG_LIBS) + fi + AM_CONDITIONAL(USE_SYSTEM_PNG, test x"${ENABLE_SYSTEM_PNG}" = "xyes") + AC_SUBST(ENABLE_SYSTEM_PNG) +]) + +AC_DEFUN_ONCE([IT_CHECK_FOR_GIF], +[ + AC_MSG_CHECKING([whether to use the system giflib install]) + AC_ARG_ENABLE([system-gif], + [AS_HELP_STRING(--enable-system-gif,use the system giflib [[default=yes]])], + [ + ENABLE_SYSTEM_GIF="${enableval}" + ], + [ + ENABLE_SYSTEM_GIF="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSTEM_GIF}) + if test x"${ENABLE_SYSTEM_GIF}" = "xyes"; then + dnl Check for GIF headers and libraries. + AC_CHECK_LIB([gif], [main], + , [AC_MSG_ERROR("Could not find GIF library; install GIF or build with --disable-system-gif to use the in-tree copy.")]) + AC_CHECK_HEADER([gif_lib.h], + , [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) + fi + AM_CONDITIONAL(USE_SYSTEM_GIF, test x"${ENABLE_SYSTEM_GIF}" = "xyes") + AC_SUBST(ENABLE_SYSTEM_GIF) +]) + AC_DEFUN([IT_ENABLE_JAMVM], [ AC_MSG_CHECKING(whether to use JamVM as VM) diff -r 8e4f97b246e8 -r 0af3b9f0e92e configure.ac --- a/configure.ac Mon Sep 05 12:59:28 2011 +0200 +++ b/configure.ac Tue Sep 06 16:06:22 2011 +0100 @@ -167,12 +167,13 @@ AC_CHECK_HEADERS([X11/X.h],[] ,[AC_MSG_ERROR("xorg headers were not found - try installing xorg-x11-proto-devel.")]) -AC_CHECK_LIB(jpeg, main, - , [AC_MSG_ERROR("libjpeg not found - try installing libjpeg-devel")]) -AC_CHECK_LIB(gif, main, - , [AC_MSG_ERROR("giflib not found - try installing giflib-devel")]) -AC_CHECK_LIB(z, main, - , [AC_MSG_ERROR("zlib not found - try installing zlib-devel")]) + +IT_CHECK_FOR_ZLIB +IT_CHECK_FOR_JPEG +IT_CHECK_FOR_PNG +IT_CHECK_FOR_GIF +IT_CHECK_FOR_LCMS +AC_CONFIG_FILES([remove-intree-libraries.sh]) dnl Check for Xproto headers and libraries. PKG_CHECK_MODULES(XPROTO, xproto,[XPROTO_FOUND=yes],[XPROTO_FOUND=no]) @@ -296,17 +297,6 @@ AC_CONFIG_FILES([tapset/jstack.stp]) fi -dnl Check for libpng headers and libraries. -PKG_CHECK_MODULES(LIBPNG, libpng,[LIBPNG_FOUND=yes] - ,[LIBPNG_FOUND=no]) -if test "x${LIBPNG_FOUND}" = xno -then - AC_MSG_ERROR([Could not find libpng - \ - Try installing libpng-devel.]) -fi -AC_SUBST(LIBPNG_CFLAGS) -AC_SUBST(LIBPNG_LIBS) - dnl Check for libXtst headers and libraries. PKG_CHECK_MODULES(XTST, xtst,[XTST_FOUND=yes],[XTST_FOUND=no]) if test "x${XTST_FOUND}" = xno @@ -440,9 +430,6 @@ AC_SUBST(LLVM_LDFLAGS) AC_SUBST(LLVM_LIBS) -IT_CHECK_FOR_LCMS -AC_CONFIG_FILES([remove-intree-libraries.sh]) - # Arguments passed to configure. AC_SUBST(CONFIGURE_ARGS) CONFIGURE_ARGS="$ac_configure_args" diff -r 8e4f97b246e8 -r 0af3b9f0e92e patches/hotspot-gcc-pr36917.patch --- a/patches/hotspot-gcc-pr36917.patch Mon Sep 05 12:59:28 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ ---- openjdk/hotspot/make/linux/makefiles/i486.make~ 2008-07-10 22:04:18.000000000 +0200 -+++ openjdk/hotspot/make/linux/makefiles/i486.make 2008-07-24 12:23:11.344839305 +0200 -@@ -34,3 +34,6 @@ - CFLAGS += -DVM_LITTLE_ENDIAN - - OPT_CFLAGS/compactingPermGenGen.o = -O1 -+ -+# GCC PR tree-optimization/36917 -+OPT_CFLAGS/ciTypeFlow.o += $(OPT_CFLAGS) -fno-ivopts diff -r 8e4f97b246e8 -r 0af3b9f0e92e patches/libraries.patch --- a/patches/libraries.patch Mon Sep 05 12:59:28 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1277 +0,0 @@ -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 2011-06-11 00:38:06.000000000 +0100 -+++ openjdk/jdk/make/com/sun/java/pack/Makefile 2011-06-13 15:12:16.465040427 +0100 -@@ -70,12 +70,10 @@ - $(ZIPOBJDIR)/inftrees.$(OBJECT_SUFFIX) \ - $(ZIPOBJDIR)/inffast.$(OBJECT_SUFFIX) - -- ZINCLUDE=-I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) -- OTHER_CXXFLAGS += $(ZINCLUDE) -- LDDFLAGS += $(ZIPOBJS) -+ OTHER_LDLIBS += -lz - else - OTHER_CXXFLAGS += -DNO_ZLIB -DUNPACK_JNI -- OTHER_LDLIBS += $(JVMLIB) -+ OTHER_LDLIBS += -lz $(JVMLIB) - endif - - CXXFLAGS_DBG += -DFULL -@@ -94,12 +92,12 @@ - RES = $(OBJDIR)/$(PGRM).res - else - LDOUTPUT = -o #Have a space -- LDDFLAGS += -lc -+ LDDFLAGS += -lz -lc - OTHER_LDLIBS += $(LIBCXX) - # setup the list of libraries to link in... - ifeq ($(PLATFORM), linux) - ifeq ("$(CC_VER_MAJOR)", "3") -- OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic -+ OTHER_LDLIBS += -lz -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic - endif - endif #LINUX - endif #PLATFORM -diff -Nru openjdk.orig/jdk/make/common/Program.gmk openjdk/jdk/make/common/Program.gmk ---- openjdk.orig/jdk/make/common/Program.gmk 2011-06-11 00:38:06.000000000 +0100 -+++ openjdk/jdk/make/common/Program.gmk 2011-06-13 15:12:16.465040427 +0100 -@@ -91,6 +91,7 @@ - endif - endif - ifeq ($(PLATFORM), linux) -+ LDFLAGS += -lz - LDFLAGS += $(LDFLAG_Z_ORIGIN) - LDFLAGS += -Wl,--allow-shlib-undefined - LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli -@@ -247,7 +248,6 @@ - endif - - OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin --OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 - - OTHER_CPPFLAGS += -DPROGNAME='"$(PROGRAM)"' - VERSION_DEFINES += -DFULL_VERSION='"$(FULL_VERSION)"' -diff -Nru openjdk.orig/jdk/make/java/jli/Makefile openjdk/jdk/make/java/jli/Makefile ---- openjdk.orig/jdk/make/java/jli/Makefile 2011-06-11 00:38:06.000000000 +0100 -+++ openjdk/jdk/make/java/jli/Makefile 2011-06-13 15:12:16.465040427 +0100 -@@ -44,7 +44,6 @@ - - include $(BUILDDIR)/common/Defs.gmk - --ZIP_SRC = $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) - LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin - LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)/bin - -@@ -69,13 +68,7 @@ - parse_manifest.c \ - version_comp.c \ - wildcard.c \ -- jli_util.c \ -- inflate.c \ -- inftrees.c \ -- inffast.c \ -- zadler32.c \ -- zcrc32.c \ -- zutil.c -+ jli_util.c - - ifneq ($(PLATFORM), windows) - FILES_c += ergo.c -@@ -105,7 +98,7 @@ - # Note: its important to keep this order meaning -lc is the - # last library otherwise it could cause compatibility issues - # by pulling in SUNW_private symbols from libc -- LDLIBS = -ldl -lc -+ LDLIBS = -ldl -lz -lc - ifeq ($(USE_PTHREADS),true) - LDLIBS += -lpthread - endif # USE_PTHREADS -@@ -129,7 +122,6 @@ - - OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC) - OTHER_INCLUDES += -I$(LAUNCHER_PLATFORM_SRC) --OTHER_INCLUDES += -I$(ZIP_SRC) - - # - # Library to compile. -@@ -164,4 +156,4 @@ - # - # Add to ambient vpath so we pick up the library files - # --vpath %.c $(LAUNCHER_SHARE_SRC) $(ZIP_SRC) $(LAUNCHER_PLATFORM_SRC) -+vpath %.c $(LAUNCHER_SHARE_SRC) $(LAUNCHER_PLATFORM_SRC) -diff -Nru openjdk.orig/jdk/make/java/zip/FILES_c.gmk openjdk/jdk/make/java/zip/FILES_c.gmk ---- openjdk.orig/jdk/make/java/zip/FILES_c.gmk 2010-07-29 21:55:27.000000000 +0100 -+++ openjdk/jdk/make/java/zip/FILES_c.gmk 2011-06-13 15:12:16.477040613 +0100 -@@ -29,16 +29,4 @@ - Deflater.c \ - Inflater.c \ - ZipFile.c \ -- zip_util.c \ -- compress.c \ -- deflate.c \ -- gzio.c \ -- infback.c \ -- inffast.c \ -- inflate.c \ -- inftrees.c \ -- trees.c \ -- uncompr.c \ -- zadler32.c \ -- zcrc32.c \ -- zutil.c -+ zip_util.c -diff -Nru openjdk.orig/jdk/make/java/zip/Makefile openjdk/jdk/make/java/zip/Makefile ---- openjdk.orig/jdk/make/java/zip/Makefile 2011-06-11 00:38:06.000000000 +0100 -+++ openjdk/jdk/make/java/zip/Makefile 2011-06-13 15:12:16.477040613 +0100 -@@ -74,16 +74,10 @@ - CPPFLAGS += -UDEBUG - endif - --CPPFLAGS += -I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) - CPPFLAGS += -I$(SHARE_SRC)/native/java/io - CPPFLAGS += -I$(PLATFORM_SRC)/native/java/io - - # --# Add to ambient vpath so we pick up the library files --# --vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/zlib-$(ZLIB_VERSION) -- --# - # Link to JVM library for JVM_Zip* functions - # --OTHER_LDLIBS = $(JVMLIB) -+OTHER_LDLIBS = $(JVMLIB) -lz -diff -Nru openjdk.orig/jdk/make/sun/jpeg/FILES_c.gmk openjdk/jdk/make/sun/jpeg/FILES_c.gmk ---- openjdk.orig/jdk/make/sun/jpeg/FILES_c.gmk 2010-07-29 21:55:29.000000000 +0100 -+++ openjdk/jdk/make/sun/jpeg/FILES_c.gmk 2011-06-13 15:12:16.477040613 +0100 -@@ -25,51 +25,7 @@ - - FILES_c = \ - imageioJPEG.c \ -- jpegdecoder.c \ -- jcomapi.c \ -- jdapimin.c \ -- jdapistd.c \ -- jdcoefct.c \ -- jdcolor.c \ -- jddctmgr.c \ -- jdhuff.c \ -- jdinput.c \ -- jdmainct.c \ -- jdmarker.c \ -- jdmaster.c \ -- jdmerge.c \ -- jdphuff.c \ -- jdpostct.c \ -- jdsample.c \ -- jerror.c \ -- jidctflt.c \ -- jidctfst.c \ From ptisnovs at redhat.com Wed Sep 7 02:24:23 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 07 Sep 2011 11:24:23 +0200 Subject: Reviewer needed: backport of "5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" into IcedTea6 HEAD Message-ID: <4E673847.9010500@redhat.com> Greetings, I'd like to push backport of '5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false"' into IcedTea6 HEAD. Tested on RHEL 5 x86_64 - this backport does not break API compatibility and the regression test contained in the backport works properly. Mercurial diff created against recent IcedTea6 HEAD is stored in an attachment. ChangeLog entry: 2011-09-06 Pavel Tisnovsky * Makefile.am: added new patch * NEWS: updated with backport * patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch: Backport of 5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" Can anybody please review this patch please? Thank you in advance, Pavel -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 5082756_hg.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110907/bac6753f/5082756_hg.diff From ptisnovs at icedtea.classpath.org Wed Sep 7 02:53:44 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 07 Sep 2011 09:53:44 +0000 Subject: /hg/gfx-test: * src/org/gfxtest/testsuites/RadialGradientPaint.j... Message-ID: changeset c43356096cb8 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=c43356096cb8 author: Pavel Tisnovsky date: Wed Sep 07 11:55:36 2011 +0200 * src/org/gfxtest/testsuites/RadialGradientPaint.java: Added 6 new gfx. tests. * src/org/gfxtest/framework/CommonRenderingStyles.java: Added methods supporting rendering shapes filled by radial fill with various color bands. diffstat: ChangeLog | 8 + src/org/gfxtest/framework/CommonRenderingStyles.java | 25 ++ src/org/gfxtest/testsuites/RadialGradientPaint.java | 164 ++++++++++++++++++- 3 files changed, 191 insertions(+), 6 deletions(-) diffs (273 lines): diff -r b92ad5c954c0 -r c43356096cb8 ChangeLog --- a/ChangeLog Tue Sep 06 11:39:17 2011 +0200 +++ b/ChangeLog Wed Sep 07 11:55:36 2011 +0200 @@ -1,3 +1,11 @@ +2011-09-07 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/RadialGradientPaint.java: + Added 6 new gfx. tests. + * src/org/gfxtest/framework/CommonRenderingStyles.java: + Added methods supporting rendering shapes filled by radial + fill with various color bands. + 2011-09-06 Pavel Tisnovsky * src/org/gfxtest/testsuites/LinearGradientPaint.java: diff -r b92ad5c954c0 -r c43356096cb8 src/org/gfxtest/framework/CommonRenderingStyles.java --- a/src/org/gfxtest/framework/CommonRenderingStyles.java Tue Sep 06 11:39:17 2011 +0200 +++ b/src/org/gfxtest/framework/CommonRenderingStyles.java Wed Sep 07 11:55:36 2011 +0200 @@ -910,6 +910,31 @@ } /** + * Set radial gradient fill for given graphics context. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @param fractions + * numbers ranging from 0.0 to 1.0 specifying the distribution of + * colors along the gradient + * @param colors + * array of colors corresponding to each fractional value + */ + public static void setRadialGradientFill(TestImage image, Graphics2D graphics, float[] fractions, Color[] colors) + { + // calculate center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + + // calculate radius of circle + int radius = CommonShapesRenderer.calculateRadius(image); + RadialGradientPaint gradientPaint = new RadialGradientPaint(xc, yc, radius, fractions, colors); + graphics.setPaint(gradientPaint); + } + + /** * Set zero pixels wide stroke and default cap and join style. * * @param graphics diff -r b92ad5c954c0 -r c43356096cb8 src/org/gfxtest/testsuites/RadialGradientPaint.java --- a/src/org/gfxtest/testsuites/RadialGradientPaint.java Tue Sep 06 11:39:17 2011 +0200 +++ b/src/org/gfxtest/testsuites/RadialGradientPaint.java Wed Sep 07 11:55:36 2011 +0200 @@ -40,6 +40,7 @@ package org.gfxtest.testsuites; +import java.awt.Color; import java.awt.Graphics2D; import java.awt.MultipleGradientPaint.CycleMethod; @@ -59,7 +60,20 @@ @Zoom(1) public class RadialGradientPaint extends GfxTest { - + // numbers ranging from 0.0 to 1.0 specifying the distribution of colors along the gradient + private static final float[] SpectrumFractions = { 0.0f, 1.0f/6, 2.0f/6, 3.0f/6, 4.0f/6, 5.0f/6, 1.0f }; + + // array of colors corresponding to each fractional value + private static final Color[] SpectrumColors = { + Color.MAGENTA, + Color.BLUE, + Color.CYAN, + Color.GREEN, + Color.YELLOW, + Color.ORANGE, + Color.RED + }; + /** * Test if filled circle drawn by graphics.fillOval() is rendered correctly. * Radial gradient paint is used for filling this circle. @@ -215,6 +229,29 @@ } /** + * Test if filled circle drawn by graphics.fillOval() is rendered correctly. + * Radial Gradient paint is used for filling this circle using whole color + * spectrum. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCircleRadialGradientFillColorSpectrum(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setRadialGradientFill(image, graphics, SpectrumFractions, SpectrumColors); + // draw the circle + CommonShapesRenderer.drawFilledCircle(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** * Test if filled rectangle is rendered correctly. * Radial gradient paint is used for filling this rectangle. * @@ -230,7 +267,30 @@ CommonRenderingStyles.setStrokeColor(graphics); // set fill color CommonRenderingStyles.setRadialGradientFill(image, graphics); - // draw the circle + // draw the rectangle + CommonShapesRenderer.drawFilledRect(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled rectangle is rendered correctly. + * Radial Gradient paint is used for filling this shape using whole color + * spectrum. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testRectangleRadialGradientFillColorSpectrum(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setRadialGradientFill(image, graphics, SpectrumFractions, SpectrumColors); + // draw the rectangle CommonShapesRenderer.drawFilledRect(image, graphics); // test return value return TestResult.PASSED; @@ -252,7 +312,30 @@ CommonRenderingStyles.setStrokeColor(graphics); // set fill color CommonRenderingStyles.setRadialGradientFill(image, graphics); - // draw the circle + // draw the round rectangle + CommonShapesRenderer.drawFilledRoundRect(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled round rectangle is rendered correctly. + * Radial Gradient paint is used for filling this shape using whole color + * spectrum. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testRoundRectangleRadialGradientFillColorSpectrum(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setRadialGradientFill(image, graphics, SpectrumFractions, SpectrumColors); + // draw the round rectangle CommonShapesRenderer.drawFilledRoundRect(image, graphics); // test return value return TestResult.PASSED; @@ -274,7 +357,30 @@ CommonRenderingStyles.setStrokeColor(graphics); // set fill color CommonRenderingStyles.setRadialGradientFill(image, graphics); - // draw the circle + // draw the arc + CommonShapesRenderer.drawFilledArc(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled arc is rendered correctly. + * Radial Gradient paint is used for filling this shape using whole color + * spectrum. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testArcRadialGradientFillColorSpectrum(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setRadialGradientFill(image, graphics, SpectrumFractions, SpectrumColors); + // draw the arc CommonShapesRenderer.drawFilledArc(image, graphics); // test return value return TestResult.PASSED; @@ -296,7 +402,30 @@ CommonRenderingStyles.setStrokeColor(graphics); // set fill color CommonRenderingStyles.setRadialGradientFill(image, graphics); - // draw the circle + // draw the polygon + CommonShapesRenderer.drawFilledPolygon(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled polygon is rendered correctly. + * Radial Gradient paint is used for filling this shape using whole color + * spectrum. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testPolygonRadialGradientFillColorSpectrum(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setRadialGradientFill(image, graphics, SpectrumFractions, SpectrumColors); + // draw the polygon CommonShapesRenderer.drawFilledPolygon(image, graphics); // test return value return TestResult.PASSED; @@ -318,7 +447,30 @@ CommonRenderingStyles.setStrokeColor(graphics); // set fill color CommonRenderingStyles.setRadialGradientFill(image, graphics); - // draw the circle + // draw the closed path + CommonShapesRenderer.drawFilledClosedPath(image, graphics); + // test return value + return TestResult.PASSED; + } + + /** + * Test if filled closed path is rendered correctly. + * Radial Gradient paint is used for filling this shape using whole color + * spectrum. + * + * @param image + * image to which two dimensional shape is to be rendered + * @param graphics + * graphics context for image + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClosedPathGradientFillColorSpectrum(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setRadialGradientFill(image, graphics, SpectrumFractions, SpectrumColors); + // draw the closed path CommonShapesRenderer.drawFilledClosedPath(image, graphics); // test return value return TestResult.PASSED; From bugzilla-daemon at icedtea.classpath.org Wed Sep 7 04:17:31 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Sep 2011 11:17:31 +0000 Subject: [Bug 783] Jboss server instance is suddenly shutting down.. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=783 --- Comment #2 from srinu_ammina 2011-09-07 11:17:30 --- (In reply to comment #1) > Moving bug from the IcedRobot to the IcedTea project. > I have checked your log: > vm_info: OpenJDK 64-Bit Server VM (1.6.0-b09) for linux-amd64 JRE (1.6.0-b09), > built on Dec 16 2008 12:10:53 by "mockbuild" with gcc 4.1.2 20080704 (Red Hat > 4.1.2-44) > Please check with Red Hat if they provide a more recent version of OpenJDK > built using icedtea6 version 1.8 or later that have been tested on: > OS:Red Hat Enterprise Linux Server release 5.3 (Tikanga) > I noticed that the crash happened in the debug routines of your VM, if possible > try remove > -Dsun.jvm.hotspot.debugger.useProcDebugger and > -Dsun.jvm.hotspot.debugger.useWindbgDebugger > from the command line. Hi Thanks for the input. Here we are running two server instances on the same jboss server but one instance is working fine. It is happening with only another instance. So if there is an issue with the jdk version it should be same with another instance also rt? could you please guide in this regard. And could you please elobarate on how to perform these steps.. -Dsun.jvm.hotspot.debugger.useProcDebugger and -Dsun.jvm.hotspot.debugger.useWindbgDebugger from the command line. Thanks for your support. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From jvanek at redhat.com Wed Sep 7 08:51:05 2011 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 07 Sep 2011 17:51:05 +0200 Subject: Reviewer needed: backport of "5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" into IcedTea6 HEAD In-Reply-To: <4E673847.9010500@redhat.com> References: <4E673847.9010500@redhat.com> Message-ID: <4E6792E9.4060203@redhat.com> On 09/07/2011 11:24 AM, Pavel Tisnovsky wrote: > Greetings, > > I'd like to push backport of '5082756: Image I/O plug-ins set metadata boolean > attributes to "true" or "false"' into IcedTea6 HEAD. Tested on RHEL 5 x86_64 - > this backport does not break API compatibility and the regression test contained > in the backport works properly. > > Mercurial diff created against recent IcedTea6 HEAD is stored in an attachment. > > ChangeLog entry: > > 2011-09-06 Pavel Tisnovsky > > * Makefile.am: added new patch > * NEWS: updated with backport > * patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch: > Backport of 5082756: Image I/O plug-ins set metadata > boolean attributes to "true" or "false" > > Can anybody please review this patch please? > > Thank you in advance, > Pavel Maybe typo in changelog - true and false should be in capital letters? Otherwise changes looks ok for me. Thanx for nice "teaching" patches J. From ahughes at redhat.com Wed Sep 7 10:47:19 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 7 Sep 2011 18:47:19 +0100 Subject: Reviewer needed: backport of "5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" into IcedTea6 HEAD In-Reply-To: <4E673847.9010500@redhat.com> References: <4E673847.9010500@redhat.com> Message-ID: <20110907174719.GC18346@rivendell.middle-earth.co.uk> On 11:24 Wed 07 Sep , Pavel Tisnovsky wrote: > Greetings, > > I'd like to push backport of '5082756: Image I/O plug-ins set metadata boolean > attributes to "true" or "false"' into IcedTea6 HEAD. Tested on RHEL 5 x86_64 - > this backport does not break API compatibility and the regression test contained > in the backport works properly. > > Mercurial diff created against recent IcedTea6 HEAD is stored in an attachment. > > ChangeLog entry: > > 2011-09-06 Pavel Tisnovsky > > * Makefile.am: added new patch > * NEWS: updated with backport > * patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch: > Backport of 5082756: Image I/O plug-ins set metadata > boolean attributes to "true" or "false" > > Can anybody please review this patch please? > > Thank you in advance, > Pavel This looks fine. Do the tests pass? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From bugzilla-daemon at icedtea.classpath.org Wed Sep 7 21:19:37 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Sep 2011 04:19:37 +0000 Subject: [Bug 784] New: SEGV in java Cassandra code Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=784 Summary: SEGV in java Cassandra code Product: IcedTea Version: 6-1.0 Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: teddyyyy123 at gmail.com Created an attachment (id=568) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=568) err log exported by JVM we are running the apache Cassandra code, when I do Cassandra compact and insert records at the same time, I always reproducibly get a SEGV in java. the debug file exported shows the following: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00002aaaab70e191, pid=17779, tid=1123891520 # # JRE version: 6.0_20-b20 # Java VM: OpenJDK 64-Bit Server VM (19.0-b09 mixed mode linux-amd64 compressed oops) # Derivative: IcedTea6 1.9.8 # Distribution: CentOS release 5.6 (Final), package rhel-1.22.1.9.8.el5_6-x86_64 # Problematic frame: # J org.apache.cassandra.utils.ByteBufferUtil.compareUnsigned(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # --------------- T H R E A D --------------- Current thread (0x000000000180b000): JavaThread "ReadStage:48" [_thread_in_Java, id=18222, stack(0x0000000042ed3000,0x0000000042fd4000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00002aab12f6d680 Registers: RAX=0x00002aab12f51000, RBX=0x00000000cfebf24d, RCX=0x0000000000000000, RDX=0x0000000008b64ede RSP=0x0000000042fd26e0, RBP=0x0000000000000000, RSI=0x00000000cfebf24d, RDI=0x0000000000000001 R8 =0x0000000008b64ede, R9 =0x00002aaab8000000, R10=0x000000000001c680, R11=0x0000000000000032 R12=0x0000000000000000, R13=0x000000000001c680, R14=0x000000000001c6b2, R15=0x000000000180b000 RIP=0x00002aaaab70e191, EFL=0x0000000000010293, CSGSFS=0x0000000000000033, ERR=0x0000000000000004 TRAPNO=0x000000000000000e Register to memory mapping: RAX=0x00002aab12f51000 0x00002aab12f51000 is pointing to unknown location RBX=0x00000000cfebf24d 0x00000000cfebf24d is pointing to unknown location RCX=0x0000000000000000 0x0000000000000000 is pointing to unknown location RDX=0x0000000008b64ede 0x0000000008b64ede is pointing to unknown location RSP=0x0000000042fd26e0 0x0000000042fd26e0 is pointing into the stack for thread: 0x000000000180b000 "ReadStage:48" prio=10 tid=0x000000000180b000 nid=0x472e runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE RBP=0x0000000000000000 0x0000000000000000 is pointing to unknown location RSI=0x00000000cfebf24d 0x00000000cfebf24d is pointing to unknown location RDI=0x0000000000000001 0x0000000000000001 is pointing to unknown location R8 =0x0000000008b64ede 0x0000000008b64ede is pointing to unknown location R10=0x000000000001c680 0x000000000001c680 is pointing to unknown location R11=0x0000000000000032 0x0000000000000032 is pointing to unknown location R12=0x0000000000000000 0x0000000000000000 is pointing to unknown location R13=0x000000000001c680 0x000000000001c680 is pointing to unknown location R14=0x000000000001c6b2 0x000000000001c6b2 is pointing to unknown location R15=0x000000000180b000 "ReadStage:48" prio=10 tid=0x000000000180b000 nid=0x472e runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE Top of Stack: (sp=0x0000000042fd26e0) Top of Stack: (sp=0x0000000042fd26e0) 0x0000000042fd26e0: cfebf24d00000001 000000079c2683b0 0x0000000042fd26f0: 0000000799002870 d12001b100000032 0x0000000042fd2700: 0000000799002870 00000000d12001b1 0x0000000042fd2710: 0001c6809c268420 00002aaaab5a4a98 0x0000000042fd2720: fffe398008b64ede 0000000708b64f10 0x0000000042fd2730: 00002aaab8000000 00002aaa00000008 0x0000000042fd2740: 0000000799001da0 00002ad17d5244e3 0x0000000042fd2750: 00000000f384d076 00002aaaab70715c 0x0000000042fd2760: 00000000f32003b4 00002aaaab69b3b8 0x0000000042fd2770: 0000000799001ef8 000000079c268460 0x0000000042fd2780: 0000000799002718 00002aaaab69e1e4 0x0000000042fd2790: 00000007990026b8 cfed4c6600000000 0x0000000042fd27a0: 0000000799002718 00000002f320050b 0x0000000042fd27b0: 00002aaaab1e6000 00002aaaab716a98 0x0000000042fd27c0: 0000000799002718 00002aaaab7172c8 0x0000000042fd27d0: 0000000799002560 00002aaaab7ee13c 0x0000000042fd27e0: 0000000799002690 00002aaaab7190e4 0x0000000042fd27f0: 0000000799001960 0000000799001a08 0x0000000042fd2800: 0000000799002690 00000b6b4e5b110f 0x0000000042fd2810: 000000068903b7a8 0000000799002690 0x0000000042fd2820: f1247d42d12076fd 000000000001c4b0 0x0000000042fd2830: 00000000c7e25800 fffffffef1247d46 0x0000000042fd2840: 00000000f3200454 00000000ffffffff 0x0000000042fd2850: 0000000799002950 00002aaaab6830e4 0x0000000042fd2860: 000000074e5b110f 00000007990019b8 0x0000000042fd2870: 0000000799001960 0000000799001a08 0x0000000042fd2880: 00000007d12076fd 0000000799002690 0x0000000042fd2890: 00000007990021d8 0000000042fd2898 0x0000000042fd28a0: 000000067f541ddd 0000000042fd28f0 0x0000000042fd28b0: 0000000042fd2938 00002aaaab52085a 0x0000000042fd28c0: 000000067f541e28 00002aaaab52085a 0x0000000042fd28d0: 000000004e5b110f 000000068903b7a8 Instructions: (pc=0x00002aaaab70e191) 0x00002aaaab70e181: c4 0c 00 00 45 3b d6 0f 8d c6 0c 00 00 4d 63 ea 0x00002aaaab70e191: 46 0f be 0c 28 41 3b e9 0f 85 e8 01 00 00 ff c1 Stack: [0x0000000042ed3000,0x0000000042fd4000], sp=0x0000000042fd26e0, free space=1021k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) J org.apache.cassandra.utils.ByteBufferUtil.compareUnsigned(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I [error occurred during error reporting (printing native stack), id 0xb] -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From ptisnovs at redhat.com Wed Sep 7 23:28:44 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 08 Sep 2011 08:28:44 +0200 Subject: Reviewer needed: backport of "5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" into IcedTea6 HEAD In-Reply-To: <4E6792E9.4060203@redhat.com> References: <4E673847.9010500@redhat.com> <4E6792E9.4060203@redhat.com> Message-ID: <4E68609C.30601@redhat.com> Jiri Vanek wrote: > On 09/07/2011 11:24 AM, Pavel Tisnovsky wrote: >> Greetings, >> >> I'd like to push backport of '5082756: Image I/O plug-ins set metadata >> boolean >> attributes to "true" or "false"' into IcedTea6 HEAD. Tested on RHEL 5 >> x86_64 - >> this backport does not break API compatibility and the regression test >> contained >> in the backport works properly. >> >> Mercurial diff created against recent IcedTea6 HEAD is stored in an >> attachment. >> >> ChangeLog entry: >> >> 2011-09-06 Pavel Tisnovsky >> >> * Makefile.am: added new patch >> * NEWS: updated with backport >> * >> patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch: >> >> Backport of 5082756: Image I/O plug-ins set metadata >> boolean attributes to "true" or "false" >> >> Can anybody please review this patch please? >> >> Thank you in advance, >> Pavel > Maybe typo in changelog - true and false should be in capital letters? > Otherwise changes looks ok for me. > Thanx for nice "teaching" patches > > J. Hi Jiri, name of the fix is AFAIK correct because it's name is based on bug description from Oracle database. Ie the bug caused that image metadata represents boolean attributes as "true" and "false" strings and it was corrected to "TRUE" and "FALSE" by this fix (as is defined in DTD). Pavel From ptisnovs at redhat.com Thu Sep 8 02:37:36 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 08 Sep 2011 11:37:36 +0200 Subject: Reviewer needed: backport of "5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" into IcedTea6 HEAD In-Reply-To: <20110907174719.GC18346@rivendell.middle-earth.co.uk> References: <4E673847.9010500@redhat.com> <20110907174719.GC18346@rivendell.middle-earth.co.uk> Message-ID: <4E688CE0.9030302@redhat.com> Dr Andrew John Hughes wrote: > On 11:24 Wed 07 Sep , Pavel Tisnovsky wrote: >> Greetings, >> >> I'd like to push backport of '5082756: Image I/O plug-ins set metadata boolean >> attributes to "true" or "false"' into IcedTea6 HEAD. Tested on RHEL 5 x86_64 - >> this backport does not break API compatibility and the regression test contained >> in the backport works properly. >> >> Mercurial diff created against recent IcedTea6 HEAD is stored in an attachment. >> >> ChangeLog entry: >> >> 2011-09-06 Pavel Tisnovsky >> >> * Makefile.am: added new patch >> * NEWS: updated with backport >> * patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch: >> Backport of 5082756: Image I/O plug-ins set metadata >> boolean attributes to "true" or "false" >> >> Can anybody please review this patch please? >> >> Thank you in advance, >> Pavel > > This looks fine. Do the tests pass? > Yes, the new test (BooleanAttributes.java) and also the patched test (ITXtTest.java) pass. From ptisnovs at icedtea.classpath.org Thu Sep 8 02:42:42 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 08 Sep 2011 09:42:42 +0000 Subject: /hg/icedtea6: S5082756: Image I/O plug-ins set metadata boolean ... Message-ID: changeset daabd8a14b5e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=daabd8a14b5e author: ptisnovs date: Thu Sep 08 11:42:33 2011 +0200 S5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" diffstat: ChangeLog | 8 + Makefile.am | 3 +- NEWS | 1 + patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch | 352 ++++++++++ 4 files changed, 363 insertions(+), 1 deletions(-) diffs (403 lines): diff -r fc183654bed3 -r daabd8a14b5e ChangeLog --- a/ChangeLog Mon Sep 05 12:45:12 2011 +0200 +++ b/ChangeLog Thu Sep 08 11:42:33 2011 +0200 @@ -1,3 +1,11 @@ +2011-09-06 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch: + Backport of 5082756: Image I/O plug-ins set metadata + boolean attributes to "true" or "false" + 2011-09-05 Xerxes R??nby JamVM diff -r fc183654bed3 -r daabd8a14b5e Makefile.am --- a/Makefile.am Mon Sep 05 12:45:12 2011 +0200 +++ b/Makefile.am Thu Sep 08 11:42:33 2011 +0200 @@ -377,7 +377,8 @@ patches/pr696-zero-fast_aldc-hs20.patch \ patches/openjdk/6806261-BigDecimal_longValueExact_throws_NPE.patch \ patches/openjdk/6371401-BigInteger.shift_throws_StackOverflowError.patch \ - patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch + patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch \ + patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r fc183654bed3 -r daabd8a14b5e NEWS --- a/NEWS Mon Sep 05 12:45:12 2011 +0200 +++ b/NEWS Thu Sep 08 11:42:33 2011 +0200 @@ -369,6 +369,7 @@ - S6806261: BigDecimal.longValueExact() method throws NullPointerException - S6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError - S6826104, RH730015: Getting a NullPointer exception when clicked on Application & Toolkit Modal dialog + - S5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" * Allow selection of test suites using the jtreg_checks argument e.g. jtreg_checks="langtools" * CACAO - CA149: Used wrong class loader. diff -r fc183654bed3 -r daabd8a14b5e patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch Thu Sep 08 11:42:33 2011 +0200 @@ -0,0 +1,360 @@ +# HG changeset patch +# User bae +# Date 1231854912 -10800 +# Node ID 80fb12052ae4c62ec98e28003d9f3994ca5ca6a3 +# Parent 91bc016862c466cb6141a2199f4089a48ee9b283 +5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" +Reviewed-by: igor, prr +Contributed-by: Martin von Gagern + +diff -r 91bc016862c4 -r 80fb12052ae4 src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java +--- openjdk.orig/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java Mon Jan 12 16:02:47 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java Tue Jan 13 16:55:12 2009 +0300 +@@ -153,7 +153,7 @@ + node.setAttribute("imageWidth", Integer.toString(imageWidth)); + node.setAttribute("imageHeight", Integer.toString(imageHeight)); + node.setAttribute("interlaceFlag", +- interlaceFlag ? "true" : "false"); ++ interlaceFlag ? "TRUE" : "FALSE"); + root.appendChild(node); + + // Local color table +@@ -185,9 +185,9 @@ + node.setAttribute("disposalMethod", + disposalMethodNames[disposalMethod]); + node.setAttribute("userInputFlag", +- userInputFlag ? "true" : "false"); ++ userInputFlag ? "TRUE" : "FALSE"); + node.setAttribute("transparentColorFlag", +- transparentColorFlag ? "true" : "false"); ++ transparentColorFlag ? "TRUE" : "FALSE"); + node.setAttribute("delayTime", + Integer.toString(delayTime)); + node.setAttribute("transparentColorIndex", +diff -r 91bc016862c4 -r 80fb12052ae4 src/share/classes/com/sun/imageio/plugins/gif/GIFMetadata.java +--- openjdk.orig/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFMetadata.java Mon Jan 12 16:02:47 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFMetadata.java Tue Jan 13 16:55:12 2009 +0300 +@@ -158,13 +158,10 @@ + } + } + String value = attr.getNodeValue(); +- // XXX Should be able to use equals() here instead of +- // equalsIgnoreCase() but some boolean attributes are incorrectly +- // set to "true" or "false" by the J2SE core metadata classes +- // getAsTree() method (which are duplicated above). See bug 5082756. +- if (value.equalsIgnoreCase("TRUE")) { ++ // Allow lower case booleans for backward compatibility, #5082756 ++ if (value.equals("TRUE") || value.equals("true")) { + return true; +- } else if (value.equalsIgnoreCase("FALSE")) { ++ } else if (value.equals("FALSE") || value.equals("false")) { + return false; + } else { + fatal(node, "Attribute " + name + " must be 'TRUE' or 'FALSE'!"); +diff -r 91bc016862c4 -r 80fb12052ae4 src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java +--- openjdk.orig/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java Mon Jan 12 16:02:47 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java Tue Jan 13 16:55:12 2009 +0300 +@@ -202,7 +202,7 @@ + compression_node.appendChild(node); + + node = new IIOMetadataNode("Lossless"); +- node.setAttribute("value", "true"); ++ node.setAttribute("value", "TRUE"); + compression_node.appendChild(node); + + // NumProgressiveScans not in stream +diff -r 91bc016862c4 -r 80fb12052ae4 src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java +--- openjdk.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java Mon Jan 12 16:02:47 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java Tue Jan 13 16:55:12 2009 +0300 +@@ -955,7 +955,7 @@ + + // Lossless - false + IIOMetadataNode lossless = new IIOMetadataNode("Lossless"); +- lossless.setAttribute("value", "false"); ++ lossless.setAttribute("value", "FALSE"); + compression.appendChild(lossless); + + // NumProgressiveScans - count sos segments +diff -r 91bc016862c4 -r 80fb12052ae4 src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java +--- openjdk.orig/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java Mon Jan 12 16:02:47 2009 -0800 ++++ openjdk/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java Tue Jan 13 16:55:12 2009 +0300 +@@ -600,7 +600,7 @@ + IIOMetadataNode iTXt_node = new IIOMetadataNode("iTXtEntry"); + iTXt_node.setAttribute("keyword", iTXt_keyword.get(i)); + iTXt_node.setAttribute("compressionFlag", +- iTXt_compressionFlag.get(i) ? "1" : "0"); ++ iTXt_compressionFlag.get(i) ? "TRUE" : "FALSE"); + iTXt_node.setAttribute("compressionMethod", + iTXt_compressionMethod.get(i).toString()); + iTXt_node.setAttribute("languageTag", +@@ -832,7 +832,7 @@ + } + + node = new IIOMetadataNode("BlackIsZero"); +- node.setAttribute("value", "true"); ++ node.setAttribute("value", "TRUE"); + chroma_node.appendChild(node); + + if (PLTE_present) { +@@ -894,7 +894,7 @@ + compression_node.appendChild(node); + + node = new IIOMetadataNode("Lossless"); +- node.setAttribute("value", "true"); ++ node.setAttribute("value", "TRUE"); + compression_node.appendChild(node); + + node = new IIOMetadataNode("NumProgressiveScans"); +@@ -1162,12 +1162,13 @@ + } + } + String value = attr.getNodeValue(); +- if (value.equals("true")) { ++ // Allow lower case booleans for backward compatibility, #5082756 ++ if (value.equals("TRUE") || value.equals("true")) { + return true; +- } else if (value.equals("false")) { ++ } else if (value.equals("FALSE") || value.equals("false")) { + return false; + } else { +- fatal(node, "Attribute " + name + " must be 'true' or 'false'!"); ++ fatal(node, "Attribute " + name + " must be 'TRUE' or 'FALSE'!"); + return false; + } + } +diff -r 91bc016862c4 -r 80fb12052ae4 src/share/classes/javax/imageio/metadata/IIOMetadataFormat.java +--- openjdk.orig/jdk/src/share/classes/javax/imageio/metadata/IIOMetadataFormat.java Mon Jan 12 16:02:47 2009 -0800 ++++ openjdk/jdk/src/share/classes/javax/imageio/metadata/IIOMetadataFormat.java Tue Jan 13 16:55:12 2009 +0300 +@@ -242,8 +242,12 @@ + + /** + * A constant returned by getAttributeDataType +- * indicating that the value of an attribute is one of 'true' or +- * 'false'. ++ * indicating that the value of an attribute is one of the boolean ++ * values 'true' or 'false'. ++ * Attribute values of type DATATYPE_BOOLEAN should be marked as ++ * enumerations, and the permitted values should be the string ++ * literal values "TRUE" or "FALSE", although a plugin may also ++ * recognise lower or mixed case equivalents. + */ + int DATATYPE_BOOLEAN = 1; + +diff -r 91bc016862c4 -r 80fb12052ae4 test/javax/imageio/metadata/BooleanAttributes.java +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ openjdk/jdk/test/javax/imageio/metadata/BooleanAttributes.java Tue Jan 13 16:55:12 2009 +0300 +@@ -0,0 +1,202 @@ ++/* ++ * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. Sun designates this ++ * particular file as subject to the "Classpath" exception as provided ++ * by Sun in the LICENSE file that accompanied this code. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ++ * CA 95054 USA or visit www.sun.com if you need additional information or ++ * have any questions. ++ */ ++ ++/** ++ * @test ++ * @bug 5082756 ++ * @summary ensure that boolean attributes follow ( "TRUE" | "FALSE" ) ++ * including correct (i.e. upper) case ++ * ++ * @run main BooleanAttributes ++ */ ++ ++import java.awt.image.BufferedImage; ++import java.io.ByteArrayInputStream; ++import java.io.ByteArrayOutputStream; ++import java.io.StringReader; ++import java.util.Arrays; ++import java.util.List; ++import javax.imageio.IIOImage; ++import javax.imageio.ImageIO; ++import javax.imageio.ImageReader; ++import javax.imageio.ImageTypeSpecifier; ++import javax.imageio.ImageWriteParam; ++import javax.imageio.ImageWriter; ++import javax.imageio.metadata.IIOMetadata; ++import javax.imageio.stream.ImageInputStream; ++import javax.imageio.stream.ImageOutputStream; ++import javax.imageio.stream.MemoryCacheImageInputStream; ++import javax.imageio.stream.MemoryCacheImageOutputStream; ++import javax.xml.transform.Result; ++import javax.xml.transform.Source; ++import javax.xml.transform.TransformerFactory; ++import javax.xml.transform.dom.DOMResult; ++import javax.xml.transform.stream.StreamSource; ++import javax.xml.xpath.XPath; ++import javax.xml.xpath.XPathConstants; ++import javax.xml.xpath.XPathFactory; ++import org.w3c.dom.Document; ++import org.w3c.dom.Element; ++import org.w3c.dom.Node; ++import org.w3c.dom.NodeList; ++ ++public class BooleanAttributes { ++ ++ private static TransformerFactory transformerFactory = ++ TransformerFactory.newInstance(); ++ ++ private static XPath xpathEngine = XPathFactory.newInstance().newXPath(); ++ ++ public static void main(String[] args) throws Exception { ++ test("image/png", false, "", ++ "Chroma/BlackIsZero/@value", ++ "Compression/Lossless/@value"); ++ ++ test("image/png", false, ++ "" + ++ "" + ++ "", ++ "iTXt/iTXtEntry/@compressionFlag"); ++ ++ test("image/png", false, ++ "" + ++ "" + ++ "", ++ "iTXt/iTXtEntry/@compressionFlag"); ++ ++ test("image/gif", false, "", ++ "Chroma/BlackIsZero/@value", ++ "Compression/Lossless/@value"); ++ ++ test("image/gif", false, ++ "" + ++ "" + ++ "" + ++ "" + ++ "" + ++ "" + ++ "" + ++ "", ++ "ImageDescriptor/@interlaceFlag", ++ "LocalColorTable/@sortFlag", ++ "GraphicControlExtension/@userInputFlag", ++ "GraphicControlExtension/@transparentColorFlag"); ++ ++ test("image/gif", true, ++ "" + ++ "" + ++ "" + ++ "" + ++ "" + ++ "", ++ "GlobalColorTable/@sortFlag"); ++ ++ test("image/jpeg", false, "", ++ "Compression/Lossless/@value"); ++ } ++ ++ private static void transform(Source src, Result dst) ++ throws Exception ++ { ++ transformerFactory.newTransformer().transform(src, dst); ++ } ++ ++ private static void verify(Node meta, String[] xpaths, boolean required) ++ throws Exception ++ { ++ for (String xpath: xpaths) { ++ NodeList list = (NodeList) ++ xpathEngine.evaluate(xpath, meta, XPathConstants.NODESET); ++ if (list.getLength() == 0 && required) ++ throw new AssertionError("Missing value: " + xpath); ++ for (int i = 0; i < list.getLength(); ++i) { ++ String value = list.item(i).getNodeValue(); ++ if (!(value.equals("TRUE") || value.equals("FALSE"))) ++ throw new AssertionError(xpath + " has value " + value); ++ } ++ } ++ } ++ ++ public static void test(String mimeType, boolean useStreamMeta, ++ String metaXml, String... boolXpaths) ++ throws Exception ++ { ++ BufferedImage img = ++ new BufferedImage(16, 16, BufferedImage.TYPE_INT_RGB); ++ ImageWriter iw = ImageIO.getImageWritersByMIMEType(mimeType).next(); ++ ByteArrayOutputStream os = new ByteArrayOutputStream(); ++ ImageOutputStream ios = new MemoryCacheImageOutputStream(os); ++ iw.setOutput(ios); ++ ImageWriteParam param = null; ++ IIOMetadata streamMeta = iw.getDefaultStreamMetadata(param); ++ IIOMetadata imageMeta = ++ iw.getDefaultImageMetadata(new ImageTypeSpecifier(img), param); ++ IIOMetadata meta = useStreamMeta ? streamMeta : imageMeta; ++ Source src = new StreamSource(new StringReader(metaXml)); ++ DOMResult dst = new DOMResult(); ++ transform(src, dst); ++ Document doc = (Document)dst.getNode(); ++ Element node = doc.getDocumentElement(); ++ String metaFormat = node.getNodeName(); ++ ++ // Verify that the default metadata gets formatted correctly. ++ verify(meta.getAsTree(metaFormat), boolXpaths, false); ++ ++ meta.mergeTree(metaFormat, node); ++ ++ // Verify that the merged metadata gets formatte correctly. ++ verify(meta.getAsTree(metaFormat), boolXpaths, true); ++ ++ iw.write(streamMeta, new IIOImage(img, null, imageMeta), param); ++ iw.dispose(); ++ ios.close(); ++ ImageReader ir = ImageIO.getImageReader(iw); ++ byte[] bytes = os.toByteArray(); ++ if (bytes.length == 0) ++ throw new AssertionError("Zero length image file"); ++ ByteArrayInputStream is = new ByteArrayInputStream(bytes); ++ ImageInputStream iis = new MemoryCacheImageInputStream(is); ++ ir.setInput(iis); ++ if (useStreamMeta) meta = ir.getStreamMetadata(); ++ else meta = ir.getImageMetadata(0); ++ ++ // Verify again after writing and re-reading the image ++ verify(meta.getAsTree(metaFormat), boolXpaths, true); ++ } ++ ++ public static void xtest(Object... eatAnyArguments) { ++ System.err.println("Disabled test! Change xtest back into test!"); ++ } ++ ++} +diff -r 91bc016862c4 -r 80fb12052ae4 test/javax/imageio/plugins/png/ITXtTest.java +--- openjdk.orig/jdk/test/javax/imageio/plugins/png/ITXtTest.java Mon Jan 12 16:02:47 2009 -0800 ++++ openjdk/jdk/test/javax/imageio/plugins/png/ITXtTest.java Tue Jan 13 16:55:12 2009 +0300 +@@ -123,7 +123,7 @@ + } + t.keyword = e.getAttribute("keyword"); + t.isCompressed = +- (Integer.valueOf(e.getAttribute("compressionFlag")).intValue() == 1); ++ Boolean.valueOf(e.getAttribute("compressionFlag")).booleanValue(); + t.compression = + Integer.valueOf(e.getAttribute("compressionMethod")).intValue(); + t.language = e.getAttribute("languageTag"); From ptisnovs at icedtea.classpath.org Thu Sep 8 03:51:21 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 08 Sep 2011 10:51:21 +0000 Subject: /hg/gfx-test: Added new test suite containing 5 new gfx.tests Co... Message-ID: changeset 9fe7efd696f4 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=9fe7efd696f4 author: Pavel Tisnovsky date: Thu Sep 08 12:53:15 2011 +0200 Added new test suite containing 5 new gfx.tests Constructive area geometry (CAG) diffstat: ChangeLog | 7 +++++++ Makefile | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diffs (37 lines): diff -r c43356096cb8 -r 9fe7efd696f4 ChangeLog --- a/ChangeLog Wed Sep 07 11:55:36 2011 +0200 +++ b/ChangeLog Thu Sep 08 12:53:15 2011 +0200 @@ -1,3 +1,10 @@ +2011-09-08 Pavel Tisnovsky + + * Makefile: added new classes to compile + * src/org/gfxtest/testsuites/CAGOperations.java: + Added new test suite containing 5 new gfx.tests + Constructive area geometry (CAG) + 2011-09-07 Pavel Tisnovsky * src/org/gfxtest/testsuites/RadialGradientPaint.java: diff -r c43356096cb8 -r 9fe7efd696f4 Makefile --- a/Makefile Wed Sep 07 11:55:36 2011 +0200 +++ b/Makefile Thu Sep 08 12:53:15 2011 +0200 @@ -133,7 +133,8 @@ $(CLASSES)/$(TESTSUITE_DIR)/SpecialCases.class \ $(CLASSES)/$(TESTSUITE_DIR)/GradientPaint.class \ $(CLASSES)/$(TESTSUITE_DIR)/LinearGradientPaint.class \ - $(CLASSES)/$(TESTSUITE_DIR)/RadialGradientPaint.class + $(CLASSES)/$(TESTSUITE_DIR)/RadialGradientPaint.class \ + $(CLASSES)/$(TESTSUITE_DIR)/CAGOperations.class COMPARE_RESULTS = \ $(RESULTS)/AALines \ @@ -173,7 +174,8 @@ $(RESULTS)/SpecialCases \ $(RESULTS)/GradientPaint \ $(RESULTS)/LinearGradientPaint \ - $(RESULTS)/RadialGradientPaint + $(RESULTS)/RadialGradientPaint \ + $(RESULTS)/CAGOperations # targets for all test suites TESTSUITES = $(shell ls -1 src/org/gfxtest/testsuites | sed -n -e 's/\([A-Za-z0-9]*\)\.java/\1/p') From ptisnovs at redhat.com Thu Sep 8 08:12:49 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 08 Sep 2011 17:12:49 +0200 Subject: Reviewer needed: backport of "6296893: BMP Writer handles TopDown property incorrectly for some of the compression types" to IcedTea6 HEAD Message-ID: <4E68DB71.1000808@redhat.com> Greetings, here's another backport I'd like to push to IcedTea6 HEAD: 6296893: BMP Writer handles TopDown property incorrectly for some of the compression types It fixes the BMP writer behaviour. The regression test contained in this backport works correctly. Tested on RHEL 5 x86_64. ChangeLog entry: 2011-09-08 Pavel Tisnovsky * Makefile.am: added new patch * NEWS: updated with backport * patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch: Backport of 6296893: BMP Writer handles TopDown property incorrectly for some of the compression types Can anybody please review this patch? Thank you in advance, Pavel -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 6296893_hg.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110908/553e9b00/6296893_hg.diff From ahughes at redhat.com Thu Sep 8 08:24:26 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 8 Sep 2011 16:24:26 +0100 Subject: Reviewer needed: backport of "6296893: BMP Writer handles TopDown property incorrectly for some of the compression types" to IcedTea6 HEAD In-Reply-To: <4E68DB71.1000808@redhat.com> References: <4E68DB71.1000808@redhat.com> Message-ID: <20110908152426.GA29880@rivendell.middle-earth.co.uk> On 17:12 Thu 08 Sep , Pavel Tisnovsky wrote: > Greetings, > > here's another backport I'd like to push to IcedTea6 HEAD: > > 6296893: BMP Writer handles TopDown property incorrectly for some of the > compression types > > It fixes the BMP writer behaviour. The regression test contained in this > backport works correctly. Tested on RHEL 5 x86_64. > > > ChangeLog entry: > > 2011-09-08 Pavel Tisnovsky > > * Makefile.am: added new patch > * NEWS: updated with backport > * patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch: > Backport of 6296893: BMP Writer handles TopDown property incorrectly > for some of the compression types > > > > Can anybody please review this patch? > > Thank you in advance, > Pavel This looks fine. What's your progress with getting some of these into OpenJDK6? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From ptisnovs at redhat.com Thu Sep 8 08:36:18 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 08 Sep 2011 17:36:18 +0200 Subject: Reviewer needed: backport of "6296893: BMP Writer handles TopDown property incorrectly for some of the compression types" to IcedTea6 HEAD In-Reply-To: <20110908152426.GA29880@rivendell.middle-earth.co.uk> References: <4E68DB71.1000808@redhat.com> <20110908152426.GA29880@rivendell.middle-earth.co.uk> Message-ID: <4E68E0F2.70402@redhat.com> Dr Andrew John Hughes wrote: > On 17:12 Thu 08 Sep , Pavel Tisnovsky wrote: >> Greetings, >> >> here's another backport I'd like to push to IcedTea6 HEAD: >> >> 6296893: BMP Writer handles TopDown property incorrectly for some of the >> compression types >> >> It fixes the BMP writer behaviour. The regression test contained in this >> backport works correctly. Tested on RHEL 5 x86_64. >> >> >> ChangeLog entry: >> >> 2011-09-08 Pavel Tisnovsky >> >> * Makefile.am: added new patch >> * NEWS: updated with backport >> * patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch: >> Backport of 6296893: BMP Writer handles TopDown property incorrectly >> for some of the compression types >> >> >> >> Can anybody please review this patch? >> >> Thank you in advance, >> Pavel > > This looks fine. thank you > > What's your progress with getting some of these into OpenJDK6? I thought that OpenJDK6 is now closed for new patches, but I could try to sent some fixes to the appropriate mail lists. From ptisnovs at icedtea.classpath.org Thu Sep 8 09:17:22 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 08 Sep 2011 16:17:22 +0000 Subject: /hg/icedtea6: Backport of 6296893: BMP Writer handles TopDown pr... Message-ID: changeset fb9bfc043a45 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fb9bfc043a45 author: ptisnovs date: Thu Sep 08 18:10:28 2011 +0200 Backport of 6296893: BMP Writer handles TopDown property incorrectly for some of the compression types diffstat: ChangeLog | 8 + Makefile.am | 3 +- NEWS | 1 + patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch | 193 ++++++++++ 4 files changed, 204 insertions(+), 1 deletions(-) diffs (238 lines): diff -r daabd8a14b5e -r fb9bfc043a45 ChangeLog --- a/ChangeLog Thu Sep 08 11:42:33 2011 +0200 +++ b/ChangeLog Thu Sep 08 18:10:28 2011 +0200 @@ -1,3 +1,11 @@ +2011-09-08 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch: + Backport of 6296893: BMP Writer handles TopDown property incorrectly + for some of the compression types + 2011-09-06 Pavel Tisnovsky * Makefile.am: added new patch diff -r daabd8a14b5e -r fb9bfc043a45 Makefile.am --- a/Makefile.am Thu Sep 08 11:42:33 2011 +0200 +++ b/Makefile.am Thu Sep 08 18:10:28 2011 +0200 @@ -378,7 +378,8 @@ patches/openjdk/6806261-BigDecimal_longValueExact_throws_NPE.patch \ patches/openjdk/6371401-BigInteger.shift_throws_StackOverflowError.patch \ patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch \ - patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch + patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch \ + patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r daabd8a14b5e -r fb9bfc043a45 NEWS --- a/NEWS Thu Sep 08 11:42:33 2011 +0200 +++ b/NEWS Thu Sep 08 18:10:28 2011 +0200 @@ -370,6 +370,7 @@ - S6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError - S6826104, RH730015: Getting a NullPointer exception when clicked on Application & Toolkit Modal dialog - S5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" + - S6296893: BMP Writer handles TopDown property incorrectly for some of the compression types * Allow selection of test suites using the jtreg_checks argument e.g. jtreg_checks="langtools" * CACAO - CA149: Used wrong class loader. diff -r daabd8a14b5e -r fb9bfc043a45 patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch Thu Sep 08 18:10:28 2011 +0200 @@ -0,0 +1,195 @@ +# HG changeset patch +# User bae +# Date 1244713662 -14400 +# Node ID 378feb59435b30ea3759a41ff165dadbad4604ec +# Parent b92e3fbbcb630d12708d33a5c94183c9b72e3458 +6296893: BMP Writer handles TopDown property incorrectly for some of the compression types +Reviewed-by: igor, prr + +diff -r b92e3fbbcb63 -r 378feb59435b src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java +--- openjdk.orig/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java Mon Jun 08 13:56:45 2009 -0700 ++++ openjdk/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java Thu Jun 11 13:47:42 2009 +0400 +@@ -506,6 +506,19 @@ + + writeFileHeader(fileSize, offset); + ++ /* According to MSDN description, the top-down image layout ++ * is allowed only if compression type is BI_RGB or BI_BITFIELDS. ++ * Images with any other compression type must be wrote in the ++ * bottom-up layout. ++ */ ++ if (compressionType == BMPConstants.BI_RGB || ++ compressionType == BMPConstants.BI_BITFIELDS) ++ { ++ isTopDown = bmpParam.isTopDown(); ++ } else { ++ isTopDown = false; ++ } ++ + writeInfoHeader(headerSize, bitsPerPixel); + + // compression +@@ -588,8 +601,6 @@ + return; + } + +- isTopDown = bmpParam.isTopDown(); +- + int maxBandOffset = bandOffsets[0]; + for (int i = 1; i < bandOffsets.length; i++) + if (bandOffsets[i] > maxBandOffset) +@@ -1299,7 +1310,7 @@ + stream.writeInt(w); + + // height +- stream.writeInt(h); ++ stream.writeInt(isTopDown ? -h : h); + + // number of planes + stream.writeShort(1); +diff -r b92e3fbbcb63 -r 378feb59435b test/javax/imageio/plugins/bmp/TopDownTest.java +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ openjdk/jdk/test/javax/imageio/plugins/bmp/TopDownTest.java Thu Jun 11 13:47:42 2009 +0400 +@@ -0,0 +1,142 @@ ++/* ++ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ++ * CA 95054 USA or visit www.sun.com if you need additional information or ++ * have any questions. ++ */ ++ ++/** ++ * @test ++ * @bug 6296893 ++ * @summary Test verifies that the isTopDown flag does not cause ++ * a writing of bmp image in wrong scanline layout. ++ * @run main TopDownTest ++ */ ++ ++import java.awt.Color; ++import java.awt.Graphics; ++import java.awt.image.BufferedImage; ++ ++import java.awt.image.IndexColorModel; ++import java.io.File; ++import java.io.IOException; ++import javax.imageio.IIOImage; ++import javax.imageio.ImageIO; ++import javax.imageio.ImageWriteParam; ++import javax.imageio.ImageWriter; ++import javax.imageio.plugins.bmp.BMPImageWriteParam; ++import javax.imageio.stream.ImageOutputStream; ++import static java.awt.image.BufferedImage.TYPE_INT_RGB; ++import static java.awt.image.BufferedImage.TYPE_BYTE_INDEXED; ++ ++public class TopDownTest { ++ ++ public static void main(String[] args) throws IOException { ++ BufferedImage src = createTestImage(24); ++ ++ writeWithCompression(src, "BI_BITFIELDS"); ++ ++ writeWithCompression(src, "BI_RGB"); ++ ++ src = createTestImage(8); ++ writeWithCompression(src, "BI_RLE8"); ++ ++ src = createTestImage(4); ++ writeWithCompression(src, "BI_RLE4"); ++ ++ } ++ ++ private static void writeWithCompression(BufferedImage src, ++ String compression) throws IOException ++ { ++ System.out.println("Compression: " + compression); ++ ImageWriter writer = ImageIO.getImageWritersByFormatName("BMP").next(); ++ if (writer == null) { ++ throw new RuntimeException("Test failed: no bmp writer available"); ++ } ++ File fout = File.createTempFile(compression + "_", ".bmp", ++ new File(".")); ++ ++ ImageOutputStream ios = ImageIO.createImageOutputStream(fout); ++ writer.setOutput(ios); ++ ++ BMPImageWriteParam param = (BMPImageWriteParam) ++ writer.getDefaultWriteParam(); ++ param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); ++ param.setCompressionType(compression); ++ param.setTopDown(true); ++ writer.write(null, new IIOImage(src, null, null), param); ++ writer.dispose(); ++ ios.flush(); ++ ios.close(); ++ ++ BufferedImage dst = ImageIO.read(fout); ++ ++ verify(dst); ++ } ++ ++ private static void verify(BufferedImage dst) { ++ int top_rgb = dst.getRGB(50, 25); ++ System.out.printf("top_rgb: %x\n", top_rgb); ++ int bot_rgb = dst.getRGB(50, 75); ++ System.out.printf("bot_rgb: %x\n", bot_rgb); ++ ++ // expect to see blue color on the top of image ++ if (top_rgb != 0xff0000ff) { ++ throw new RuntimeException("Invaid top color: " + ++ Integer.toHexString(bot_rgb)); ++ } ++ if (bot_rgb != 0xffff0000) { ++ throw new RuntimeException("Invalid bottom color: " + ++ Integer.toHexString(bot_rgb)); ++ } ++ } ++ ++ private static BufferedImage createTestImage(int bpp) { ++ ++ BufferedImage img = null; ++ switch (bpp) { ++ case 8: ++ img = new BufferedImage(100, 100, TYPE_BYTE_INDEXED); ++ break; ++ case 4: { ++ byte[] r = new byte[16]; ++ byte[] g = new byte[16]; ++ byte[] b = new byte[16]; ++ ++ r[1] = (byte)0xff; ++ b[0] = (byte)0xff; ++ ++ IndexColorModel icm = new IndexColorModel(4, 16, r, g, b); ++ img = new BufferedImage(100, 100, TYPE_BYTE_INDEXED, icm); ++ } ++ break; ++ case 24: ++ default: ++ img = new BufferedImage(100, 100, TYPE_INT_RGB); ++ } ++ Graphics g = img.createGraphics(); ++ g.setColor(Color.blue); ++ g.fillRect(0, 0, 100, 50); ++ g.setColor(Color.red); ++ g.fillRect(0, 50, 100, 50); ++ g.dispose(); ++ return img; ++ } ++} From ahughes at redhat.com Thu Sep 8 09:27:17 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 8 Sep 2011 17:27:17 +0100 Subject: Reviewer needed: backport of "6296893: BMP Writer handles TopDown property incorrectly for some of the compression types" to IcedTea6 HEAD In-Reply-To: <4E68E0F2.70402@redhat.com> References: <4E68DB71.1000808@redhat.com> <20110908152426.GA29880@rivendell.middle-earth.co.uk> <4E68E0F2.70402@redhat.com> Message-ID: <20110908162716.GB29880@rivendell.middle-earth.co.uk> On 17:36 Thu 08 Sep , Pavel Tisnovsky wrote: > Dr Andrew John Hughes wrote: > > On 17:12 Thu 08 Sep , Pavel Tisnovsky wrote: > >> Greetings, > >> > >> here's another backport I'd like to push to IcedTea6 HEAD: > >> > >> 6296893: BMP Writer handles TopDown property incorrectly for some of the > >> compression types > >> > >> It fixes the BMP writer behaviour. The regression test contained in this > >> backport works correctly. Tested on RHEL 5 x86_64. > >> > >> > >> ChangeLog entry: > >> > >> 2011-09-08 Pavel Tisnovsky > >> > >> * Makefile.am: added new patch > >> * NEWS: updated with backport > >> * patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch: > >> Backport of 6296893: BMP Writer handles TopDown property incorrectly > >> for some of the compression types > >> > >> > >> > >> Can anybody please review this patch? > >> > >> Thank you in advance, > >> Pavel > > > > This looks fine. > thank you > > > > What's your progress with getting some of these into OpenJDK6? > > I thought that OpenJDK6 is now closed for new patches, but I could try to sent > some fixes to the appropriate mail lists. No, only OpenJDK7 was ever closed during the period before the release, but that's now open again via the 7u trees. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From andrew at icedtea.classpath.org Thu Sep 8 09:50:16 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 08 Sep 2011 16:50:16 +0000 Subject: /hg/icedtea7: Fix duplicate gboolean definition. Message-ID: changeset 9f7e31696ac5 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=9f7e31696ac5 author: Andrew John Hughes date: Thu Sep 08 17:50:11 2011 +0100 Fix duplicate gboolean definition. 2011-09-08 Andrew John Hughes * Makefile.am: (JDK_CHANGESET): Bring in fix for duplicate gboolean definition. (JDK_SHA256SUM): Likewise. diffstat: ChangeLog | 7 +++++++ Makefile.am | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diffs (35 lines): diff -r 0af3b9f0e92e -r 9f7e31696ac5 ChangeLog --- a/ChangeLog Tue Sep 06 16:06:22 2011 +0100 +++ b/ChangeLog Thu Sep 08 17:50:11 2011 +0100 @@ -1,3 +1,10 @@ +2011-09-08 Andrew John Hughes + + * Makefile.am: + (JDK_CHANGESET): Bring in fix for duplicate + gboolean definition. + (JDK_SHA256SUM): Likewise. + 2011-09-06 Andrew John Hughes * patches/hotspot-gcc-pr36917.patch: diff -r 0af3b9f0e92e -r 9f7e31696ac5 Makefile.am --- a/Makefile.am Tue Sep 06 16:06:22 2011 +0100 +++ b/Makefile.am Thu Sep 08 17:50:11 2011 +0100 @@ -6,7 +6,7 @@ HOTSPOT_CHANGESET = 1dd9b3d73b22 JAXP_CHANGESET = c40983d6ae70 JAXWS_CHANGESET = 83db5e316798 -JDK_CHANGESET = db7a2639858b +JDK_CHANGESET = 097557275d7e LANGTOOLS_CHANGESET = fb7fb3071b64 OPENJDK_CHANGESET = 3defd24c2671 @@ -14,7 +14,7 @@ HOTSPOT_SHA256SUM = ffb1831a63e950bb7ade46a5382cb71d2603e0f40b3f758eb346833e18fca150 JAXP_SHA256SUM = 6ab0cab1965edb28e4093b55436abd04fbffe0b0251016043c75246c4ee9dc2d JAXWS_SHA256SUM = 5567c90ce2857016365b2e346783a3b16ec0e76b80586a0371f601b4fed01f21 -JDK_SHA256SUM = 81b510c80f3af0a1cd19704c616a68ff131362b517996ae65cb91c9a5849fcdc +JDK_SHA256SUM = b303e4c87e490ae9c33dc529320f7884ddd2dc2f2c1cfcde70790cb757b6ed1a LANGTOOLS_SHA256SUM = 9ddc00ec50fd2f5e331dc2bc10da4e23b69bf644eb92d50b39a2003c18fb5aa1 OPENJDK_SHA256SUM = 4043a75c2c4385dd735f8dbbf2369311ce1b951217c9dbe9bba9609e24eb291e From andrew at icedtea.classpath.org Thu Sep 8 16:04:05 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 08 Sep 2011 23:04:05 +0000 Subject: /hg/icedtea6-hg: 52 new changesets Message-ID: changeset bfbd7ccaa20c in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=bfbd7ccaa20c author: Andrew John Hughes date: Wed Jul 06 20:55:06 2011 +0100 Normalise whitespace in JPEG code. 2011-07-06 Andrew John Hughes * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/ codec/jpeg/ImageFormatException.java, * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /JPEGCodec.java, * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /JPEGDecodeParam.java, * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /JPEGEncodeParam.java, * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /JPEGHuffmanTable.java, * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /JPEGImageDecoder.java, * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /JPEGImageEncoder.java, * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /JPEGQTable.java, * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /TruncatedFileException.java, * overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEG ImageDecoderImpl.java, * overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEG ImageEncoderImpl.java, * overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEG Param.java: Normalise whitespace using Oracle normaliser. changeset 944778c61e3c in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=944778c61e3c author: Andrew John Hughes date: Wed Jul 06 23:24:30 2011 +0100 PR icedtea/752: Increase binary compatibility of JPEG classes. 2011-07-06 Andrew John Hughes Make JPEG classes more binary compatible with Oracle versions. * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /ImageFormatException.java: Extend RuntimeException. (ImageFormatException()): Call superclass constructor. * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /JPEGCodec.java: (JPEGCodec()): Make explicit private constructor to prevent implicit public one. * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /JPEGHuffmanTable.java: Don't extend javax.imageio.plugins.jpeg.JPEGHuffmanTable. (lengths): Added. (symbols): Added. (JPEGHuffmanTable(short[], short[])): Perform checks outlined in documentation. (getLengths()): Added. (getSymbols()): Return symbols. * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /JPEGImageEncoder.java: (getDefaultColorId(ColorModel)): Fix typo (was DefaultColorID). * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg /TruncatedFileException.java: (TruncatedFileException(BufferedImage)): Add missing constructor. (TruncatedFileException(Raster)): Likewise. (getBufferedImage()): Implemented. (getRaster()): Add missing method. (TruncatedFileException()): Removed. (TruncatedFileException(String)): Likewise. * overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEG ImageDecoderImpl.java: (decodeAsBufferedImage()): Remove unneeded qualification and convert from com.sun JPEGHuffmanTable to javax.imageio one. * overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEG ImageEncoderImpl.java: (getDefaultColorId(ColorModel)): Fix typo (was DefaultColorID). * NEWS: Updated. changeset 922f35a6bf90 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=922f35a6bf90 author: ptisnovs date: Thu Jul 07 11:47:06 2011 +0200 Fixed test location (added missing prefix 'jdk' into path). changeset b98c208a3244 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=b98c208a3244 author: ptisnovs date: Thu Jul 07 13:43:41 2011 +0200 Backport of 6842838 and 6882768. changeset 380a9db76b36 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=380a9db76b36 author: Andrew John Hughes date: Thu Jul 07 13:14:02 2011 +0100 Merge changeset d987bfbdfd8d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=d987bfbdfd8d author: Andrew John Hughes date: Thu Jul 07 14:17:12 2011 +0100 Bump to b23 release tarball. Remove last vesitages of md5sum usage. 2011-07-06 Andrew John Hughes * Makefile.am: (OPENJDK_DATE): Updated. (OPENJDK_SHA256SUM): Replaces OPENJDK_MD5SUM. (download- openjdk): Use sha256 as with all other bundles. (download-hotspot): Likewise. * configure.ac: Remove check for md5sum. * hotspot.map: Move to sha256. changeset 0911ad28ea98 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=0911ad28ea98 author: Andrew John Hughes date: Thu Jul 07 14:19:34 2011 +0100 Merge changeset 67985e03e768 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=67985e03e768 author: ptisnovs date: Fri Jul 08 14:10:47 2011 +0200 S6711682: JCheckBox in JTable: checkbox doesn't always respond to the first mouse click changeset 4ca76ee4a7a1 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=4ca76ee4a7a1 author: ptisnovs date: Mon Jul 11 10:59:47 2011 +0200 Added @ignore tag to regression test 7020373 because binary jar file needed to run the test is missing in OpenJDK6. changeset aae82c1ccf7d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=aae82c1ccf7d author: Xerxes R?nby date: Mon Jul 11 14:19:14 2011 +0200 Removal of the ARM assembler port, unbreaks Zero and Shark builds. 2011-07-11 Xerxes R?nby Removal of the ARM assembler port, unbreaks Zero and Shark builds. * Makefile.am: (ICEDTEA_PATCHES): Remove patches/arm.patch (clean-ports): Removed. (stamps/ports.stamp): Likewise. (hotspot-ports): Likewise. * arm_port/hotspot/src/cpu/zero/vm/asm_helper.cpp: Removed. * arm_port/hotspot/src/cpu/zero/vm/bytecodes_arm.def: Likewise. * arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S: Likewise. * arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp: Likewise. * arm_port/hotspot/tools/mkbc.c: Likewise. * patches/arm.patch: Likewise. changeset ad05410af28a in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=ad05410af28a author: Xerxes R?nby date: Mon Jul 11 23:31:50 2011 +0200 NEWS: Updated, mention removal of the ARM assembler port and Thumb2 JIT. 2011-07-11 Xerxes R?nby * NEWS: Updated. changeset 97402362be7d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=97402362be7d author: Andrew John Hughes date: Mon Jul 11 22:52:13 2011 +0100 List ARM removal in a more prominent location. 2011-07-11 Andrew John Hughes * NEWS: Place ARM removal in a more prominent location. changeset 802bc279de76 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=802bc279de76 author: Andrew John Hughes date: Mon Jul 11 23:02:26 2011 +0100 Sync NEWS file with other branches. 2011-07-11 Andrew John Hughes * NEWS: Import 1.10.2, 1.9.8, 1.8.8 and 1.10.1 release announcements. Sync 1.10 announcement with final version. Remove items from the 1.11 list that have been released in 1.10.1 & 1.10.2. changeset 15b2923c12a0 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=15b2923c12a0 author: Andrew John Hughes date: Mon Jul 11 23:52:57 2011 +0100 Fix addvm cleanup of jvm.cfg when it doesn't exist. 2011-07-11 Andrew John Hughes * Makefile.am: (clean-add-jamvm): Only perform sed on jvm.cfg if it exists and use correct path as in original rule. (clean-add-jamvm-debug): Likewise. (clean-add- cacao): Likewise. (clean-add-cacao-debug): Likewise. (clean-add-jamvm): Likewise. (clean-add-jamvm-debug): Likewise. changeset 32fa8c401cee in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=32fa8c401cee author: Andrew John Hughes date: Tue Jul 12 02:01:39 2011 +0100 PR732: Use xsltproc for bootstrap xslt in place of Xerces/Xalan 2011-05-25 Andrew John Hughes * Makefile.am: (ENDORSED_DIR): Removed. (ICEDTEA_ECJ_PATCHES): Add xsltproc.patch. Remove endorsed- dir-for-jvmti.patch. (ICEDTEA_ENV_ECJ): Set XSLT. Don't set ICEDTEA_ENDORSED_DIR or ENDORSED. (bootstrap-directory- stage1): Don't link xalan2, xerces2 or xalan2 serialiser. * acinclude.m4: (IT_FIND_XALAN2_JAR): Removed. (IT_FIND_XALAN2_SERIALIZER_JAR): Likewise. (IT_FIND_XERCES2_JAR): Likewise. (IT_FIND_XML_COMMONS_API_JAR): Likewise. * configure.ac: Replace calls to IT_FIND_XALAN2_JAR, IT_FIND_XALAN2_SERIALIZER_JAR, IT_FIND_XERCES2_JAR and IT_FIND_XML_COMMONS_API_JAR with call to IT_FIND_TOOL for xsltproc. * patches/ecj/xsltproc.patch: Patch jvmti.make in HotSpot to use xsltproc instead of Java's XSLT when bootstrapping. * patches/ecj/endorsed-dir-for-jvmti.patch: Remove addition of $(ENDORSED) to jvmti.make. * NEWS: Update and make bug fixes more prominent. changeset 98a64707ae8c in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=98a64707ae8c author: ptisnovs date: Tue Jul 12 09:52:46 2011 +0200 6758179: D3D: AlphaComposite is applied incorrectly for uncached opaque BufferedImage changeset fffcbae2c099 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=fffcbae2c099 author: ptisnovs date: Tue Jul 12 17:14:42 2011 +0200 Fix of regression test jdk/test/java/util/zip/ConstructDeflaterInput.java changeset d987aa111762 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=d987aa111762 author: Andrew John Hughes date: Wed Jul 13 21:27:14 2011 +0100 Add b23 changes. 2011-07-13 Andrew John Hughes * NEWS: Add b23 changes. changeset 3d5ae12b32b7 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=3d5ae12b32b7 author: Andrew John Hughes date: Wed Jul 13 21:28:45 2011 +0100 Merge changeset 7f168fd8f368 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=7f168fd8f368 author: ptisnovs date: Fri Jul 15 14:05:59 2011 +0200 6613904: javax.swing.GroupLayout.createParallelGroup(..) doesn't throw IllegalArgumentException for null arg changeset 76fc1df7874f in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=76fc1df7874f author: ptisnovs date: Fri Jul 15 14:11:36 2011 +0200 Added ChangeLog entry. changeset 523bbe184992 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=523bbe184992 author: dlila date: Fri Jul 15 08:46:37 2011 -0400 Backport anyblit fix. changeset 406c0d434ca3 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=406c0d434ca3 author: dlila date: Fri Jul 15 08:53:07 2011 -0400 Merge changeset 50eeb180dd77 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=50eeb180dd77 author: ptisnovs date: Tue Jul 19 13:19:30 2011 +0200 Fix for regression test hotspot/7020373, added missing source used to create the reproducer, removed unecessary patch patches/jtreg-7020373-add-ignore-tag.patch changeset 96f22f84fb9d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=96f22f84fb9d author: ptisnovs date: Wed Jul 20 10:28:01 2011 +0200 S4917091: javac rejects array over 128 in length changeset c2a1c2cf027e in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=c2a1c2cf027e author: ptisnovs date: Thu Jul 21 09:42:07 2011 +0200 S6390045: Unexpected error "cannot access java.lang.Void" with '-target cldc1.0' with -source >=1.5 changeset 3c107fae0e9d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=3c107fae0e9d author: ptisnovs date: Fri Jul 22 10:26:38 2011 +0200 S6752638: java.awt.GraphicsEnvironment.preferLocaleFonts() throws NPE on Linux changeset 8fa33e715417 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=8fa33e715417 author: ptisnovs date: Mon Jul 25 13:41:45 2011 +0200 S5047314: [Col] Collator.compare() runs indefinitely for a certain set of Thai strings changeset a6ba1170da98 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=a6ba1170da98 author: ptisnovs date: Mon Jul 25 13:44:57 2011 +0200 Fixed typo in NEWS, removed unnecessary patch file. changeset c1229a523e02 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=c1229a523e02 author: ptisnovs date: Fri Jul 29 11:23:42 2011 +0200 S6669869: Beans.isDesignTime() and other queries should be per- AppContext changeset 2ed07eebd884 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=2ed07eebd884 author: ptisnovs date: Mon Aug 01 17:06:47 2011 +0200 S6934356: Vector.writeObject() serialization may deadlock. changeset 013f83c2fa16 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=013f83c2fa16 author: Xerxes R?nby date: Tue Aug 02 15:02:27 2011 +0200 JamVM: Updated to 2011-08-01 revision. 2011-08-02 Xerxes R?nby JamVM - Put parsing of -cp and -classpath options back in. - Fix threading of references list during compaction. - Further fix to freeClassData for native methods. - Fix class GC with classes containing Miranda methods. - Propogate initialisation errors to top-level * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-08-01 revision. (JAMVM_SHA256SUM): Updated. changeset 9193b3c49dd0 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=9193b3c49dd0 author: Xerxes R?nby date: Tue Aug 09 11:21:50 2011 +0200 JamVM: Updated to 2011-08-08 revision. 2011-08-09 Xerxes R?nby JamVM - Remove empty clobber. - Use dots instead of slashes in classname for exception. - Correct thrown exception by bootstrap loader. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-08-08 revision. (JAMVM_SHA256SUM): Updated. changeset 305c98561e8d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=305c98561e8d author: Xerxes Ranby date: Tue Aug 09 11:34:28 2011 +0200 CACAO: Updated to 2011-08-08 revision. 2011-08-09 Xerxes R?nby CACAO - CA159: Exception handler blocks / register mixup. - Set thread to RUNNABLE during Thread.start. - Removed state-setting function call that would be done by the thread itself, creating a nasty race. * NEWS: Updated. * Makefile.am (CACAO_VERSION): Updated CACAO to 2011-08-08 revision. (CACAO_SHA256SUM): Updated. changeset 7c0028a7e2a3 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=7c0028a7e2a3 author: Xerxes Ranby date: Wed Aug 10 16:33:51 2011 +0200 PR772: JamVM + jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. 2011-08-10 Xerxes Ranby JamVM - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. * NEWS: Updated. * patches/jamvm/jmm_GetLongAttribute_201.patch: New patch. * Makefile.am: Apply JamVM patch. changeset fbfd59dbdf30 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=fbfd59dbdf30 author: ptisnovs date: Thu Aug 11 10:11:19 2011 +0200 Fixed typo in the name of patch fixing bug 6934356. changeset 4c641e5e379d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=4c641e5e379d author: ptisnovs date: Thu Aug 11 16:48:40 2011 +0200 S7036582: Improve test coverage of java.math.BigDecimal changeset f418ea6127b6 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=f418ea6127b6 author: Xerxes Ranby date: Fri Aug 12 17:02:19 2011 +0200 Zero/Shark: PR690: Shark fails to JIT using hs20, PR696: Zero fails to handle fast_aldc and fast_aldc_w in hs20. 2011-08-12 Xerxes Ranby Zero/Shark - PR690: Shark fails to JIT using hs20. - PR696: Zero fails to handle fast_aldc and fast_aldc_w in hs20. * patches/pr690-shark-jit-hs20.patch: New patch backported from OpenJDK 7 bug 7032458. * patches/pr696-zero-fast_aldc-hs20.patch: New patch backported from OpenJDK 7 bug 7032458 and 7030207. * Makefile.am: Added new patches. * NEWS: Updated. changeset e93e0b640f06 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=e93e0b640f06 author: ptisnovs date: Mon Aug 15 10:47:57 2011 +0200 6806261: BigDecimal.longValueExact() method throws NullPointerException changeset 773cee7545f2 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=773cee7545f2 author: ptisnovs date: Mon Aug 15 11:10:04 2011 +0200 Added LDFLAGS for JamVM to fix the SELinux executable flag issue. changeset a690c9e7e3bc in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=a690c9e7e3bc author: Xerxes Ranby date: Mon Aug 15 11:49:11 2011 +0200 JamVM: Updated to 2011-08-15 revision. 2011-08-15 Xerxes Ranby JamVM - Fix typo in definition of ACC_MIRANDA. - Intern strings when creating a StackTraceElement. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-08-15 revision. (JAMVM_SHA256SUM): Updated. changeset 0e26a40dddf3 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=0e26a40dddf3 author: Xerxes Ranby date: Mon Aug 15 12:08:18 2011 +0200 JamVM: Ignore assertions and verify options. 2011-08-15 Xerxes R?nby JamVM - Ignore assertions and verify options. * NEWS: Updated. * patches/jamvm/ignore-assertions-and-verify-options.patch: New patch. * Makefile.am: Apply JamVM patch. changeset 79671aecc0b0 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=79671aecc0b0 author: Xerxes Ranby date: Mon Aug 15 14:29:30 2011 +0200 JamVM: Fix regression introduced by; Intern strings when creating a StackTraceElement. 2011-08-15 Xerxes Ranby JamVM - Fix regression introduced by, Intern strings when creating a StackTraceElement, changeset 4dbc2ee340a600fc17451dfbcfc09e1f9844fc59. * NEWS: Updated. * patches/jamvm/4dbc2ee340a600fc17451dfbcfc09e1f9844fc59-regression.pa tch: New patch. * Makefile.am: Apply JamVM patch. changeset 1bec501e2dc7 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=1bec501e2dc7 author: ptisnovs date: Tue Aug 16 16:09:29 2011 +0200 S6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError changeset 759b17771e6a in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=759b17771e6a author: Xerxes Ranby date: Fri Aug 19 13:36:29 2011 +0200 JamVM: LP827463: Fix OpenJDK enclosingMethodInfo(), Updated JamVM to 2011-08-19 revision. 2011-08-19 Xerxes Ranby JamVM - LP827463: Fix OpenJDK enclosingMethodInfo(). - "Fix" handling of CLI bootclasspath options. - Fix for StackTraceElement checkin. * NEWS: Updated. * patches/jamvm/4dbc2ee340a600fc17451dfbcfc09e1f9844fc59-regression.pa tch: Replaced by upstream, Fix for StackTraceElement checkin, changeset 500a6c2f3b9769c73d872ea78de4237e427a443e. * Makefile.am (ICEDTEA_PATCHES): Remove upstreamed JamVM patch. (JAMVM_VERSION): Updated JamVM to 2011-08-19 revision. (JAMVM_SHA256SUM): Updated. changeset 9468557f98c0 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=9468557f98c0 author: Xerxes Ranby date: Tue Aug 30 12:30:04 2011 +0200 CACAO: CA149: Used wrong class loader, Updated to 2011-08-29 revision. 2011-08-30 Xerxes Ranby CACAO - CA149: Used wrong class loader. - src/vm/javaobjects.cpp (java_lang_reflect_Method::invoke): [OPENJDK] stack index of caller was off by one, causing many apt (Annotation Processing Tool) failures. * NEWS: Updated. * Makefile.am (CACAO_VERSION): Updated CACAO to 2011-08-29 revision. (CACAO_SHA256SUM): Updated. changeset b9ac502a6189 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=b9ac502a6189 author: Deepak Bhole date: Tue Aug 30 11:30:12 2011 -0400 S6826104, RH730015: Getting a NullPointer exception when clicked on Application & Toolkit Modal dialog * Makefile.am: Apply new patch for S6826104. * NEWS: Updated. * patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.pa tch: New patch that fixes S6826104. changeset c7dfe2b4791e in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=c7dfe2b4791e author: Xerxes Ranby date: Fri Sep 02 12:41:10 2011 +0200 JamVM: Add support for armhf. 2011-09-02 Xerxes Ranby JamVM - Add support for armhf. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-08-31 revision. (JAMVM_SHA256SUM): Updated. changeset fc183654bed3 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=fc183654bed3 author: Xerxes Ranby date: Mon Sep 05 12:45:12 2011 +0200 2011-09-05 Xerxes Ranby JamVM - armhf: ensure stack is 8 byte aligned. * NEWS: Updated. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2011-09-03 revision. (JAMVM_SHA256SUM): Updated. changeset daabd8a14b5e in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=daabd8a14b5e author: ptisnovs date: Thu Sep 08 11:42:33 2011 +0200 S5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" changeset fb9bfc043a45 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=fb9bfc043a45 author: ptisnovs date: Thu Sep 08 18:10:28 2011 +0200 Backport of 6296893: BMP Writer handles TopDown property incorrectly for some of the compression types changeset 8bddd11809ac in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=8bddd11809ac author: Andrew John Hughes date: Fri Sep 09 00:03:53 2011 +0100 Drop 6578583; upstreamed. 2011-09-08 Andrew John Hughes * patches/openjdk/6578583-modality-broken-vista.patch: Removed. * Makefile.am: Drop above patch, upstreamed. diffstat: ChangeLog | 530 + INSTALL | 16 +- Makefile.am | 190 +- NEWS | 485 +- acinclude.m4 | 136 +- arm_port/hotspot/src/cpu/zero/vm/asm_helper.cpp | 583 - arm_port/hotspot/src/cpu/zero/vm/bytecodes_arm.def | 7695 ---------- arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | 6336 -------- arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp | 7456 --------- arm_port/hotspot/tools/mkbc.c | 607 - configure.ac | 14 +- hotspot.map | 3 +- overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/ImageFormatException.java | 20 +- overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGCodec.java | 118 +- overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGDecodeParam.java | 74 +- overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGEncodeParam.java | 60 +- overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGHuffmanTable.java | 70 +- overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageDecoder.java | 14 +- overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageEncoder.java | 40 +- overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGQTable.java | 64 +- overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/TruncatedFileException.java | 48 +- overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGImageDecoderImpl.java | 65 +- overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGImageEncoderImpl.java | 154 +- overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGParam.java | 846 +- patches/arm.patch | 162 - patches/ecj/endorsed-dir-for-jvmti.patch | 12 - patches/ecj/xsltproc.patch | 53 + patches/gcc-suffix.patch | 29 + patches/hotspot/hs20/7032388-work_without_cmov_instruction.patch | 173 - patches/hotspot/hs20/7036220-shark_llvm_29_headers.patch | 43 - patches/hotspot/hs20/arm.patch | 56 - patches/hotspot/hs20/gcc-suffix.patch | 29 - patches/hotspot/hs20/ia64-fix.patch | 14 - patches/hotspot/hs20/params-cast-size_t.patch | 259 - patches/hotspot/hs20/powerpc-stacksize.patch | 39 - patches/hotspot/hs20/sparc-buildfixes.patch | 24 - patches/hotspot/hs20/systemtap.patch | 99 - patches/hotspot/hs20/text-relocations.patch | 60 - patches/hotspot/original/7032388-work_without_cmov_instruction.patch | 152 - patches/hotspot/original/arm.patch | 54 - patches/hotspot/original/gcc-suffix.patch | 29 - patches/hotspot/original/ia64-fix.patch | 28 - patches/hotspot/original/no-precompiled-headers.patch | 33 - patches/hotspot/original/params-cast-size_t.patch | 284 - patches/hotspot/original/sparc-buildfixes.patch | 32 - patches/hotspot/original/systemtap.patch | 97 - patches/hotspot/original/text-relocations.patch | 58 - patches/hotspot/original/too-many-args.patch | 45 - patches/ia64-fix.patch | 14 + patches/jamvm/ignore-assertions-and-verify-options.patch | 19 + patches/jamvm/jmm_GetLongAttribute_201.patch | 21 + patches/jaxp-serial-version-uid.patch | 51 - patches/jtreg-ConstructDeflaterInput-fix.patch | 9 + patches/jtreg-hotspot-Test7020373-fix.patch | 185 + patches/openjdk/4917091-javac_rejects_array_over_128_in_length.patch | 306 + patches/openjdk/5047314-Collator_compare_runs_indefinitely.patch | 115 + patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch | 352 + patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch | 193 + patches/openjdk/6371401-BigInteger.shift_throws_StackOverflowError.patch | 109 + patches/openjdk/6390045-error_cannot_access_java_lang_void.patch | 101 + patches/openjdk/6578583-modality-broken-vista.patch | 1439 - patches/openjdk/6599601-mark_sun_toolkit_privileged_code.patch | 21 - patches/openjdk/6613904-GroupLayout_createParallelGroup_null_arg.patch | 89 + patches/openjdk/6633275-shaped_translucent_windows.patch | 117 +- patches/openjdk/6669869-Beans_isDesignTime_should_be_per-AppContext.patch | 343 + patches/openjdk/6679308-Poor_text_rendering_on_translucent_image.patch | 1 - patches/openjdk/6711682-JCheckBox_in_JTable_does_not_respond_to_click.patch | 175 + patches/openjdk/6752638-preferLocaleFonts_throws_NPE.patch | 95 + patches/openjdk/6758179-D3D_AlphaComposite_is_applied_incorrectly.patch | 105 + patches/openjdk/6768387-jtable_not_serializable.patch | 104 - patches/openjdk/6806261-BigDecimal_longValueExact_throws_NPE.patch | 394 + patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch | 16 + patches/openjdk/6842838-64-bit_failure_in_handling_invalid_manifest.patch | 269 + patches/openjdk/6882768-test_for_6842838_is_broken.patch | 94 + patches/openjdk/6934356-Vector_writeObject_serialization_DL.patch | 290 + patches/openjdk/6997495-test_correction_6857159.patch | 20 - patches/openjdk/7029905-demo_applet_html_files.patch | 52 - patches/openjdk/7032388-work_without_cmov_instruction.patch | 173 + patches/openjdk/7036220-shark_llvm_29_headers.patch | 43 + patches/openjdk/7036582-Improve_test_coverage_of_BigDecimal.patch | 6163 ++++++++ patches/openjdk/7042040-no_disk_space_check.patch | 112 - patches/openjdk/7049339-anyblit-broken.patch | 109 + patches/params-cast-size_t.patch | 259 + patches/powerpc-stacksize.patch | 39 + patches/pr690-shark-jit-hs20.patch | 58 + patches/pr696-zero-fast_aldc-hs20.patch | 42 + patches/security/20110215/6878713.patch | 138 - patches/security/20110607/6213702.patch | 105 - patches/security/20110607/6618658.patch | 24 - patches/security/20110607/7012520.patch | 24 - patches/security/20110607/7013519.patch | 48 - patches/security/20110607/7013969.patch | 25 - patches/security/20110607/7013971.patch | 132 - patches/security/20110607/7016495.patch | 422 - patches/security/20110607/7020198.patch | 138 - patches/security/20110607/7020373.patch | 37 - patches/sparc-buildfixes.patch | 24 + patches/systemtap.patch | 99 + patches/text-relocations.patch | 60 + patches/xjc.patch | 14 +- 100 files changed, 12405 insertions(+), 28470 deletions(-) diffs (truncated from 43473 to 500 lines): diff -r 73e0d37b9ec3 -r 8bddd11809ac ChangeLog --- a/ChangeLog Fri Jul 01 14:41:45 2011 +0200 +++ b/ChangeLog Fri Sep 09 00:03:53 2011 +0100 @@ -1,3 +1,467 @@ +2011-09-08 Andrew John Hughes + + * patches/openjdk/6578583-modality-broken-vista.patch: + Removed. + * Makefile.am: Drop above patch, upstreamed. + +2011-09-08 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch: + Backport of 6296893: BMP Writer handles TopDown property incorrectly + for some of the compression types + +2011-09-06 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch: + Backport of 5082756: Image I/O plug-ins set metadata + boolean attributes to "true" or "false" + +2011-09-05 Xerxes R??nby + + JamVM + - armhf: ensure stack is 8 byte aligned. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-09-03 revision. + (JAMVM_SHA256SUM): Updated. + +2011-09-02 Xerxes R??nby + + JamVM + - Add support for armhf. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-08-31 revision. + (JAMVM_SHA256SUM): Updated. + +2011-08-30 Deepak Bhole + + S6826104, RH730015: Getting a NullPointer exception when clicked on Application & + Toolkit Modal dialog + * Makefile.am: Apply new patch for S6826104. + * NEWS: Updated. + * patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch: + New patch that fixes S6826104. + +2011-08-30 Xerxes R??nby + + CACAO + - CA149: Used wrong class loader. + - src/vm/javaobjects.cpp (java_lang_reflect_Method::invoke): + [OPENJDK] stack index of caller was off by one, causing many apt + (Annotation Processing Tool) failures. + * NEWS: Updated. + * Makefile.am + (CACAO_VERSION): Updated CACAO to 2011-08-29 revision. + (CACAO_SHA256SUM): Updated. + +2011-08-19 Xerxes R??nby + + JamVM + - LP827463: Fix OpenJDK enclosingMethodInfo(). + - "Fix" handling of CLI bootclasspath options. + - Fix for StackTraceElement checkin. + * NEWS: Updated. + * patches/jamvm/4dbc2ee340a600fc17451dfbcfc09e1f9844fc59-regression.patch: + Replaced by upstream, Fix for StackTraceElement checkin, + changeset 500a6c2f3b9769c73d872ea78de4237e427a443e. + * Makefile.am + (ICEDTEA_PATCHES): Remove upstreamed JamVM patch. + (JAMVM_VERSION): Updated JamVM to 2011-08-19 revision. + (JAMVM_SHA256SUM): Updated. + +2011-08-16 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6371401-BigInteger.shift_throws_StackOverflowError.patch: + Backport of 6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) + throws StackOverflowError + +2011-08-15 Xerxes R??nby + + JamVM + - Fix regression introduced by, Intern strings when creating a StackTraceElement, + changeset 4dbc2ee340a600fc17451dfbcfc09e1f9844fc59. + * NEWS: Updated. + * patches/jamvm/4dbc2ee340a600fc17451dfbcfc09e1f9844fc59-regression.patch: New patch. + * Makefile.am: Apply JamVM patch. + +2011-08-15 Xerxes R??nby + + JamVM + - Ignore assertions and verify options. + * NEWS: Updated. + * patches/jamvm/ignore-assertions-and-verify-options.patch: New patch. + * Makefile.am: Apply JamVM patch. + +2011-08-15 Xerxes R??nby + + JamVM + - Fix typo in definition of ACC_MIRANDA. + - Intern strings when creating a StackTraceElement. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-08-15 revision. + (JAMVM_SHA256SUM): Updated. + +2011-08-15 Pavel Tisnovsky + + * Makefile.am: added LDFLAGS for JamVM to fix the SELinux + executable flag issue. + +2011-08-15 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6806261-BigDecimal_longValueExact_throws_NPE.patch: + Backport of 6806261: BigDecimal.longValueExact() method throws + NullPointerException + +2011-08-12 Xerxes R??nby + + Zero/Shark + - PR690: Shark fails to JIT using hs20. + - PR696: Zero fails to handle fast_aldc and fast_aldc_w in hs20. + * patches/pr690-shark-jit-hs20.patch: New patch backported from + OpenJDK 7 bug 7032458. + * patches/pr696-zero-fast_aldc-hs20.patch: New patch backported from + OpenJDK 7 bug 7032458 and 7030207. + * Makefile.am: Added new patches. + * NEWS: Updated. + +2011-08-11 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/7036582-Improve_test_coverage_of_BigDecimal.patch: + Backport of 7036582: Improve test coverage of java.math.BigDecimal + +2011-08-11 Pavel Tisnovsky + + * Makefile.am: fixed typo in patch name + * patches/openjdk/6934356_Vector_writeObject_serialization_DL.patch: + Deleted + * patches/openjdk/6934356-Vector_writeObject_serialization_DL.patch: + Added as replacement of deleted patch file. + +2011-08-10 Xerxes R??nby + + JamVM + - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. + * NEWS: Updated. + * patches/jamvm/jmm_GetLongAttribute_201.patch: New patch. + * Makefile.am: Apply JamVM patch. + +2011-08-09 Xerxes R??nby + + CACAO + - CA159: Exception handler blocks / register mixup. + - Set thread to RUNNABLE during Thread.start. + - Removed state-setting function call that would be done by the thread + itself, creating a nasty race. + * NEWS: Updated. + * Makefile.am + (CACAO_VERSION): Updated CACAO to 2011-08-08 revision. + (CACAO_SHA256SUM): Updated. + +2011-08-09 Xerxes R??nby + + JamVM + - Remove empty clobber. + - Use dots instead of slashes in classname for exception. + - Correct thrown exception by bootstrap loader. + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-08-08 revision. + (JAMVM_SHA256SUM): Updated. + +2011-08-02 Xerxes R??nby + + JamVM + - Put parsing of -cp and -classpath options back in. + - Fix threading of references list during compaction. + - Further fix to freeClassData for native methods. + - Fix class GC with classes containing Miranda methods. + - Propogate initialisation errors to top-level + * NEWS: Updated. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2011-08-01 revision. + (JAMVM_SHA256SUM): Updated. + +2011-08-01 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6934356_Vector_writeObject_serialization_DL.patch: + Backport of 6934356. + +2011-07-29 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6669869-Beans_isDesignTime_should_be_per-AppContext.patch: + Backport of 6669869. + +2011-07-25 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/5047314-Collator_compare_runs_indefinitely.patch: + Backport of 5047314. + +2011-07-22 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6752638-preferLocaleFonts_throws_NPE.patch: + Backport of 6752638. + +2011-07-21 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6390045-error_cannot_access_java_lang_void.patch: + Backport of 6390045. + +2011-07-20 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/4917091-javac_rejects_array_over_128_in_length.patch: + Backport of 4917091. + +2011-07-19 Marc Schoenefeld + Pavel Tisnovsky + + * Makefile.am: added new patch + * patches/jtreg-hotspot-Test7020373-fix.patch: + Fix for regression test hotspot/7020373, added missing + source used to create the reproducer. + * patches/jtreg-7020373-add-ignore-tag.patch: + Removed because it is not longer needed. + +2011-07-15 Denis Lila + + * Makefile.am: Added patch. + * NEWS: Added backport. + * patches/openjdk/7049339-anyblit-broken.patch: + Backport of S7049339. + +2011-07-15 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6613904-GroupLayout_createParallelGroup_null_arg.patch: + Backport of 6613904. + +2011-07-13 Andrew John Hughes + + * NEWS: Add b23 changes. + +2011-07-12 Pavel Tisnovsky + + * Makefile.am: added new patch + * patches/jtreg-ConstructDeflaterInput-fix.patch: + Regression test jdk/test/java/util/zip/ConstructDeflaterInput.java + should be run in othervm mode to not to print messages to JTreg + log files (such messages must be stored in .jtr file). + +2011-07-12 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6758179-D3D_AlphaComposite_is_applied_incorrectly.patch: + Backport of 6758179. + +2011-05-25 Andrew John Hughes + + * Makefile.am: + (ENDORSED_DIR): Removed. + (ICEDTEA_ECJ_PATCHES): Add xsltproc.patch. + Remove endorsed-dir-for-jvmti.patch. + (ICEDTEA_ENV_ECJ): Set XSLT. Don't + set ICEDTEA_ENDORSED_DIR or ENDORSED. + (bootstrap-directory-stage1): Don't link + xalan2, xerces2 or xalan2 serialiser. + * acinclude.m4: + (IT_FIND_XALAN2_JAR): Removed. + (IT_FIND_XALAN2_SERIALIZER_JAR): Likewise. + (IT_FIND_XERCES2_JAR): Likewise. + (IT_FIND_XML_COMMONS_API_JAR): Likewise. + * configure.ac: + Replace calls to IT_FIND_XALAN2_JAR, + IT_FIND_XALAN2_SERIALIZER_JAR, + IT_FIND_XERCES2_JAR and + IT_FIND_XML_COMMONS_API_JAR with call to + IT_FIND_TOOL for xsltproc. + * patches/ecj/xsltproc.patch: + Patch jvmti.make in HotSpot to use + xsltproc instead of Java's XSLT + when bootstrapping. + * patches/ecj/endorsed-dir-for-jvmti.patch: + Remove addition of $(ENDORSED) to + jvmti.make. + * NEWS: Update and make bug fixes more + prominent. + +2011-07-11 Andrew John Hughes + + * Makefile.am: + (clean-add-jamvm): Only perform sed on jvm.cfg + if it exists and use correct path as in original + rule. + (clean-add-jamvm-debug): Likewise. + (clean-add-cacao): Likewise. + (clean-add-cacao-debug): Likewise. + (clean-add-jamvm): Likewise. + (clean-add-jamvm-debug): Likewise. + +2011-07-11 Andrew John Hughes + + * NEWS: Import 1.10.2, 1.9.8, 1.8.8 and + 1.10.1 release announcements. Sync 1.10 + announcement with final version. Remove + items from the 1.11 list that have been + released in 1.10.1 & 1.10.2. + +2011-07-11 Andrew John Hughes + + * NEWS: Place ARM removal in a more + prominent location. + +2011-07-11 Xerxes R??nby + + * NEWS: Updated. + +2011-07-11 Xerxes R??nby + + Removal of the ARM assembler port, unbreaks Zero and Shark builds. + * Makefile.am: + (ICEDTEA_PATCHES): Remove patches/arm.patch. + (clean-ports): Removed. + (stamps/ports.stamp): Likewise. + (hotspot-ports): Likewise. + * arm_port/hotspot/src/cpu/zero/vm/asm_helper.cpp: Removed. + * arm_port/hotspot/src/cpu/zero/vm/bytecodes_arm.def: Likewise. + * arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S: Likewise. + * arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp: Likewise. + * arm_port/hotspot/tools/mkbc.c: Likewise. + * patches/arm.patch: Likewise. + +2011-07-11 Pavel Tisnovsky + + * Makefile.am: added new patch + * patches/jtreg-7020373-add-ignore-tag.patch: + Added @ignore tag to this regression test because binary jar + file needed to run the test is missing in OpenJDK6. + +2011-07-08 Pavel Tisnovsky + + * Makefile.am: added new patch + * NEWS: updated with backport + * patches/openjdk/6711682-JCheckBox_in_JTable_does_not_respond_to_click.patch: + Backport of 6711682. + +2011-07-07 Andrew John Hughes + + * Makefile.am: + (OPENJDK_DATE): Updated. + (OPENJDK_SHA256SUM): Replaces OPENJDK_MD5SUM. + (download-openjdk): Use sha256 as with all + other bundles. + (download-hotspot): Likewise. + * configure.ac: Remove check for md5sum. + * hotspot.map: Move to sha256. + +2011-07-07 Pavel Tisnovsky + + * Makefile.am: added new patches + * NEWS: updated with backports + * patches/openjdk/6842838-64-bit_failure_in_handling_invalid_manifest.patch: + * patches/openjdk/6882768-test_for_6842838_is_broken.patch: + Backport of 6842838 and 6882768. + +2011-07-07 Pavel Tisnovsky + + * patches/openjdk/6679308-Poor_text_rendering_on_translucent_image.patch: + Fixed test location (added missing prefix 'jdk' into path). + +2011-07-06 Andrew John Hughes + + Make JPEG classes more binary compatible with + Oracle versions. + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/ImageFormatException.java: + Extend RuntimeException. + (ImageFormatException()): Call superclass constructor. + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGCodec.java: + (JPEGCodec()): Make explicit private constructor to prevent implicit public one. + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGHuffmanTable.java: + Don't extend javax.imageio.plugins.jpeg.JPEGHuffmanTable. + (lengths): Added. + (symbols): Added. + (JPEGHuffmanTable(short[], short[])): Perform checks outlined in documentation. + (getLengths()): Added. + (getSymbols()): Return symbols. + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageEncoder.java: + (getDefaultColorId(ColorModel)): Fix typo (was DefaultColorID). + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/TruncatedFileException.java: + (TruncatedFileException(BufferedImage)): Add missing constructor. + (TruncatedFileException(Raster)): Likewise. + (getBufferedImage()): Implemented. + (getRaster()): Add missing method. + (TruncatedFileException()): Removed. + (TruncatedFileException(String)): Likewise. + * overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGImageDecoderImpl.java: + (decodeAsBufferedImage()): Remove unneeded qualification and convert from com.sun JPEGHuffmanTable + to javax.imageio one. + * overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGImageEncoderImpl.java: + (getDefaultColorId(ColorModel)): Fix typo (was DefaultColorID). + * NEWS: Updated. + +2011-07-06 Andrew John Hughes + + * patches/security/20110215/6878713.patch, + * patches/security/20110607/6213702.patch, + * patches/security/20110607/6618658.patch, + * patches/security/20110607/7012520.patch, + * patches/security/20110607/7013519.patch, + * patches/security/20110607/7013969.patch, + * patches/security/20110607/7013971.patch, + * patches/security/20110607/7016495.patch, + * patches/security/20110607/7020198.patch, + * patches/security/20110607/7020373.patch: + Removed; upstream. + * Makefile.am: + (JAXWS_DROP_ZIP): Updatede. + (JAXWS_DROP_SHA256SUM): Likewise. + (JAXP_DROP_ZIP): Likewise. + (JAXP_DROP_SHA256SUM): Likewise. + (SECURITY_PATCHES): Set to empty. + * patches/xjc.patch: Revert to pre-security + patch version (security patch is now part of the + tarball, not a patch) + +2011-07-06 Andrew John Hughes + + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/ImageFormatException.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGCodec.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGDecodeParam.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGEncodeParam.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGHuffmanTable.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageDecoder.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGImageEncoder.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/JPEGQTable.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/com/sun/image/codec/jpeg/TruncatedFileException.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGImageDecoderImpl.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGImageEncoderImpl.java, + * overlays/jpeg/openjdk/jdk/src/share/classes/sun/awt/image/codec/JPEGParam.java: + Normalise whitespace using Oracle normaliser. + 2011-07-01 Pavel Tisnovsky * Makefile.am: added new patches @@ -478,6 +942,54 @@ make the test compatible with OpenJDK7/IcedTea7, disabling printing unnecessary information to error output. +2011-05-18 Andrew John Hughes + + * patches/hotspot/hs20/7032388-work_without_cmov_instruction.patch, + * patches/hotspot/hs20/arm.patch, + * patches/hotspot/hs20/gcc-suffix.patch, + * patches/hotspot/hs20/ia64-fix.patch, + * patches/hotspot/hs20/params-cast-size_t.patch, + * patches/hotspot/hs20/powerpc-stacksize.patch, + * patches/hotspot/hs20/sparc-buildfixes.patch, + * patches/hotspot/hs20/systemtap.patch, + * patches/hotspot/hs20/text-relocations.patch: + Moved to main tree. + * patches/hotspot/original/7032388-work_without_cmov_instruction.patch, + * patches/hotspot/original/arm.patch, + * patches/hotspot/original/gcc-suffix.patch, + * patches/hotspot/original/ia64-fix.patch, + * patches/hotspot/original/no-precompiled-headers.patch, + * patches/hotspot/original/params-cast-size_t.patch, + * patches/hotspot/original/sparc-buildfixes.patch, + * patches/hotspot/original/systemtap.patch, + * patches/hotspot/original/text-relocations.patch, + * patches/hotspot/original/too-many-args.patch: + Dropped; hs19 no longer supported. + * patches/openjdk/6599601-mark_sun_toolkit_privileged_code.patch, + * patches/openjdk/6997495-test_correction_6857159.patch, From ptisnovs at redhat.com Fri Sep 9 02:24:29 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 09 Sep 2011 11:24:29 +0200 Subject: Reviewer needed: backport of "6795544: GIFImageWriter does not write the subImage of BufferedImage to a file correctly" into IcedTea6 HEAD Message-ID: <4E69DB4D.4040300@redhat.com> Greetings, Here's yet another backport I'd like to push to IcedTea6 HEAD: "6795544: GIFImageWriter does not write the subImage of BufferedImage to a file correctly" Tested on RHEL 5 x86_64, including successful run of JTreg test contained in the patch. ChangeLog entry: 2011-09-09 Pavel Tisnovsky * Makefile.am: added new patch * NEWS: updated with backport * patches/openjdk/6795544-GIFImageWriter_does_not_write_subImage.patch: Backport of 6795544: GIFImageWriter does not write the subImage of BufferedImage to a file correctly. Can anybody please review this change? Thank you in advance Pavel PS: I'm going to ask for backport this change to OpenJDK6 too. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 6795544_hg.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110909/09b24d13/6795544_hg.diff From ptisnovs at icedtea.classpath.org Fri Sep 9 04:46:34 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 09 Sep 2011 11:46:34 +0000 Subject: /hg/gfx-test: Added new test cases - subtraction, intersection a... Message-ID: changeset 221ec39deecf in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=221ec39deecf author: Pavel Tisnovsky date: Fri Sep 09 13:48:28 2011 +0200 Added new test cases - subtraction, intersection and XOR constructive area geometry operations. diffstat: ChangeLog | 9 + Makefile | 4 +- src/org/gfxtest/testsuites/CAGOperationsOnAreas.java | 603 +++++++++++++++++++ 3 files changed, 614 insertions(+), 2 deletions(-) diffs (truncated from 644 to 500 lines): diff -r 9fe7efd696f4 -r 221ec39deecf ChangeLog --- a/ChangeLog Thu Sep 08 12:53:15 2011 +0200 +++ b/ChangeLog Fri Sep 09 13:48:28 2011 +0200 @@ -1,3 +1,12 @@ +2011-09-09 Pavel Tisnovsky + + * Makefile: renamed classes to compile + * src/org/gfxtest/testsuites/CAGOperations.java: + * src/org/gfxtest/testsuites/CAGOperationsOnAreas.java: + Renamed, because new similar CAG tests will be prepared. + Added new test cases - subtraction, intersection and XOR + constructive area geometry operations. + 2011-09-08 Pavel Tisnovsky * Makefile: added new classes to compile diff -r 9fe7efd696f4 -r 221ec39deecf Makefile --- a/Makefile Thu Sep 08 12:53:15 2011 +0200 +++ b/Makefile Fri Sep 09 13:48:28 2011 +0200 @@ -134,7 +134,7 @@ $(CLASSES)/$(TESTSUITE_DIR)/GradientPaint.class \ $(CLASSES)/$(TESTSUITE_DIR)/LinearGradientPaint.class \ $(CLASSES)/$(TESTSUITE_DIR)/RadialGradientPaint.class \ - $(CLASSES)/$(TESTSUITE_DIR)/CAGOperations.class + $(CLASSES)/$(TESTSUITE_DIR)/CAGOperationsOnAreas.class COMPARE_RESULTS = \ $(RESULTS)/AALines \ @@ -175,7 +175,7 @@ $(RESULTS)/GradientPaint \ $(RESULTS)/LinearGradientPaint \ $(RESULTS)/RadialGradientPaint \ - $(RESULTS)/CAGOperations + $(RESULTS)/CAGOperationsOnAreas # targets for all test suites TESTSUITES = $(shell ls -1 src/org/gfxtest/testsuites | sed -n -e 's/\([A-Za-z0-9]*\)\.java/\1/p') diff -r 9fe7efd696f4 -r 221ec39deecf src/org/gfxtest/testsuites/CAGOperationsOnAreas.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnAreas.java Fri Sep 09 13:48:28 2011 +0200 @@ -0,0 +1,603 @@ +/* + Java gfx-test framework + + Copyright (C) 2010, 2011 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.Graphics2D; +import java.awt.geom.Area; +import java.awt.geom.Ellipse2D; + + + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + + + +/** + * This test checks the process of creating and rendering new geometric shapes + * 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 Areas. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class CAGOperationsOnAreas extends GfxTest +{ + + /** + * Compute radius of circle from the position of center point in an image. + * + * @param xc + * x-coordinate of the center of the test image. + * @param y + * y-coordinate of the center of the test image. + * @return radius of circle + */ + private int computeRadius(int xc, int yc) + { + return ((xc > yc ? yc : xc) << 1) / 3; + } + + /** + * Create circle area. + * + * @param xc + * the X coordinate of the center of circle + * @param yc + * the Y coordinate of the center of circle + * @param radius + * radius of circle + * @return newly created area containing one circle + */ + private Area createCircleArea(int xc, int yc, int radius) + { + Ellipse2D circle = new Ellipse2D.Double(xc - radius, yc - radius, radius << 1, radius << 1); + return new Area(circle); + } + + /** + * Create area composed of only one circle. This circle is placed on the + * left side of the image. + * + * @param image + * image to which line is to be drawn + * @return newly created area containing one circle + */ + private Area createFirstCircleArea(TestImage image) + { + int xc = image.getCenterX(); + int yc = image.getCenterY(); + int radius = computeRadius(xc, yc); + int x1 = xc - 3 * (radius >> 2); + return createCircleArea(x1, yc, radius); + } + + /** + * Create area composed of only one circle. This circle is placed on the + * right side of the image. + * + * @param image + * image to which line is to be drawn + * @return newly created area containing one circle + */ + private Area createSecondCircleArea(TestImage image) + { + int xc = image.getCenterX(); + int yc = image.getCenterY(); + int radius = computeRadius(xc, yc); + int x2 = xc + 3 * (radius >> 2); + return createCircleArea(x2, yc, radius); + } + + /** + * Create new area composed from two circles using union operator. + * + * @param image + * image to which line is to be drawn + * @return new area composed of two circles + */ + private Area createAreaFromCirclesUsingUnionOperator(TestImage image) + { + Area circle1Area = createFirstCircleArea(image); + Area circle2Area = createSecondCircleArea(image); + Area area = new Area(); + area.add(circle1Area); + area.add(circle2Area); + return area; + } + + /** + * Create new area composed from two circles using subtract operator. + * + * @param image + * image to which line is to be drawn + * @return new area composed of two circles + */ + private Area createAreaFromCirclesUsingSubtractOperator(TestImage image) + { + Area circle1Area = createFirstCircleArea(image); + Area circle2Area = createSecondCircleArea(image); + Area area = new Area(); + area.add(circle1Area); + area.subtract(circle2Area); + return area; + } + + /** + * Create new area composed from two circles using subtract operator. + * + * @param image + * image to which line is to be drawn + * @return new area composed of two circles + */ + private Area createAreaFromCirclesUsingInverseSubtractOperator(TestImage image) + { + Area circle1Area = createFirstCircleArea(image); + Area circle2Area = createSecondCircleArea(image); + Area area = new Area(); + area.add(circle2Area); + area.subtract(circle1Area); + return area; + } + + /** + * Create new area composed from two circles using intersect operator. + * + * @param image + * image to which line is to be drawn + * @return new area composed of two circles + */ + private Area createAreaFromCirclesUsingIntersectOperator(TestImage image) + { + Area circle1Area = createFirstCircleArea(image); + Area circle2Area = createSecondCircleArea(image); + Area area = new Area(); + area.add(circle1Area); + area.intersect(circle2Area); + return area; + } + + /** + * Create new area composed from two circles using XOR operator. + * + * @param image + * image to which line is to be drawn + * @return new area composed of two circles + */ + private Area createAreaFromCirclesUsingXorOperator(TestImage image) + { + Area circle1Area = createFirstCircleArea(image); + Area circle2Area = createSecondCircleArea(image); + Area area = new Area(); + area.add(circle1Area); + area.exclusiveOr(circle2Area); + return area; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using union operator. The shape is rendered + * using stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionStrokePaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // create area using union operator + Area area = createAreaFromCirclesUsingUnionOperator(image); + // draw the area + graphics.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using subtract operator. The shape is + * rendered using stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractStrokePaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // create area using subtract operator + Area area = createAreaFromCirclesUsingSubtractOperator(image); + // draw the area + graphics.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using inverse subtract operator. The shape + * is rendered using stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractStrokePaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // create area using subtract operator + Area area = createAreaFromCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using intersect operator. The shape is + * rendered using stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectStrokePaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // create area using intersect operator + Area area = createAreaFromCirclesUsingIntersectOperator(image); + // draw the area + graphics.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using XOR operator. The shape is rendered + * using stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorStrokePaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // create area using XOR operator + Area area = createAreaFromCirclesUsingXorOperator(image); + // draw the area + graphics.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using union operator. The shape is rendered + * using color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area using union operator + Area area = createAreaFromCirclesUsingUnionOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using subtract operator. The shape is + * rendered using color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area using subtract operator + Area area = createAreaFromCirclesUsingSubtractOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using intersect operator. The shape is + * rendered using color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area using intersect operator + Area area = createAreaFromCirclesUsingIntersectOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using XOR operator. The shape is rendered + * using color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area using XOR operator + Area area = createAreaFromCirclesUsingXorOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using union operator. The shape is rendered + * using horizontal gradient paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionColorHorizontalGradientPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setHorizontalGradientFill(image, graphics); + // create area using union operator + Area area = createAreaFromCirclesUsingUnionOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using subtract operator. The shape is rendered + * using horizontal gradient paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ From andrew at icedtea.classpath.org Fri Sep 9 09:34:23 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 09 Sep 2011 16:34:23 +0000 Subject: /hg/icedtea7: Fix another duplicate gboolean definition. Message-ID: changeset 094e2ade4134 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=094e2ade4134 author: Andrew John Hughes date: Fri Sep 09 17:34:17 2011 +0100 Fix another duplicate gboolean definition. 2011-09-09 Andrew John Hughes * Makefile.am: (JDK_CHANGESET): Bring in fix for another duplicate gboolean definition. (JDK_SHA256SUM): Likewise. diffstat: ChangeLog | 7 +++++++ Makefile.am | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diffs (35 lines): diff -r 9f7e31696ac5 -r 094e2ade4134 ChangeLog --- a/ChangeLog Thu Sep 08 17:50:11 2011 +0100 +++ b/ChangeLog Fri Sep 09 17:34:17 2011 +0100 @@ -1,3 +1,10 @@ +2011-09-09 Andrew John Hughes + + * Makefile.am: + (JDK_CHANGESET): Bring in fix for another + duplicate gboolean definition. + (JDK_SHA256SUM): Likewise. + 2011-09-08 Andrew John Hughes * Makefile.am: diff -r 9f7e31696ac5 -r 094e2ade4134 Makefile.am --- a/Makefile.am Thu Sep 08 17:50:11 2011 +0100 +++ b/Makefile.am Fri Sep 09 17:34:17 2011 +0100 @@ -6,7 +6,7 @@ HOTSPOT_CHANGESET = 1dd9b3d73b22 JAXP_CHANGESET = c40983d6ae70 JAXWS_CHANGESET = 83db5e316798 -JDK_CHANGESET = 097557275d7e +JDK_CHANGESET = 80fe75968a0b LANGTOOLS_CHANGESET = fb7fb3071b64 OPENJDK_CHANGESET = 3defd24c2671 @@ -14,7 +14,7 @@ HOTSPOT_SHA256SUM = ffb1831a63e950bb7ade46a5382cb71d2603e0f40b3f758eb346833e18fca150 JAXP_SHA256SUM = 6ab0cab1965edb28e4093b55436abd04fbffe0b0251016043c75246c4ee9dc2d JAXWS_SHA256SUM = 5567c90ce2857016365b2e346783a3b16ec0e76b80586a0371f601b4fed01f21 -JDK_SHA256SUM = b303e4c87e490ae9c33dc529320f7884ddd2dc2f2c1cfcde70790cb757b6ed1a +JDK_SHA256SUM = c083590700305ffdea31a1487956d8304cdbb3a5da79e92c3f2efc3e8a26a06d LANGTOOLS_SHA256SUM = 9ddc00ec50fd2f5e331dc2bc10da4e23b69bf644eb92d50b39a2003c18fb5aa1 OPENJDK_SHA256SUM = 4043a75c2c4385dd735f8dbbf2369311ce1b951217c9dbe9bba9609e24eb291e From ptisnovs at icedtea.classpath.org Mon Sep 12 06:08:57 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 12 Sep 2011 13:08:57 +0000 Subject: /hg/gfx-test: Added new test suite containing 5 new gfx.tests fr... Message-ID: changeset b07fde3d88fd in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=b07fde3d88fd author: Pavel Tisnovsky date: Mon Sep 12 15:10:51 2011 +0200 Added new test suite containing 5 new gfx.tests from the domain of Constructive area geometry (CAG): org/gfxtest/testsuites/CAGOperationsOnRectangles.java diffstat: ChangeLog | 13 +- Makefile | 6 +- src/org/gfxtest/framework/TestImage.java | 10 + src/org/gfxtest/testsuites/CAGOperationsOnAreas.java | 603 -------------- src/org/gfxtest/testsuites/CAGOperationsOnCircles.java | 603 ++++++++++++++ src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java | 352 ++++++++ 6 files changed, 981 insertions(+), 606 deletions(-) diffs (truncated from 1640 to 500 lines): diff -r 221ec39deecf -r b07fde3d88fd ChangeLog --- a/ChangeLog Fri Sep 09 13:48:28 2011 +0200 +++ b/ChangeLog Mon Sep 12 15:10:51 2011 +0200 @@ -1,3 +1,14 @@ +2011-09-12 Pavel Tisnovsky + + * Makefile: added new class to compile + * src/org/gfxtest/framework/TestImage.java: + Added new getter getGrid(). + * src/org/gfxtest/testsuites/CAGOperationsOnAreas.java: + * src/org/gfxtest/testsuites/CAGOperationsOnCircles.java: + * src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java: + Added new test suite containing 5 new gfx.tests from the domain of + Constructive area geometry (CAG) + 2011-09-09 Pavel Tisnovsky * Makefile: renamed classes to compile @@ -11,7 +22,7 @@ * Makefile: added new classes to compile * src/org/gfxtest/testsuites/CAGOperations.java: - Added new test suite containing 5 new gfx.tests + Added new test suite containing 5 new gfx.tests from the domain of Constructive area geometry (CAG) 2011-09-07 Pavel Tisnovsky diff -r 221ec39deecf -r b07fde3d88fd Makefile --- a/Makefile Fri Sep 09 13:48:28 2011 +0200 +++ b/Makefile Mon Sep 12 15:10:51 2011 +0200 @@ -134,7 +134,8 @@ $(CLASSES)/$(TESTSUITE_DIR)/GradientPaint.class \ $(CLASSES)/$(TESTSUITE_DIR)/LinearGradientPaint.class \ $(CLASSES)/$(TESTSUITE_DIR)/RadialGradientPaint.class \ - $(CLASSES)/$(TESTSUITE_DIR)/CAGOperationsOnAreas.class + $(CLASSES)/$(TESTSUITE_DIR)/CAGOperationsOnCircles.class \ + $(CLASSES)/$(TESTSUITE_DIR)/CAGOperationsOnRectangles.class COMPARE_RESULTS = \ $(RESULTS)/AALines \ @@ -175,7 +176,8 @@ $(RESULTS)/GradientPaint \ $(RESULTS)/LinearGradientPaint \ $(RESULTS)/RadialGradientPaint \ - $(RESULTS)/CAGOperationsOnAreas + $(RESULTS)/CAGOperationsOnCircles \ + $(RESULTS)/CAGOperationsOnRectangles # targets for all test suites TESTSUITES = $(shell ls -1 src/org/gfxtest/testsuites | sed -n -e 's/\([A-Za-z0-9]*\)\.java/\1/p') diff -r 221ec39deecf -r b07fde3d88fd src/org/gfxtest/framework/TestImage.java --- a/src/org/gfxtest/framework/TestImage.java Fri Sep 09 13:48:28 2011 +0200 +++ b/src/org/gfxtest/framework/TestImage.java Mon Sep 12 15:10:51 2011 +0200 @@ -245,6 +245,16 @@ } /** + * Return the value used to draw a grid on the background of the image. + * + * @return grid size + */ + public int getGrid() + { + return GRID_SIZE; + } + + /** * Return x-coordinate of the center of the test image. * * @return x-coordinate of the center of the test image. diff -r 221ec39deecf -r b07fde3d88fd src/org/gfxtest/testsuites/CAGOperationsOnAreas.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnAreas.java Fri Sep 09 13:48:28 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,603 +0,0 @@ -/* - Java gfx-test framework - - Copyright (C) 2010, 2011 Red Hat - -This file is part of IcedTea. - -IcedTea is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -IcedTea is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with IcedTea; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. -*/ - -package org.gfxtest.testsuites; - -import java.awt.Graphics2D; -import java.awt.geom.Area; -import java.awt.geom.Ellipse2D; - - - -import org.gfxtest.framework.*; -import org.gfxtest.framework.annotations.*; - - - -/** - * This test checks the process of creating and rendering new geometric shapes - * 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 Areas. - * - * @author Pavel Tisnovsky - */ - at TestType(TestTypes.RENDER_TEST) - at RenderStyle(RenderStyles.FILL) - at Transformation(Transformations.NONE) - at Zoom(1) -public class CAGOperationsOnAreas extends GfxTest -{ - - /** - * Compute radius of circle from the position of center point in an image. - * - * @param xc - * x-coordinate of the center of the test image. - * @param y - * y-coordinate of the center of the test image. - * @return radius of circle - */ - private int computeRadius(int xc, int yc) - { - return ((xc > yc ? yc : xc) << 1) / 3; - } - - /** - * Create circle area. - * - * @param xc - * the X coordinate of the center of circle - * @param yc - * the Y coordinate of the center of circle - * @param radius - * radius of circle - * @return newly created area containing one circle - */ - private Area createCircleArea(int xc, int yc, int radius) - { - Ellipse2D circle = new Ellipse2D.Double(xc - radius, yc - radius, radius << 1, radius << 1); - return new Area(circle); - } - - /** - * Create area composed of only one circle. This circle is placed on the - * left side of the image. - * - * @param image - * image to which line is to be drawn - * @return newly created area containing one circle - */ - private Area createFirstCircleArea(TestImage image) - { - int xc = image.getCenterX(); - int yc = image.getCenterY(); - int radius = computeRadius(xc, yc); - int x1 = xc - 3 * (radius >> 2); - return createCircleArea(x1, yc, radius); - } - - /** - * Create area composed of only one circle. This circle is placed on the - * right side of the image. - * - * @param image - * image to which line is to be drawn - * @return newly created area containing one circle - */ - private Area createSecondCircleArea(TestImage image) - { - int xc = image.getCenterX(); - int yc = image.getCenterY(); - int radius = computeRadius(xc, yc); - int x2 = xc + 3 * (radius >> 2); - return createCircleArea(x2, yc, radius); - } - - /** - * Create new area composed from two circles using union operator. - * - * @param image - * image to which line is to be drawn - * @return new area composed of two circles - */ - private Area createAreaFromCirclesUsingUnionOperator(TestImage image) - { - Area circle1Area = createFirstCircleArea(image); - Area circle2Area = createSecondCircleArea(image); - Area area = new Area(); - area.add(circle1Area); - area.add(circle2Area); - return area; - } - - /** - * Create new area composed from two circles using subtract operator. - * - * @param image - * image to which line is to be drawn - * @return new area composed of two circles - */ - private Area createAreaFromCirclesUsingSubtractOperator(TestImage image) - { - Area circle1Area = createFirstCircleArea(image); - Area circle2Area = createSecondCircleArea(image); - Area area = new Area(); - area.add(circle1Area); - area.subtract(circle2Area); - return area; - } - - /** - * Create new area composed from two circles using subtract operator. - * - * @param image - * image to which line is to be drawn - * @return new area composed of two circles - */ - private Area createAreaFromCirclesUsingInverseSubtractOperator(TestImage image) - { - Area circle1Area = createFirstCircleArea(image); - Area circle2Area = createSecondCircleArea(image); - Area area = new Area(); - area.add(circle2Area); - area.subtract(circle1Area); - return area; - } - - /** - * Create new area composed from two circles using intersect operator. - * - * @param image - * image to which line is to be drawn - * @return new area composed of two circles - */ - private Area createAreaFromCirclesUsingIntersectOperator(TestImage image) - { - Area circle1Area = createFirstCircleArea(image); - Area circle2Area = createSecondCircleArea(image); - Area area = new Area(); - area.add(circle1Area); - area.intersect(circle2Area); - return area; - } - - /** - * Create new area composed from two circles using XOR operator. - * - * @param image - * image to which line is to be drawn - * @return new area composed of two circles - */ - private Area createAreaFromCirclesUsingXorOperator(TestImage image) - { - Area circle1Area = createFirstCircleArea(image); - Area circle2Area = createSecondCircleArea(image); - Area area = new Area(); - area.add(circle1Area); - area.exclusiveOr(circle2Area); - return area; - } - - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered - * using stroke. - * - * @param image - * image to which line is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testUnionStrokePaint(TestImage image, Graphics2D graphics) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); - // create area using union operator - Area area = createAreaFromCirclesUsingUnionOperator(image); - // draw the area - graphics.draw(area); - return TestResult.PASSED; - } - - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is - * rendered using stroke. - * - * @param image - * image to which line is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testSubtractStrokePaint(TestImage image, Graphics2D graphics) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); - // create area using subtract operator - Area area = createAreaFromCirclesUsingSubtractOperator(image); - // draw the area - graphics.draw(area); - return TestResult.PASSED; - } - - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two circles using inverse subtract operator. The shape - * is rendered using stroke. - * - * @param image - * image to which line is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testInverseSubtractStrokePaint(TestImage image, Graphics2D graphics) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); - // create area using subtract operator - Area area = createAreaFromCirclesUsingInverseSubtractOperator(image); - // draw the area - graphics.draw(area); - return TestResult.PASSED; - } - - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two circles using intersect operator. The shape is - * rendered using stroke. - * - * @param image - * image to which line is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testIntersectStrokePaint(TestImage image, Graphics2D graphics) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); - // create area using intersect operator - Area area = createAreaFromCirclesUsingIntersectOperator(image); - // draw the area - graphics.draw(area); - return TestResult.PASSED; - } - - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two circles using XOR operator. The shape is rendered - * using stroke. - * - * @param image - * image to which line is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testXorStrokePaint(TestImage image, Graphics2D graphics) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); - // create area using XOR operator - Area area = createAreaFromCirclesUsingXorOperator(image); - // draw the area - graphics.draw(area); - return TestResult.PASSED; - } - - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered - * using color paint (fill). - * - * @param image - * image to which line is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testUnionColorPaint(TestImage image, Graphics2D graphics) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); - // set fill color - CommonRenderingStyles.setFillColor(graphics); - // create area using union operator - Area area = createAreaFromCirclesUsingUnionOperator(image); - // draw the area - graphics.fill(area); - return TestResult.PASSED; - } - - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is - * rendered using color paint (fill). - * - * @param image - * image to which line is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testSubtractColorPaint(TestImage image, Graphics2D graphics) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); - // set fill color - CommonRenderingStyles.setFillColor(graphics); - // create area using subtract operator - Area area = createAreaFromCirclesUsingSubtractOperator(image); - // draw the area - graphics.fill(area); - return TestResult.PASSED; - } - - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two circles using intersect operator. The shape is - * rendered using color paint (fill). - * - * @param image - * image to which line is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testIntersectColorPaint(TestImage image, Graphics2D graphics) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); - // set fill color - CommonRenderingStyles.setFillColor(graphics); - // create area using intersect operator - Area area = createAreaFromCirclesUsingIntersectOperator(image); - // draw the area - graphics.fill(area); - return TestResult.PASSED; - } - - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two circles using XOR operator. The shape is rendered - * using color paint (fill). - * - * @param image - * image to which line is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testXorColorPaint(TestImage image, Graphics2D graphics) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); - // set fill color - CommonRenderingStyles.setFillColor(graphics); - // create area using XOR operator - Area area = createAreaFromCirclesUsingXorOperator(image); - // draw the area - graphics.fill(area); - return TestResult.PASSED; - } - - /** - * Checks the process of creating and rendering new geometric shape From jvanek at redhat.com Mon Sep 12 10:59:20 2011 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 12 Sep 2011 19:59:20 +0200 Subject: [icedtea-web][rfc] make current reproducers more verbose Message-ID: <4E6E4878.7040409@redhat.com> 2011-09-12 Jiri Vanek * tests/jnlp_tests/: all current reproducers (AccessClassInPackage AddShutdownHook AllStackTraces CreateClassLoader deadlocktest ReadEnvironment ReadProperties RedirectStreams ReplaceSecurityManager SetContextClassLoader simpletest1 simpletest2) junit's asserts are enchanted for reason, so junit assertion exception message is much clearer. -------------- next part -------------- A non-text attachment was scrubbed... Name: verboseReproducers.patch Type: text/x-patch Size: 21356 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110912/264b6af3/verboseReproducers.patch From dbhole at redhat.com Mon Sep 12 11:09:17 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Mon, 12 Sep 2011 14:09:17 -0400 Subject: [icedtea-web][rfc] make current reproducers more verbose In-Reply-To: <4E6E4878.7040409@redhat.com> References: <4E6E4878.7040409@redhat.com> Message-ID: <20110912180917.GE18298@redhat.com> * Jiri Vanek [2011-09-12 14:07]: > 2011-09-12 Jiri Vanek > * tests/jnlp_tests/: all current reproducers (AccessClassInPackage > AddShutdownHook AllStackTraces CreateClassLoader deadlocktest > ReadEnvironment ReadProperties RedirectStreams ReplaceSecurityManager > SetContextClassLoader simpletest1 simpletest2) junit's asserts are enchanted > for reason, so junit assertion exception message is much clearer. Hi Jiri, What issue does this fix? How do I reproduce it? Cheers, Deepak From jvanek at redhat.com Mon Sep 12 11:29:59 2011 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 12 Sep 2011 20:29:59 +0200 Subject: [icedtea-web][rfc] make current reproducers more verbose In-Reply-To: <20110912180917.GE18298@redhat.com> References: <4E6E4878.7040409@redhat.com> <20110912180917.GE18298@redhat.com> Message-ID: <4E6E4FA7.2040408@redhat.com> On 09/12/2011 08:09 PM, Deepak Bhole wrote: > * Jiri Vanek [2011-09-12 14:07]: >> 2011-09-12 Jiri Vanek >> * tests/jnlp_tests/: all current reproducers (AccessClassInPackage >> AddShutdownHook AllStackTraces CreateClassLoader deadlocktest >> ReadEnvironment ReadProperties RedirectStreams ReplaceSecurityManager >> SetContextClassLoader simpletest1 simpletest2) junit's asserts are enchanted >> for reason, so junit assertion exception message is much clearer. > > Hi Jiri, > > What issue does this fix? How do I reproduce it? > > Cheers, > Deepak > It fixs "nothing". But when something goes wrong you will be informed instead of standart "assertion error". You can reproduce behaviour when you will break some reproducer (but keep it compilable). I got to troubles here when I wrote scripts for including icedtea-web into daily report and I simulated failures - it was quite digging to find what and why got wrong. Now it is much easier. Thanx for looking into it! J. From ptisnovs at icedtea.classpath.org Tue Sep 13 06:11:44 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 13 Sep 2011 13:11:44 +0000 Subject: /hg/gfx-test: Added ten new test cases to a test Message-ID: changeset 3e4f4c420eba in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=3e4f4c420eba author: Pavel Tisnovsky date: Tue Sep 13 15:13:33 2011 +0200 Added ten new test cases to a test src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java | 240 ++++++++++++++ 2 files changed, 245 insertions(+), 0 deletions(-) diffs (262 lines): diff -r b07fde3d88fd -r 3e4f4c420eba ChangeLog --- a/ChangeLog Mon Sep 12 15:10:51 2011 +0200 +++ b/ChangeLog Tue Sep 13 15:13:33 2011 +0200 @@ -1,3 +1,8 @@ +2011-09-13 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java: + Added ten new test cases. + 2011-09-12 Pavel Tisnovsky * Makefile: added new class to compile diff -r b07fde3d88fd -r 3e4f4c420eba src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java Mon Sep 12 15:10:51 2011 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java Tue Sep 13 15:13:33 2011 +0200 @@ -339,6 +339,246 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using union operator. The shape is + * rendered using color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area using union operator + Area area = createAreaFromRectanglesUsingUnionOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using subtract operator. The shape is + * rendered using color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area using subtract operator + Area area = createAreaFromRectanglesUsingSubtractOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using inverse subtract operator. The + * shape is rendered using color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area using inverse subtract operator + Area area = createAreaFromRectanglesUsingInverseSubtractOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using intersect operator. The + * shape is rendered using color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area using intersect operator + Area area = createAreaFromRectanglesUsingIntersectOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using XOR operator. The + * shape is rendered using color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area using XOR operator + Area area = createAreaFromRectanglesUsingXorOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using union operator. The shape is + * rendered using horizontal gradient color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionHorizontalGradiendPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setHorizontalGradientFill(image, graphics); + // create area using union operator + Area area = createAreaFromRectanglesUsingUnionOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using subtract operator. The shape is + * rendered using horizontal gradient color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractHorizontalGradiendPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setHorizontalGradientFill(image, graphics); + // create area using subtract operator + Area area = createAreaFromRectanglesUsingSubtractOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using inverse subtract operator. The + * shape is rendered using horizontal gradient color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractHorizontalGradiendPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setHorizontalGradientFill(image, graphics); + // create area using inverse subtract operator + Area area = createAreaFromRectanglesUsingInverseSubtractOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using intersect operator. The + * shape is rendered using horizontal gradient color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectHorizontalGradiendPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setHorizontalGradientFill(image, graphics); + // create area using intersect operator + Area area = createAreaFromRectanglesUsingIntersectOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using XOR operator. The + * shape is rendered using horizontal gradient color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorHorizontalGradiendPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setHorizontalGradientFill(image, graphics); + // create area using XOR operator + Area area = createAreaFromRectanglesUsingXorOperator(image); + // draw the area + graphics.fill(area); + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args From dbhole at redhat.com Tue Sep 13 10:01:24 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 13 Sep 2011 13:01:24 -0400 Subject: IcedTea-Web 1.1.2 released! In-Reply-To: <20110902094718.3b7c5953@workstation64.home> References: <20110831183605.GG14689@redhat.com> <20110902094718.3b7c5953@workstation64.home> Message-ID: <20110913170124.GC3343@redhat.com> * Andreas Radke [2011-09-02 03:47]: > Packages built for ArchLinux. Sadly my issue with my broker application > isn't solved. I'm still thinking this is not caused by the web plugin > but by the jre itself - see my mail to the icedtea 1.10.3 release. > > Anything I can do to give you enough information to fix this? > Hi, Can you please run firefox as ICEDTEAPLUGIN_DEBUG=true firefox 2>&1 | tee console.log And then send me the console.log and ~/.icedtea/log/* files? Please check them to make sure there is nothing confidential in them. Cheers, Deepak From bugzilla-daemon at icedtea.classpath.org Tue Sep 13 10:06:54 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Sep 2011 17:06:54 +0000 Subject: [Bug 782] Please support building against npapi-sdk as well In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 --- Comment #1 from Deepak Bhole 2011-09-13 17:06:54 --- This patch will break distros that don't provide npapi-sdk.pc (e.g. Fedora). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Tue Sep 13 10:20:17 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Sep 2011 17:20:17 +0000 Subject: [Bug 782] Please support building against npapi-sdk as well In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 --- Comment #2 from Micha? G?rny 2011-09-13 17:20:17 --- (In reply to comment #1) > This patch will break distros that don't provide npapi-sdk.pc (e.g. Fedora). Will it? Unless I did something terribly wrong, it will just fallback to mozilla-plugin. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Tue Sep 13 10:31:05 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Sep 2011 17:31:05 +0000 Subject: [Bug 782] Please support building against npapi-sdk as well In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 --- Comment #3 from Deepak Bhole 2011-09-13 17:31:04 --- Doh. Sorry, my mistake. Your patch is fine. I will propose it to the list. Thanks! -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From dbhole at redhat.com Tue Sep 13 10:34:49 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 13 Sep 2011 13:34:49 -0400 Subject: [icedtea-web] RFC: Commit of posted patch for PR782 Message-ID: <20110913173449.GD3343@redhat.com> Hi, I would like to commit the patch posted for PR782 (after adding changelog): http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 Okay for commit? Cheers, Deepak From bugzilla-daemon at icedtea.classpath.org Tue Sep 13 10:45:51 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Sep 2011 17:45:51 +0000 Subject: [Bug 782] Please support building against npapi-sdk as well In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 --- Comment #4 from Micha? G?rny 2011-09-13 17:45:51 --- I've made today a release tarball off NPAPI 0.26 if you want to check it [1]. [1]:https://github.com/downloads/mgorny/npapi-sdk/npapi-sdk-0.27.tar.bz2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From omajid at redhat.com Tue Sep 13 11:26:55 2011 From: omajid at redhat.com (Omair Majid) Date: Tue, 13 Sep 2011 14:26:55 -0400 Subject: [icedtea-web] RFC: Commit of posted patch for PR782 In-Reply-To: <20110913173449.GD3343@redhat.com> References: <20110913173449.GD3343@redhat.com> Message-ID: <4E6FA06F.3060104@redhat.com> On 09/13/2011 01:34 PM, Deepak Bhole wrote: > Hi, > > I would like to commit the patch posted for PR782 (after adding > changelog): > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 > > Okay for commit? Looks fine to me. Cheers, Omair From omajid at redhat.com Tue Sep 13 13:09:32 2011 From: omajid at redhat.com (Omair Majid) Date: Tue, 13 Sep 2011 16:09:32 -0400 Subject: [icedtea-web] RFC: PR618 - Can't install OpenDJ, JavaWebStart fails with Input stream is null error. In-Reply-To: <4DC495C4.7070803@redhat.com> References: <4D3F27BE.9060300@redhat.com> <20110126000318.GF18564@rivendell.middle-earth.co.uk> <4D4095C8.4020603@redhat.com> <4D7E2F47.2050807@redhat.com> <20110316204054.GH29289@rivendell.middle-earth.co.uk> <4D822201.7000906@redhat.com> <4DA878AE.8080301@redhat.com> <20110415205544.GI29287@rivendell.middle-earth.co.uk> <4DA8B3FD.1020002@redhat.com> <20110421215942.GJ29985@rivendell.middle-earth.co.uk> <4DC495C4.7070803@redhat.com> Message-ID: <4E6FB87C.6090003@redhat.com> On 05/06/2011 08:43 PM, Omair Majid wrote: > On 04/21/2011 05:59 PM, Dr Andrew John Hughes wrote: >> On 17:09 Fri 15 Apr , Omair Majid wrote: >>> > On 04/15/2011 04:55 PM, Dr Andrew John Hughes wrote: >>>> > > >>>> > > Can you start a clean thread with the current version of the patch? >>>> > > The previous e-mail was pretty unreadable for me. >>> > >>> > Here you go. Attached. >>> > >>> > As explained earlier, it fixes PR618, buy allowing lazy loading to >>> work >>> > when trying to find resources using getResource(s)/findResource(s). >>> > >>> > Any thoughts or comments? >>> > >>> > Cheers, >>> > Omair > > Updated patch attached. > >> >>> > diff -r 5454292b3fae >>> netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu >>> Mar 10 15:42:01 2011 -0500 >>> > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon >>> Mar 14 11:07:15 2011 -0400 >>> > @@ -40,7 +40,6 @@ >>> > import java.util.List; >>> > import java.util.Map; >>> > import java.util.TreeSet; >>> > -import java.util.Vector; >>> > import java.util.jar.JarEntry; >>> > import java.util.jar.JarFile; >>> > >>> > @@ -1123,31 +1122,54 @@ >>> > /** >>> > * Finds the resource in this, the parent, or the extension >>> > * class loaders. >>> > + * >>> > + * @return aURL for the resource, ornull >>> > + * if the resource could not be found. >>> > */ >>> > - public URL getResource(String name) { >>> > - URL result = super.getResource(name); >>> > + @Override >>> > + public URL findResource(String name) { >>> > + URL result = null; >>> > >>> > - for (int i = 1; i< loaders.length; i++) >>> > - if (result == null) >>> > - result = loaders[i].getResource(name); >>> > + try { >>> > + Enumeration e = findResources(name); >> Just a stylistic thing, but it's usually Enumeration without the >> space. >> > > Fixed. > >>> > + if (e.hasMoreElements()) { >>> > + result = e.nextElement(); >>> > + } >>> > + } catch (IOException e) { >>> > + // continue >> Should we not at least log this if debugging mode is on? > > Done. > >> >>> > + private Enumeration findResourcesBySearching(String name) >>> throws IOException { >>> > + List resources = new ArrayList(); >>> > Enumeration e; >>> > >>> > for (int i = 0; i< loaders.length; i++) { >>> > + // TODO check if this will blow up or not >>> > + // if loaders[1].getResource() is called, wont it call >>> getResource() on >>> > + // the original caller? infinite recursion? >>> > >>> > if (loaders[i] == this) >>> > e = super.findResources(name); >>> > @@ -1166,7 +1188,7 @@ >>> > resources.add(e.nextElement()); >>> > } >>> > >>> > - return resources.elements(); >>> > + return Collections.enumeration(resources); >>> > } >>> > >> Probably asked this last time, but remind why we return an Enumeration >> and not an Iterator when >> resources is a List? > > fineResources, which overrides a method with the same name in > ClassLoader and calls findResourcesBySearching, has to return an > Enumeration. To avoid conversions from an iterator to enumeration, I am > making findResourcesBySearching return an enumeration. I can change it > if you insist. > Ping. From dbhole at redhat.com Tue Sep 13 13:18:00 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 13 Sep 2011 16:18:00 -0400 Subject: [icedtea-web] RFC: Commit of posted patch for PR782 In-Reply-To: <4E6FA06F.3060104@redhat.com> References: <20110913173449.GD3343@redhat.com> <4E6FA06F.3060104@redhat.com> Message-ID: <20110913201800.GF3343@redhat.com> * Omair Majid [2011-09-13 14:26]: > On 09/13/2011 01:34 PM, Deepak Bhole wrote: > >Hi, > > > >I would like to commit the patch posted for PR782 (after adding > >changelog): > > > >http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 > > > >Okay for commit? > > Looks fine to me. > Just had a thought.. this might be nice for 1.1 too. It is fairly straightforward. Any objections? Cheers, Deepak From omajid at redhat.com Tue Sep 13 13:29:11 2011 From: omajid at redhat.com (Omair Majid) Date: Tue, 13 Sep 2011 16:29:11 -0400 Subject: [icedtea-web] RFC: Commit of posted patch for PR782 In-Reply-To: <20110913201800.GF3343@redhat.com> References: <20110913173449.GD3343@redhat.com> <4E6FA06F.3060104@redhat.com> <20110913201800.GF3343@redhat.com> Message-ID: <4E6FBD17.1000506@redhat.com> On 09/13/2011 04:18 PM, Deepak Bhole wrote: > * Omair Majid [2011-09-13 14:26]: >> On 09/13/2011 01:34 PM, Deepak Bhole wrote: >>> Hi, >>> >>> I would like to commit the patch posted for PR782 (after adding >>> changelog): >>> >>> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 >>> >>> Okay for commit? >> >> Looks fine to me. >> > > Just had a thought.. this might be nice for 1.1 too. It is fairly > straightforward. Any objections? > I think the change looks fine for 1.1. Cheers, Omair From dbhole at icedtea.classpath.org Tue Sep 13 13:50:58 2011 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Tue, 13 Sep 2011 20:50:58 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 418a9e44fce7 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=418a9e44fce7 author: Deepak Bhole date: Tue Sep 13 16:19:47 2011 -0400 Fixed formatting issues in previous entry. changeset d2434b3dc395 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d2434b3dc395 author: Deepak Bhole date: Tue Sep 13 16:23:04 2011 -0400 PR782: Support building against npapi-sdk as well Patch from Micha? G?rny < mgorny at gentoo dot org > diffstat: AUTHORS | 1 + ChangeLog | 30 ++++++++++++++++++++---------- NEWS | 1 + acinclude.m4 | 11 +++++++++-- 4 files changed, 31 insertions(+), 12 deletions(-) diffs (82 lines): diff -r 68a6e5d41dfc -r d2434b3dc395 AUTHORS --- a/AUTHORS Thu Sep 01 12:18:55 2011 +0200 +++ b/AUTHORS Tue Sep 13 16:23:04 2011 -0400 @@ -9,6 +9,7 @@ Mark Greenwood Andrew John Hughes Matthias Klose +Micha?? G??rny < mgorny at gentoo.org > Francis Kung Denis Lila DJ Lucas diff -r 68a6e5d41dfc -r d2434b3dc395 ChangeLog --- a/ChangeLog Thu Sep 01 12:18:55 2011 +0200 +++ b/ChangeLog Tue Sep 13 16:23:04 2011 -0400 @@ -1,15 +1,25 @@ +2011-09-13 Deepak Bhole + + PR782: Support building against npapi-sdk as well + Patch from Micha?? G??rny < mgorny at gentoo dot org > + * acinclude.m4: Build against npapi-sdk. + +2011-09-13 Deepak Bhole + + * ChangeLog: Fixed formatting issues in previous entry. + 2011-09-01 Jiri Vanek Added functionality to allow icedtea web to be buildable with - rhel5 libraries. - *configure.ac: added IT_CHECK_GLIB_VERSION check. - *acinclude.m4: added IT_CHECK_GLIB_VERSION definition block to test. - version of glib installed and add LEGACY_GLIB define macro into - variable DEFS if version is <2.16. - *plugin/icedteanp/IcedTeaNPPlugin.cc: added replacements for incompatible - functions (g_strcmp0 and find_first_item_in_hash_table)if LEGACY_GLIB - is defined. Added define sections for use this function instead of glib ones. - Duplicated code moved into function getFirstInTableInstance(GHashTble* table). - *Makefile.am: ($(PLUGIN_DIR)/%.o): using DEFS setted by configure for compilation + rhel5 libraries. + * configure.ac: added IT_CHECK_GLIB_VERSION check. + * acinclude.m4: added IT_CHECK_GLIB_VERSION definition block to test. + version of glib installed and add LEGACY_GLIB define macro into + variable DEFS if version is <2.16. + * plugin/icedteanp/IcedTeaNPPlugin.cc: added replacements for incompatible + functions (g_strcmp0 and find_first_item_in_hash_table)if LEGACY_GLIB + is defined. Added define sections for use this function instead of glib ones. + Duplicated code moved into function getFirstInTableInstance(GHashTble* table). + * Makefile.am: ($(PLUGIN_DIR)/%.o): using DEFS setted by configure for compilation 2011-08-29 Deepak Bhole diff -r 68a6e5d41dfc -r d2434b3dc395 NEWS --- a/NEWS Thu Sep 01 12:18:55 2011 +0200 +++ b/NEWS Tue Sep 13 16:23:04 2011 -0400 @@ -16,6 +16,7 @@ - PR765: JNLP file with all resource jars marked as 'lazy' fails to validate signature and stops the launch of application * Plugin - PR749: sun.applet.PluginStreamHandler#handleMessage(String) really slow + - PR782: Support building against npapi-sdk as well - RH718693: MindTerm SSH Applet doesn't work Common - PR768: Signed applets/Web Start apps don't work with OpenJDK7 and up diff -r 68a6e5d41dfc -r d2434b3dc395 acinclude.m4 --- a/acinclude.m4 Thu Sep 01 12:18:55 2011 +0200 +++ b/acinclude.m4 Tue Sep 13 16:23:04 2011 -0400 @@ -372,8 +372,15 @@ AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) - PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) - + PKG_CHECK_MODULES(MOZILLA, npapi-sdk, [ + AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[ + # XXX: use NPAPI versions instead + xulrunner_cv_collapsed_version=20000000 + ]) + ], [ + PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) + ]) + AC_SUBST(MOZILLA_CFLAGS) AC_SUBST(MOZILLA_LIBS) fi From dbhole at redhat.com Tue Sep 13 13:51:31 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 13 Sep 2011 16:51:31 -0400 Subject: [icedtea-web] RFC: Commit of posted patch for PR782 In-Reply-To: <4E6FBD17.1000506@redhat.com> References: <20110913173449.GD3343@redhat.com> <4E6FA06F.3060104@redhat.com> <20110913201800.GF3343@redhat.com> <4E6FBD17.1000506@redhat.com> Message-ID: <20110913205131.GG3343@redhat.com> * Omair Majid [2011-09-13 16:29]: > On 09/13/2011 04:18 PM, Deepak Bhole wrote: > >* Omair Majid [2011-09-13 14:26]: > >>On 09/13/2011 01:34 PM, Deepak Bhole wrote: > >>>Hi, > >>> > >>>I would like to commit the patch posted for PR782 (after adding > >>>changelog): > >>> > >>>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 > >>> > >>>Okay for commit? > >> > >>Looks fine to me. > >> > > > >Just had a thought.. this might be nice for 1.1 too. It is fairly > >straightforward. Any objections? > > > > I think the change looks fine for 1.1. > Thanks! Pushed to both. Cheers, Deepak From dbhole at icedtea.classpath.org Tue Sep 13 13:51:30 2011 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Tue, 13 Sep 2011 20:51:30 +0000 Subject: /hg/release/icedtea-web-1.1: PR782: Support building against npa... Message-ID: changeset c7b22b085229 in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=c7b22b085229 author: Deepak Bhole date: Tue Sep 13 16:23:04 2011 -0400 PR782: Support building against npapi-sdk as well Patch from Micha? G?rny < mgorny at gentoo dot org > diffstat: AUTHORS | 1 + ChangeLog | 6 ++++++ NEWS | 2 ++ acinclude.m4 | 11 +++++++++-- 4 files changed, 18 insertions(+), 2 deletions(-) diffs (57 lines): diff -r cea1007c04db -r c7b22b085229 AUTHORS --- a/AUTHORS Wed Aug 31 14:19:03 2011 -0400 +++ b/AUTHORS Tue Sep 13 16:23:04 2011 -0400 @@ -8,6 +8,7 @@ Mark Greenwood Andrew John Hughes Matthias Klose +Micha?? G??rny < mgorny at gentoo.org > Francis Kung DJ Lucas Omair Majid diff -r cea1007c04db -r c7b22b085229 ChangeLog --- a/ChangeLog Wed Aug 31 14:19:03 2011 -0400 +++ b/ChangeLog Tue Sep 13 16:23:04 2011 -0400 @@ -1,3 +1,9 @@ +2011-09-13 Deepak Bhole + + PR782: Support building against npapi-sdk as well + Patch from Micha?? G??rny < mgorny at gentoo dot org > + * acinclude.m4: Build against npapi-sdk. + 2011-08-31 Deepak Bhole * NEWS: Prepare for 1.1.3 diff -r cea1007c04db -r c7b22b085229 NEWS --- a/NEWS Wed Aug 31 14:19:03 2011 -0400 +++ b/NEWS Tue Sep 13 16:23:04 2011 -0400 @@ -9,6 +9,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 1.1.3 (2011-XX-XX): +* Plugin + - PR782: Support building against npapi-sdk as well New in release 1.1.2 (2011-08-31): * Plugin diff -r cea1007c04db -r c7b22b085229 acinclude.m4 --- a/acinclude.m4 Wed Aug 31 14:19:03 2011 -0400 +++ b/acinclude.m4 Tue Sep 13 16:23:04 2011 -0400 @@ -372,8 +372,15 @@ AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) - PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) - + PKG_CHECK_MODULES(MOZILLA, npapi-sdk, [ + AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[ + # XXX: use NPAPI versions instead + xulrunner_cv_collapsed_version=20000000 + ]) + ], [ + PKG_CHECK_MODULES(MOZILLA, mozilla-plugin) + ]) + AC_SUBST(MOZILLA_CFLAGS) AC_SUBST(MOZILLA_LIBS) fi From bugzilla-daemon at icedtea.classpath.org Tue Sep 13 13:53:29 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Sep 2011 20:53:29 +0000 Subject: [Bug 782] Please support building against npapi-sdk as well In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #5 from Deepak Bhole 2011-09-13 20:53:29 --- Thanks for the patch. I tested it with mozilla-plugin.pc and with npapi-sdk. Everything seems to be fine. Committed to 1.1 and HEAD: http://icedtea.classpath.org/hg/icedtea-web/rev/d2434b3dc395 http://icedtea.classpath.org/hg/release/icedtea-web-1.1/rev/c7b22b085229 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From ahughes at redhat.com Tue Sep 13 19:06:25 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 14 Sep 2011 03:06:25 +0100 Subject: [icedtea-web] RFC: Commit of posted patch for PR782 In-Reply-To: <20110913173449.GD3343@redhat.com> References: <20110913173449.GD3343@redhat.com> Message-ID: <20110914020625.GD26666@rivendell.middle-earth.co.uk> On 13:34 Tue 13 Sep , Deepak Bhole wrote: > Hi, > > I would like to commit the patch posted for PR782 (after adding > changelog): > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 > > Okay for commit? > > Cheers, > Deepak In future, please attach the patch for review rather than relying on external resources. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From bugzilla-daemon at icedtea.classpath.org Tue Sep 13 23:59:29 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 14 Sep 2011 06:59:29 +0000 Subject: [Bug 782] Please support building against npapi-sdk as well In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 --- Comment #6 from Micha? G?rny 2011-09-14 06:59:29 --- Should I try to simplify version handling as well? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From ptisnovs at icedtea.classpath.org Wed Sep 14 04:22:09 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 14 Sep 2011 11:22:09 +0000 Subject: /hg/gfx-test: New test suite containing (ATM) four test cases Message-ID: changeset 13ab5ae3881b in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=13ab5ae3881b author: Pavel Tisnovsky date: Wed Sep 14 13:24:03 2011 +0200 New test suite containing (ATM) four test cases src/org/gfxtest/testsuites/Areas.java. Added new graphics primitive type to a src/org/gfxtest/framework/annotations/GraphicsPrimitives.java. Added annotation for graphics primitive used for rendering src/org/gfxtest/testsuites/CAGOperationsOnCircles.java. Added annotation for graphics primitive used for rendering src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java. diffstat: ChangeLog | 14 + Makefile | 2 + src/org/gfxtest/framework/annotations/GraphicsPrimitives.java | 5 + src/org/gfxtest/testsuites/Areas.java | 347 ++++++++++ src/org/gfxtest/testsuites/CAGOperationsOnCircles.java | 1 + src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java | 1 + 6 files changed, 370 insertions(+), 0 deletions(-) diffs (426 lines): diff -r 3e4f4c420eba -r 13ab5ae3881b ChangeLog --- a/ChangeLog Tue Sep 13 15:13:33 2011 +0200 +++ b/ChangeLog Wed Sep 14 13:24:03 2011 +0200 @@ -1,3 +1,17 @@ +2011-09-14 Pavel Tisnovsky + + * Makefile: added new class to compile + * src/org/gfxtest/testsuites/Areas.java: + New test suite containing (ATM) four test cases. + * src/org/gfxtest/framework/annotations/GraphicsPrimitives.java: + Added new graphics primitive type. + * src/org/gfxtest/testsuites/CAGOperationsOnCircles.java: + Added annotation for graphics primitive used for rendering + (@GraphicsPrimitive(GraphicsPrimitives.AREA). + * src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java: + Added annotation for graphics primitive used for rendering + (@GraphicsPrimitive(GraphicsPrimitives.AREA). + 2011-09-13 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java: diff -r 3e4f4c420eba -r 13ab5ae3881b Makefile --- a/Makefile Tue Sep 13 15:13:33 2011 +0200 +++ b/Makefile Wed Sep 14 13:24:03 2011 +0200 @@ -96,6 +96,7 @@ $(CLASSES)/$(HARNESS)/MainWindow.class TESTSUITE_CLASSES = \ + $(CLASSES)/$(TESTSUITE_DIR)/Areas.class \ $(CLASSES)/$(TESTSUITE_DIR)/AALines.class \ $(CLASSES)/$(TESTSUITE_DIR)/BlankImage.class \ $(CLASSES)/$(TESTSUITE_DIR)/ColorPaint.class \ @@ -138,6 +139,7 @@ $(CLASSES)/$(TESTSUITE_DIR)/CAGOperationsOnRectangles.class COMPARE_RESULTS = \ + $(RESULTS)/Areas \ $(RESULTS)/AALines \ $(RESULTS)/BlankImage \ $(RESULTS)/ColorPaint \ diff -r 3e4f4c420eba -r 13ab5ae3881b src/org/gfxtest/framework/annotations/GraphicsPrimitives.java --- a/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java Tue Sep 13 15:13:33 2011 +0200 +++ b/src/org/gfxtest/framework/annotations/GraphicsPrimitives.java Wed Sep 14 13:24:03 2011 +0200 @@ -115,4 +115,9 @@ * Generic path consisting of line segments, quadratic curves and cubic curves. */ PATH, + + /** + * Generic area, ie. closed shape. + */ + AREA, } diff -r 3e4f4c420eba -r 13ab5ae3881b src/org/gfxtest/testsuites/Areas.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/Areas.java Wed Sep 14 13:24:03 2011 +0200 @@ -0,0 +1,347 @@ +/* + Java gfx-test framework + + Copyright (C) 2010, 2011 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package org.gfxtest.testsuites; + + + +import java.awt.Graphics2D; +import java.awt.geom.Area; +import java.awt.geom.CubicCurve2D; +import java.awt.geom.QuadCurve2D; + + + +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; + + + +/** + * This test checks the process of creating and rendering new geometric shapes + * represented by an Area class. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.AREA) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class Areas extends GfxTest +{ + /** + * Default Y offset of curve end points. + */ + private static final int DEFAULT_Y_OFFSET = 40; + + /** + * Draw crosses at the both end points and control point of quadratic curve. + * + * @param image + * image to which line is to be drawn + * @param graphics + * graphics canvas + */ + private void drawCrossesAtQuadraticCurveControlPoints(TestImage image, Graphics2D graphics) + { + // calculate image dimensions + int width = image.getWidth(); + int height = image.getHeight(); + + // get curve coordinates + int x1 = computeX1forQuadraticCurve(width); + int y1 = computeY1forQuadraticCurve(); + int x2 = computeX2forQuadraticCurve(width); + int y2 = computeY2forQuadraticCurve(height); + int x3 = computeX3forQuadraticCurve(width); + int y3 = computeY3forQuadraticCurve(); + + // draw all three crosses + drawCross(graphics, x1, y1); + drawCross(graphics, x2, y2); + drawCross(graphics, x3, y3); + } + + /** + * Draw crosses at the both end points and both control point of cubic + * curve. + * + * @param image + * image to which line is to be drawn + * @param graphics + * graphics canvas + */ + private void drawCrossesAtCubicCurveControlPoints(TestImage image, Graphics2D graphics) + { + // construct point set which consists of all four curve control points + CubicCurvePointSet pointSet = new CubicCurvePointSet(image); + + // fill in arrays containing coordinates for all cubic curve control points + int[] x = pointSet.getXPointArray(); + int[] y = pointSet.getYPointArray(); + + // draw all four crosses + for (int i = 0; i < 4; i++) + { + drawCross(graphics, x[i], y[i]); + } + } + + /** + * Create area from the open quadratic curve. + * + * @param image + * image to which area is to be drawn + * @return area created from open quadratic curve. + */ + private Area createAreaFromQuadraticCurve(TestImage image) + { + // calculate image dimensions + int width = image.getWidth(); + int height = image.getHeight(); + + // get curve coordinates + int x1 = computeX1forQuadraticCurve(width); + int y1 = computeY1forQuadraticCurve(); + int x2 = computeX2forQuadraticCurve(width); + int y2 = computeY2forQuadraticCurve(height); + int x3 = computeX3forQuadraticCurve(width); + int y3 = computeY3forQuadraticCurve(); + + // create open quadratic curve + QuadCurve2D curve = new QuadCurve2D.Double(x1, y1, x2, y2, x3, y3); + return new Area(curve); + } + + /** + * Create area from the open cubic curve. + * + * @param image + * image to which area is to be drawn + * @return area created from open cubic curve. + */ + private Area createAreaFromCubicCurve(TestImage image) + { + // construct point set which consists of all four curve control points + CubicCurvePointSet pointSet = new CubicCurvePointSet(image); + + // fill in arrays containing coordinates for all cubic curve control points + int[] x = pointSet.getXPointArray(); + int[] y = pointSet.getYPointArray(); + + // create open cubic curve + CubicCurve2D curve = new CubicCurve2D.Double(); + curve.setCurve(x[0], y[0], x[1], y[1], x[2], y[2], x[3], y[3]); + return new Area(curve); + } + + /** + * Compute X coordinate of first curve end point. + * + * @param width + * canvas width + * @return X coordinate of first curve end point. + */ + private int computeX1forQuadraticCurve(int width) + { + return width >> 2; + } + + /** + * Compute X coordinate of curve control point. + * + * @param width + * canvas width + * @return X coordinate of curve control point. + */ + private int computeX2forQuadraticCurve(int width) + { + return width >> 1; + } + + /** + * Compute X coordinate of second curve end point. + * + * @param width + * canvas width + * @return X coordinate of second curve end point. + */ + private int computeX3forQuadraticCurve(int width) + { + return width * 3 / 4; + } + + /** + * Compute Y coordinate of first curve end point. + * + * @return Y coordinate of first curve end point. + */ + private int computeY1forQuadraticCurve() + { + return DEFAULT_Y_OFFSET; + } + + /** + * Compute Y coordinate of curve control point. + * + * @param height + * canvas height + * @return Y coordinate of curve control point. + */ + private int computeY2forQuadraticCurve(int height) + { + return height - DEFAULT_Y_OFFSET; + } + + /** + * Compute Y coordinate of second curve end point. + * + * @return Y coordinate of second curve end point. + */ + private int computeY3forQuadraticCurve() + { + return DEFAULT_Y_OFFSET; + } + + /** + * Test the result of creating area using an opened quadratic curve. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testQuadraticCurveStrokePaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // create area from open quadratic curve + Area area = createAreaFromQuadraticCurve(image); + // draw the area + graphics.draw(area); + // draw crosses at control points + drawCrossesAtQuadraticCurveControlPoints(image, graphics); + return TestResult.PASSED; + } + + /** + * Test the result of creating area using an opened quadratic curve. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testQuadraticCurveColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area from open quadratic curve + Area area = createAreaFromQuadraticCurve(image); + // draw the area + graphics.fill(area); + // draw crosses at control points + drawCrossesAtQuadraticCurveControlPoints(image, graphics); + return TestResult.PASSED; + } + + /** + * Test the result of creating area using an opened cubic curve. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCubicCurveStrokePaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // create area from open cubic curve + Area area = createAreaFromCubicCurve(image); + // draw the area + graphics.draw(area); + // draw crosses at control points + drawCrossesAtCubicCurveControlPoints(image, graphics); + return TestResult.PASSED; + } + + /** + * Test the result of creating area using an opened cubic curve. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCubicCurveColorPaint(TestImage image, Graphics2D graphics) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics); + // set fill color + CommonRenderingStyles.setFillColor(graphics); + // create area from open cubic curve + Area area = createAreaFromCubicCurve(image); + // draw the area + graphics.fill(area); + // draw crosses at control points + drawCrossesAtCubicCurveControlPoints(image, graphics); + return TestResult.PASSED; + } + + /** + * Entry point to the test suite. + * + * @param args + * not used in this case + */ + public static void main(String[] args) + { + new Areas().runTestSuite(args); + } + +} diff -r 3e4f4c420eba -r 13ab5ae3881b src/org/gfxtest/testsuites/CAGOperationsOnCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnCircles.java Tue Sep 13 15:13:33 2011 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnCircles.java Wed Sep 14 13:24:03 2011 +0200 @@ -60,6 +60,7 @@ * @author Pavel Tisnovsky */ @TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.AREA) @RenderStyle(RenderStyles.FILL) @Transformation(Transformations.NONE) @Zoom(1) diff -r 3e4f4c420eba -r 13ab5ae3881b src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java Tue Sep 13 15:13:33 2011 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java Wed Sep 14 13:24:03 2011 +0200 @@ -62,6 +62,7 @@ * @author Pavel Tisnovsky */ @TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.AREA) @RenderStyle(RenderStyles.FILL) @Transformation(Transformations.NONE) @Zoom(1) From bugzilla-daemon at icedtea.classpath.org Wed Sep 14 10:50:01 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 14 Sep 2011 17:50:01 +0000 Subject: [Bug 782] Please support building against npapi-sdk as well In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 --- Comment #7 from Deepak Bhole 2011-09-14 17:50:01 --- Sure! Any improvements are more than welcome :) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From dbhole at redhat.com Wed Sep 14 11:06:16 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 14 Sep 2011 14:06:16 -0400 Subject: [icedtea-web] RFC: Commit of posted patch for PR782 In-Reply-To: <20110914020625.GD26666@rivendell.middle-earth.co.uk> References: <20110913173449.GD3343@redhat.com> <20110914020625.GD26666@rivendell.middle-earth.co.uk> Message-ID: <20110914180615.GI3343@redhat.com> * Dr Andrew John Hughes [2011-09-13 22:06]: > On 13:34 Tue 13 Sep , Deepak Bhole wrote: > > Hi, > > > > I would like to commit the patch posted for PR782 (after adding > > changelog): > > > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=782 > > > > Okay for commit? > > > > Cheers, > > Deepak > > In future, please attach the patch for review rather than relying on > external resources. Fair enough. Will do! Cheers, Deepak From dbhole at redhat.com Wed Sep 14 11:31:25 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 14 Sep 2011 14:31:25 -0400 Subject: [icedtea-web][rfc] make current reproducers more verbose In-Reply-To: <4E6E4FA7.2040408@redhat.com> References: <4E6E4878.7040409@redhat.com> <20110912180917.GE18298@redhat.com> <4E6E4FA7.2040408@redhat.com> Message-ID: <20110914183125.GJ3343@redhat.com> * Jiri Vanek [2011-09-12 14:28]: > On 09/12/2011 08:09 PM, Deepak Bhole wrote: > >* Jiri Vanek [2011-09-12 14:07]: > >>2011-09-12 Jiri Vanek > >> * tests/jnlp_tests/: all current reproducers (AccessClassInPackage > >> AddShutdownHook AllStackTraces CreateClassLoader deadlocktest > >> ReadEnvironment ReadProperties RedirectStreams ReplaceSecurityManager > >> SetContextClassLoader simpletest1 simpletest2) junit's asserts are enchanted > >> for reason, so junit assertion exception message is much clearer. > > > >Hi Jiri, > > > >What issue does this fix? How do I reproduce it? > > > >Cheers, > >Deepak > > > > It fixs "nothing". But when something goes wrong you will be informed instead of standart "assertion error". > You can reproduce behaviour when you will break some reproducer (but keep it compilable). > I got to troubles here when I wrote scripts for including icedtea-web into daily report and I simulated failures - it was quite digging to find what and why got wrong. Now it is much easier. > > Thanx for looking into it! Ah thanks. I can see the difference with and without the patch. Looks fine to me. One minor nitpick .. the ChangeLog entry needs a newline between the header and the next line. i.e.: ---- 2011-09-12 Jiri Vanek * tests/jnlp_tests/: all current reproducers ... ---- to ---- 2011-09-12 Jiri Vanek * tests/jnlp_tests/: all current reproducers ... ---- After above change, OK for HEAD. Cheers, Deepak From ptisnovs at icedtea.classpath.org Thu Sep 15 02:44:52 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 15 Sep 2011 09:44:52 +0000 Subject: /hg/gfx-test: Added 24 new tests for a total of 40 tests in the ... Message-ID: changeset eb9f92bf70f5 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=eb9f92bf70f5 author: Pavel Tisnovsky date: Thu Sep 15 11:46:42 2011 +0200 Added 24 new tests for a total of 40 tests in the test suite src/org/gfxtest/testsuites/CAGOperationsOnCircles.java diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnCircles.java | 694 +++++++++++++++- 2 files changed, 640 insertions(+), 59 deletions(-) diffs (truncated from 912 to 500 lines): diff -r 13ab5ae3881b -r eb9f92bf70f5 ChangeLog --- a/ChangeLog Wed Sep 14 13:24:03 2011 +0200 +++ b/ChangeLog Thu Sep 15 11:46:42 2011 +0200 @@ -1,3 +1,8 @@ +2011-09-15 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnCircles.java: + Added 24 new tests for a total of 40 tests in this test suite. + 2011-09-14 Pavel Tisnovsky * Makefile: added new class to compile diff -r 13ab5ae3881b -r eb9f92bf70f5 src/org/gfxtest/testsuites/CAGOperationsOnCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnCircles.java Wed Sep 14 13:24:03 2011 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnCircles.java Thu Sep 15 11:46:42 2011 +0200 @@ -228,14 +228,14 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testUnionStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testUnionStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area using union operator Area area = createAreaFromCirclesUsingUnionOperator(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); return TestResult.PASSED; } @@ -250,14 +250,14 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testSubtractStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testSubtractStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area using subtract operator Area area = createAreaFromCirclesUsingSubtractOperator(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); return TestResult.PASSED; } @@ -272,14 +272,14 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testInverseSubtractStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testInverseSubtractStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area using subtract operator Area area = createAreaFromCirclesUsingInverseSubtractOperator(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); return TestResult.PASSED; } @@ -294,14 +294,14 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testIntersectStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testIntersectStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area using intersect operator Area area = createAreaFromCirclesUsingIntersectOperator(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); return TestResult.PASSED; } @@ -316,14 +316,254 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testXorStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testXorStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area using XOR operator Area area = createAreaFromCirclesUsingXorOperator(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using union operator. The shape is rendered + * using wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = createAreaFromCirclesUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using subtract operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using subtract operator + Area area = createAreaFromCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using inverse subtract operator. The shape + * is rendered using wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using subtract operator + Area area = createAreaFromCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using intersect operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using intersect operator + Area area = createAreaFromCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using XOR operator. The shape is rendered + * using wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using XOR operator + Area area = createAreaFromCirclesUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using union operator. The shape is rendered + * using extra wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using union operator + Area area = createAreaFromCirclesUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using subtract operator. The shape is + * rendered using extra wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using subtract operator + Area area = createAreaFromCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using inverse subtract operator. The shape + * is rendered using extra wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using subtract operator + Area area = createAreaFromCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using intersect operator. The shape is + * rendered using extra wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using intersect operator + Area area = createAreaFromCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using XOR operator. The shape is rendered + * using extra wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using XOR operator + Area area = createAreaFromCirclesUsingXorOperator(image); + // draw the area + graphics2d.draw(area); return TestResult.PASSED; } @@ -338,16 +578,16 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testUnionColorPaint(TestImage image, Graphics2D graphics) + public TestResult testUnionColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area using union operator Area area = createAreaFromCirclesUsingUnionOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); return TestResult.PASSED; } @@ -362,16 +602,40 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testSubtractColorPaint(TestImage image, Graphics2D graphics) + public TestResult testSubtractColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area using subtract operator Area area = createAreaFromCirclesUsingSubtractOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using subtract operator. The shape is + * rendered using color paint (fill). + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractColorPaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setFillColor(graphics2d); + // create area using subtract operator + Area area = createAreaFromCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); return TestResult.PASSED; } @@ -386,16 +650,16 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testIntersectColorPaint(TestImage image, Graphics2D graphics) + public TestResult testIntersectColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area using intersect operator Area area = createAreaFromCirclesUsingIntersectOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); return TestResult.PASSED; } @@ -410,16 +674,16 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testXorColorPaint(TestImage image, Graphics2D graphics) + public TestResult testXorColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area using XOR operator Area area = createAreaFromCirclesUsingXorOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); return TestResult.PASSED; } @@ -434,16 +698,16 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testUnionColorHorizontalGradientPaint(TestImage image, Graphics2D graphics) + public TestResult testUnionHorizontalGradientPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setHorizontalGradientFill(image, graphics); + CommonRenderingStyles.setHorizontalGradientFill(image, graphics2d); // create area using union operator Area area = createAreaFromCirclesUsingUnionOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); return TestResult.PASSED; } @@ -458,16 +722,40 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testSubtractColorHorizontalGradientPaint(TestImage image, Graphics2D graphics) + public TestResult testSubtractHorizontalGradientPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setHorizontalGradientFill(image, graphics); + CommonRenderingStyles.setHorizontalGradientFill(image, graphics2d); // create area using subtract operator Area area = createAreaFromCirclesUsingSubtractOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two circles using subtract operator. The shape is rendered + * using horizontal gradient paint (fill). + * From jvanek at icedtea.classpath.org Thu Sep 15 06:27:08 2011 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 15 Sep 2011 13:27:08 +0000 Subject: /hg/icedtea-web: current reproducers (see changelog) done more v... Message-ID: changeset e9a9792ee189 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=e9a9792ee189 author: Jiri Vanek date: Thu Sep 15 15:27:40 2011 +0200 current reproducers (see changelog) done more verbose diffstat: ChangeLog | 8 ++ tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java | 12 ++- tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java | 11 ++- tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java | 13 ++- tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java | 11 ++- tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java | 11 ++- tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java | 29 +++++---- tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java | 13 ++- tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java | 13 ++- tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java | 13 ++- tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java | 3 +- tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java | 9 ++- tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java | 11 ++- 13 files changed, 101 insertions(+), 56 deletions(-) diffs (339 lines): diff -r d2434b3dc395 -r e9a9792ee189 ChangeLog --- a/ChangeLog Tue Sep 13 16:23:04 2011 -0400 +++ b/ChangeLog Thu Sep 15 15:27:40 2011 +0200 @@ -1,3 +1,11 @@ +2011-09-15 Jiri Vanek + + * tests/jnlp_tests/: all current reproducers (AccessClassInPackage + AddShutdownHook AllStackTraces CreateClassLoader deadlocktest + ReadEnvironment ReadProperties RedirectStreams ReplaceSecurityManager + SetContextClassLoader simpletest1 simpletest2) junit's asserts are enchanted + for reason, so junit assertion exception message is much clearer. + 2011-09-13 Deepak Bhole PR782: Support building against npapi-sdk as well diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java --- a/tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java Thu Sep 15 15:27:40 2011 +0200 @@ -47,13 +47,17 @@ @Test public void AccessClassInPackageTestLunch1() throws Exception { System.out.println("connecting AccessClassInPackageTest request"); + System.err.println("connecting AccessClassInPackageTest request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/AccessClassInPackage.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stderr.contains("java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.internal.spec)")); - Assert.assertFalse(pr.stderr.contains("ClassNotFoundException")); - Assert.assertFalse(pr.stdout.length() > 2); - Assert.assertFalse(pr.wasTerminated); + String c="java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.internal.spec)"; + Assert.assertTrue("stderr should contains `"+c+"`, but didn't ",pr.stderr.contains(c)); + String cc="ClassNotFoundException"; + Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); + Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("AccessClassInPackageTestLunch1 should not be terminated, but was",pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); } + } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java --- a/tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java Thu Sep 15 15:27:40 2011 +0200 @@ -47,13 +47,16 @@ @Test public void AddShutdownHookTestLunch1() throws Exception { System.out.println("connecting AddShutdownHook request"); + System.err.println("connecting AddShutdownHook request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/AddShutdownHook.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stderr.contains("java.security.AccessControlException: access denied (java.lang.RuntimePermission shutdownHooks)")); - Assert.assertFalse(pr.stderr.contains("ClassNotFoundException")); - Assert.assertFalse(pr.stdout.length() > 2); - Assert.assertFalse(pr.wasTerminated); + String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission shutdownHooks)"; + Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String cc="ClassNotFoundException"; + Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); + Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("AddShutdownHookTestLunch1 should not be terminated, but was",pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); } } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java --- a/tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java Thu Sep 15 15:27:40 2011 +0200 @@ -47,15 +47,18 @@ @Test - public void AddShutdownHookTestLunch1() throws Exception { + public void AllStackTracesTest1() throws Exception { System.out.println("connecting AllStackTraces request"); + System.err.println("connecting AllStackTraces request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/AllStackTraces.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stderr.contains("java.security.AccessControlException: access denied (java.lang.RuntimePermission getStackTrace)")); - Assert.assertFalse(pr.stderr.contains("ClassNotFoundException")); - Assert.assertFalse(pr.stdout.length()>2); - Assert.assertFalse(pr.wasTerminated); + String c="java.security.AccessControlException: access denied (java.lang.RuntimePermission getStackTrace)"; + Assert.assertTrue("stderr should contains `"+c+"`, but didn't ",pr.stderr.contains(c)); + String cc="ClassNotFoundException"; + Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did ",pr.stderr.contains(cc)); + Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("AllStackTracesTest1 should not be terminated, but was",pr.wasTerminated); Assert.assertEquals((Integer)0, pr.returnValue); } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java --- a/tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java Thu Sep 15 15:27:40 2011 +0200 @@ -47,13 +47,16 @@ @Test public void CreateClassLoaderLunch1() throws Exception { System.out.println("connecting CreateClassLoader request"); + System.err.println("connecting CreateClassLoader request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/CreateClassLoader.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stderr.contains("java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)")); - Assert.assertFalse(pr.stderr.contains("ClassNotFoundException")); - Assert.assertFalse(pr.stdout.length() > 2); - Assert.assertFalse(pr.wasTerminated); + String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)"; + Assert.assertTrue("Stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String cc="ClassNotFoundException"; + Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); + Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("CreateClassLoaderLunch1 should not be terminated, but was",pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); } } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java --- a/tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java Thu Sep 15 15:27:40 2011 +0200 @@ -47,13 +47,16 @@ @Test public void ReadEnvironmentLunch1() throws Exception { System.out.println("connecting ReadEnvironment request"); + System.err.println("connecting ReadEnvironment request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/ReadEnvironment.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stderr.contains("java.security.AccessControlException: access denied (java.lang.RuntimePermission getenv.USER)")); - Assert.assertFalse(pr.stderr.contains("ClassNotFoundException")); - Assert.assertFalse(pr.stdout.length() > 2); - Assert.assertFalse(pr.wasTerminated); + String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission getenv.USER)"; + Assert.assertTrue("stderr should contains "+s+"but didn't",pr.stderr.contains(s)); + String cc="ClassNotFoundException"; + Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); + Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("ReadEnvironmentLunch1 should not be terminated, but was",pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); } } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java --- a/tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java Thu Sep 15 15:27:40 2011 +0200 @@ -44,31 +44,36 @@ private static ServerAccess server = new ServerAccess(); - - + @Test public void ReadPropertiesLunch1() throws Exception { - System.out.println("connecting ReadProperties request"); + System.out.println("connecting ReadProperties1 request"); + System.err.println("connecting ReadProperties1 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/ReadProperties1.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stderr.contains("java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)")); - Assert.assertFalse(pr.stderr.contains("ClassNotFoundException")); - Assert.assertFalse(pr.stdout.length()>2); - Assert.assertFalse(pr.wasTerminated); + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; + Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String cc="ClassNotFoundException"; + Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); + Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("ReadPropertiesLunch1 should not be terminated, but was",pr.wasTerminated); Assert.assertEquals((Integer)0, pr.returnValue); } @Test public void ReadPropertiesLunch2() throws Exception { - System.out.println("connecting ReadProperties request"); + System.out.println("connecting ReadProperties2 request"); + System.err.println("connecting ReadProperties2 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/ReadProperties2.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stderr.contains("java.security.AccessControlException: access denied (java.util.PropertyPermission user.home read)")); - Assert.assertFalse(pr.stderr.contains("ClassNotFoundException")); - Assert.assertFalse(pr.stdout.length()>2); - Assert.assertFalse(pr.wasTerminated); + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.home read)"; + Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String cc="ClassNotFoundException"; + Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); + Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("ReadPropertiesLunch2 should not be terminated, but was",pr.wasTerminated); Assert.assertEquals((Integer)0, pr.returnValue); } } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java --- a/tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java Thu Sep 15 15:27:40 2011 +0200 @@ -44,15 +44,18 @@ private static ServerAccess server = new ServerAccess(); @Test - public void ReadPropertiesLunch1() throws Exception { + public void RedirectStreamsTest1() throws Exception { System.out.println("connecting RedirectStreams request"); + System.err.println("connecting RedirectStreams request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/RedirectStreams.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stderr.contains("java.security.AccessControlException: access denied (java.lang.RuntimePermission setIO)")); - Assert.assertFalse(pr.stderr.contains("ClassNotFoundException")); - Assert.assertFalse(pr.stdout.length() > 2); - Assert.assertFalse(pr.wasTerminated); + String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission setIO)"; + Assert.assertTrue("Stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String cc="ClassNotFoundException"; + Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); + Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("RedirectStreams should not be terminated, but was",pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); } } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java --- a/tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java Thu Sep 15 15:27:40 2011 +0200 @@ -45,14 +45,17 @@ @Test public void ReplaceSecurityManagerLunch1() throws Exception { - System.out.println("connecting RedirectStreams request"); + System.out.println("connecting ReplaceSecurityManager request"); + System.err.println("connecting ReplaceSecurityManager request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/ReplaceSecurityManager.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stderr.contains("java.security.AccessControlException: access denied (java.lang.RuntimePermission setSecurityManager)")); - Assert.assertFalse(pr.stderr.contains("ClassNotFoundException")); - Assert.assertFalse(pr.stdout.length() > 2); - Assert.assertFalse(pr.wasTerminated); + String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission setSecurityManager)"; + Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String cc="ClassNotFoundException"; + Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); + Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("ReplaceSecurityManagerLunch1 should not be terminated, but was",pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); } } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java --- a/tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java Thu Sep 15 15:27:40 2011 +0200 @@ -45,14 +45,17 @@ @Test public void SetContextClassLoader1() throws Exception { - System.out.println("connecting RedirectStreams request"); + System.out.println("connecting SetContextClassLoader request"); + System.err.println("connecting SetContextClassLoader request"); ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/SetContextClassLoader.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stderr.contains("java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)")); - Assert.assertFalse(pr.stderr.contains("ClassNotFoundException")); - Assert.assertFalse(pr.stdout.length() > 2); - Assert.assertFalse(pr.wasTerminated); + String s="java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)"; + Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String cc="ClassNotFoundException"; + Assert.assertFalse("stderr should NOT contains `"+cc+"`, but did",pr.stderr.contains(cc)); + Assert.assertFalse("stdout length should be <=2, but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("SetContextClassLoader1 should not be terminated, but was",pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); } } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java --- a/tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java Thu Sep 15 15:27:40 2011 +0200 @@ -49,12 +49,13 @@ @Test public void testDeadLockTestTerminated() throws Exception { System.out.println("connecting deadlocktest request"); + System.err.println("connecting deadlocktest request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/deadlocktest.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); Assert.assertFalse(pr.stdout.contains("This process is hanging more then 30s. Should be killed")); // Assert.assertTrue(pr.stderr.contains("xception"));, exception is thrown by engine,not by application - Assert.assertTrue(pr.wasTerminated); + Assert.assertTrue("testDeadLockTestTerminated should be terminated, but wasn't",pr.wasTerminated); Assert.assertEquals(null, pr.returnValue);//killed process have no value } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java --- a/tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java Thu Sep 15 15:27:40 2011 +0200 @@ -50,11 +50,14 @@ @Test public void testSimpletest1lunchOk() throws Exception { System.out.println("connecting simpletest1 request"); + System.err.println("connecting simpletest1 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/simpletest1.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stdout.contains("Good simple javaws exapmle")); - Assert.assertFalse(pr.stderr.contains("xception")); + String s="Good simple javaws exapmle"; + Assert.assertTrue("testSimpletest1lunchOk stdout should contains "+s+" bud didn't",pr.stdout.contains(s)); + String ss="xception"; + Assert.assertFalse("testSimpletest1lunchOk stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); Assert.assertFalse(pr.wasTerminated); Assert.assertEquals((Integer)0, pr.returnValue); } @@ -63,4 +66,4 @@ - } \ No newline at end of file + } diff -r d2434b3dc395 -r e9a9792ee189 tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java --- a/tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java Tue Sep 13 16:23:04 2011 -0400 +++ b/tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java Thu Sep 15 15:27:40 2011 +0200 @@ -48,13 +48,16 @@ @Test public void testSimpletest2lunchException() throws Exception { System.out.println("connecting simpletest2 request"); + System.err.println("connecting simpletest2 request"); ServerAccess.ProcessResult pr=server.executeJavawsHeadless(null,"/simpletest2.jnlp"); System.out.println(pr.stdout); System.err.println(pr.stderr); - Assert.assertTrue(pr.stdout.trim().length() < 1); - Assert.assertTrue(pr.stderr.contains("Correct exception")); - Assert.assertTrue(pr.stderr.contains("Exception")); - Assert.assertFalse(pr.wasTerminated); + Assert.assertTrue("stdout should be < 1 , but was "+pr.stdout.trim().length(),pr.stdout.trim().length() < 1); + String s="Correct exception"; + Assert.assertTrue("stderr should contains "+s+" but didn't",pr.stderr.contains(s)); + String ss="Exception"; + Assert.assertTrue("stderr should contains "+ss+" but did not",pr.stderr.contains(ss)); + Assert.assertFalse("testSimpletest2lunchException should not be terminated, but was",pr.wasTerminated); //Assert.assertFalse(0==pr.returnValue);exception and still returned 0? } From ahughes at redhat.com Thu Sep 15 06:39:13 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 15 Sep 2011 14:39:13 +0100 Subject: [icedtea-web] RFC: PR618 - Can't install OpenDJ, JavaWebStart fails with Input stream is null error. In-Reply-To: <4E6FB87C.6090003@redhat.com> References: <4D4095C8.4020603@redhat.com> <4D7E2F47.2050807@redhat.com> <20110316204054.GH29289@rivendell.middle-earth.co.uk> <4D822201.7000906@redhat.com> <4DA878AE.8080301@redhat.com> <20110415205544.GI29287@rivendell.middle-earth.co.uk> <4DA8B3FD.1020002@redhat.com> <20110421215942.GJ29985@rivendell.middle-earth.co.uk> <4DC495C4.7070803@redhat.com> <4E6FB87C.6090003@redhat.com> Message-ID: <20110915133913.GP26666@rivendell.middle-earth.co.uk> On 16:09 Tue 13 Sep , Omair Majid wrote: > On 05/06/2011 08:43 PM, Omair Majid wrote: > > On 04/21/2011 05:59 PM, Dr Andrew John Hughes wrote: > >> On 17:09 Fri 15 Apr , Omair Majid wrote: > >>> > On 04/15/2011 04:55 PM, Dr Andrew John Hughes wrote: > >>>> > > > >>>> > > Can you start a clean thread with the current version of the patch? > >>>> > > The previous e-mail was pretty unreadable for me. > >>> > > >>> > Here you go. Attached. > >>> > > >>> > As explained earlier, it fixes PR618, buy allowing lazy loading to > >>> work > >>> > when trying to find resources using getResource(s)/findResource(s). > >>> > > >>> > Any thoughts or comments? > >>> > > >>> > Cheers, > >>> > Omair > > > > Updated patch attached. > > > >> > >>> > diff -r 5454292b3fae > >>> netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > >>> > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu > >>> Mar 10 15:42:01 2011 -0500 > >>> > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon > >>> Mar 14 11:07:15 2011 -0400 > >>> > @@ -40,7 +40,6 @@ > >>> > import java.util.List; > >>> > import java.util.Map; > >>> > import java.util.TreeSet; > >>> > -import java.util.Vector; > >>> > import java.util.jar.JarEntry; > >>> > import java.util.jar.JarFile; > >>> > > >>> > @@ -1123,31 +1122,54 @@ > >>> > /** > >>> > * Finds the resource in this, the parent, or the extension > >>> > * class loaders. > >>> > + * > >>> > + * @return aURL for the resource, ornull > >>> > + * if the resource could not be found. > >>> > */ > >>> > - public URL getResource(String name) { > >>> > - URL result = super.getResource(name); > >>> > + @Override > >>> > + public URL findResource(String name) { > >>> > + URL result = null; > >>> > > >>> > - for (int i = 1; i< loaders.length; i++) > >>> > - if (result == null) > >>> > - result = loaders[i].getResource(name); > >>> > + try { > >>> > + Enumeration e = findResources(name); > >> Just a stylistic thing, but it's usually Enumeration without the > >> space. > >> > > > > Fixed. > > > >>> > + if (e.hasMoreElements()) { > >>> > + result = e.nextElement(); > >>> > + } > >>> > + } catch (IOException e) { > >>> > + // continue > >> Should we not at least log this if debugging mode is on? > > > > Done. > > > >> > >>> > + private Enumeration findResourcesBySearching(String name) > >>> throws IOException { > >>> > + List resources = new ArrayList(); > >>> > Enumeration e; > >>> > > >>> > for (int i = 0; i< loaders.length; i++) { > >>> > + // TODO check if this will blow up or not > >>> > + // if loaders[1].getResource() is called, wont it call > >>> getResource() on > >>> > + // the original caller? infinite recursion? > >>> > > >>> > if (loaders[i] == this) > >>> > e = super.findResources(name); > >>> > @@ -1166,7 +1188,7 @@ > >>> > resources.add(e.nextElement()); > >>> > } > >>> > > >>> > - return resources.elements(); > >>> > + return Collections.enumeration(resources); > >>> > } > >>> > > >> Probably asked this last time, but remind why we return an Enumeration > >> and not an Iterator when > >> resources is a List? > > > > fineResources, which overrides a method with the same name in > > ClassLoader and calls findResourcesBySearching, has to return an > > Enumeration. To avoid conversions from an iterator to enumeration, I am > > making findResourcesBySearching return an enumeration. I can change it > > if you insist. > > > > Ping. This got lost because it's on the end of a long (and old thread). This looks ok now, but can you please post the current version of the patch in a new thread to double-check? Thanks. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From ptisnovs at icedtea.classpath.org Fri Sep 16 02:10:42 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 16 Sep 2011 09:10:42 +0000 Subject: /hg/gfx-test: Set narrower width of horizontal, vertical and dia... Message-ID: changeset 871ca0408974 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=871ca0408974 author: Pavel Tisnovsky date: Fri Sep 16 11:12:25 2011 +0200 Set narrower width of horizontal, vertical and diagonal gradient fills in src/org/gfxtest/framework/CommonRenderingStyles.java. Added 25 new tests for a total of 40 tests to the following test suite: src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java. diffstat: ChangeLog | 8 + src/org/gfxtest/framework/CommonRenderingStyles.java | 6 + src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java | 712 ++++++++++++- 3 files changed, 669 insertions(+), 57 deletions(-) diffs (truncated from 957 to 500 lines): diff -r eb9f92bf70f5 -r 871ca0408974 ChangeLog --- a/ChangeLog Thu Sep 15 11:46:42 2011 +0200 +++ b/ChangeLog Fri Sep 16 11:12:25 2011 +0200 @@ -1,3 +1,11 @@ +2011-09-16 Pavel Tisnovsky + + * src/org/gfxtest/framework/CommonRenderingStyles.java: + Set narrower width of horizontal, vertical and diagonal gradient + fills. + * src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java: + Added 25 new tests for a total of 40 tests in this test suite. + 2011-09-15 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnCircles.java: diff -r eb9f92bf70f5 -r 871ca0408974 src/org/gfxtest/framework/CommonRenderingStyles.java --- a/src/org/gfxtest/framework/CommonRenderingStyles.java Thu Sep 15 11:46:42 2011 +0200 +++ b/src/org/gfxtest/framework/CommonRenderingStyles.java Fri Sep 16 11:12:25 2011 +0200 @@ -280,6 +280,8 @@ // calculate radius of circle int radius = CommonShapesRenderer.calculateRadius(image); + // set smaller radius to better see the gradient + radius = radius >> 1; GradientPaint gradientPaint = new GradientPaint(xc - radius + offset, yc, color1, xc + radius - offset, yc, color2); graphics.setPaint(gradientPaint); @@ -354,6 +356,8 @@ // calculate radius of circle int radius = CommonShapesRenderer.calculateRadius(image); + // set smaller radius to better see the gradient + radius = radius >> 1; GradientPaint gradientPaint = new GradientPaint(xc, yc - radius + offset, color1, xc, yc + radius - offset, color2); graphics.setPaint(gradientPaint); @@ -431,6 +435,8 @@ // calculate radius of circle int radius = CommonShapesRenderer.calculateRadius(image); + // set smaller radius to better see color gradient + radius = radius >> 1; int r2 = (int)(radius * SIN_COS_45 ); int delta = (int) (offset * SIN_COS_45); diff -r eb9f92bf70f5 -r 871ca0408974 src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java Thu Sep 15 11:46:42 2011 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java Fri Sep 16 11:12:25 2011 +0200 @@ -40,8 +40,6 @@ package org.gfxtest.testsuites; - - import java.awt.Graphics2D; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; @@ -240,14 +238,14 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testUnionStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testUnionStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area using union operator Area area = createAreaFromRectanglesUsingUnionOperator(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); return TestResult.PASSED; } @@ -262,14 +260,14 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testSubtractStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testSubtractStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area using subtract operator Area area = createAreaFromRectanglesUsingSubtractOperator(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); return TestResult.PASSED; } @@ -284,14 +282,14 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testInverseSubtractStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testInverseSubtractStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area using inverse subtract operator Area area = createAreaFromRectanglesUsingInverseSubtractOperator(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); return TestResult.PASSED; } @@ -306,14 +304,14 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testIntersectStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testIntersectStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area using intersect operator Area area = createAreaFromRectanglesUsingIntersectOperator(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); return TestResult.PASSED; } @@ -328,14 +326,254 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testXorStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testXorStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area using XOR operator Area area = createAreaFromRectanglesUsingXorOperator(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using union operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = createAreaFromRectanglesUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using subtract operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using subtract operator + Area area = createAreaFromRectanglesUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using inverse subtract operator. The + * shape is rendered using wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using inverse subtract operator + Area area = createAreaFromRectanglesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using intersect operator. The + * shape is rendered using wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using intersect operator + Area area = createAreaFromRectanglesUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using XOR operator. The + * shape is rendered using wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using XOR operator + Area area = createAreaFromRectanglesUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using union operator. The shape is + * rendered using extra wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using union operator + Area area = createAreaFromRectanglesUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using subtract operator. The shape is + * rendered using extra wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using subtract operator + Area area = createAreaFromRectanglesUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using inverse subtract operator. The + * shape is rendered using extra wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using inverse subtract operator + Area area = createAreaFromRectanglesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using intersect operator. The + * shape is rendered using extra wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using intersect operator + Area area = createAreaFromRectanglesUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using XOR operator. The + * shape is rendered using extra wide stroke. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using XOR operator + Area area = createAreaFromRectanglesUsingXorOperator(image); + // draw the area + graphics2d.draw(area); return TestResult.PASSED; } @@ -350,16 +588,16 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testUnionColorPaint(TestImage image, Graphics2D graphics) + public TestResult testUnionColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area using union operator Area area = createAreaFromRectanglesUsingUnionOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); return TestResult.PASSED; } @@ -374,16 +612,16 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testSubtractColorPaint(TestImage image, Graphics2D graphics) + public TestResult testSubtractColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area using subtract operator Area area = createAreaFromRectanglesUsingSubtractOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); return TestResult.PASSED; } @@ -398,16 +636,16 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testInverseSubtractColorPaint(TestImage image, Graphics2D graphics) + public TestResult testInverseSubtractColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area using inverse subtract operator Area area = createAreaFromRectanglesUsingInverseSubtractOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); return TestResult.PASSED; } @@ -422,16 +660,16 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testIntersectColorPaint(TestImage image, Graphics2D graphics) + public TestResult testIntersectColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area using intersect operator Area area = createAreaFromRectanglesUsingIntersectOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); return TestResult.PASSED; } @@ -446,16 +684,16 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testXorColorPaint(TestImage image, Graphics2D graphics) + public TestResult testXorColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area using XOR operator Area area = createAreaFromRectanglesUsingXorOperator(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); return TestResult.PASSED; } @@ -470,16 +708,16 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testUnionHorizontalGradiendPaint(TestImage image, Graphics2D graphics) + public TestResult testUnionHorizontalGradientPaint(TestImage image, Graphics2D graphics2d) { // set stroke color From omajid at redhat.com Fri Sep 16 15:02:44 2011 From: omajid at redhat.com (Omair Majid) Date: Fri, 16 Sep 2011 18:02:44 -0400 Subject: [icedtea-web] RFC: PR766 javaws fails to parse an node that contains CDATA Message-ID: <4E73C784.6070602@redhat.com> Hi, As explained in the bug report [1], icedtea-web ignores CDATA sections in JNLP files. I dug into the parser code a bit and found a few things. The code that sanitizes comments from jnlp files (sanitizeInput) actually removes CDATA sections along with comments. This is probably a bug. (As an aside, I suspect that the reason this is done separately from the main parser is because the main parser is a rather strict XML parser and some of the locations where comments can appear in jnlp files are not accepted by the XML standard. See https://bugzilla.redhat.com/show_bug.cgi?id=449160 for examples of jnlp files that contain invalid comments) The NanoXML parser itself can parse and see CDATA sections. However, it is not quite perfect. It has trouble parsing when CDATA sections appear in certain places, or are surrounded by certain elements. I have attached 2 patches. The first patch adds a set of test cases, and the second makes the sanitizer skip special sections and just remove comments. Running the junit tests (including the ones in the patch) shows: Before fix: 5 Errors, 3 failures After fix: 7 Errors, 1 failure. The appearance of 2 new errors is a little surprising. But it turns out that the additional failures are being caused in JNLPMatcher tests - CDATA sections that were previously being sanitized away are now being fed to the parser which is failing to handle them. I will post a patch to address this later. Any thoughts or comments? Cheers, Omair [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=766 -------------- next part -------------- A non-text attachment was scrubbed... Name: cdata-test-additions-01.patch Type: text/x-patch Size: 7001 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110916/02aeaf1a/cdata-test-additions-01.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: do-not-remove-cdata-sections-01.patch Type: text/x-patch Size: 2427 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110916/02aeaf1a/do-not-remove-cdata-sections-01.patch From drazzib at drazzib.com Sun Sep 18 13:38:38 2011 From: drazzib at drazzib.com (Damien Raude-Morvan) Date: Sun, 18 Sep 2011 22:38:38 +0200 Subject: [patch] Fix current icedtea7-forest/jdk awt build Message-ID: <201109182238.38648.drazzib@drazzib.com> Hi, This patch is targeted for icedtea7-forest jdk. Since rev 005c45393f0d, USE_SYSTEM_CUPS define seems to be used to skip usage of embed cups headers. I found some issues with current makefiles. 1) In openjdk/jdk/make/sun/awt/FILES_c_unix.gmk there is a typo in FILES_NO_MOTIF_c. It should be "+=" and not "=". Actual error: it skip build of others files and latter cause, for example, "java.lang.UnsatisfiedLinkError: java.awt.Font.initIDs" when doing XAWTIcon generation with ToBin tool. 2) In openjdk/jdk/make/sun/awt/mawt.gmk, there is missing directives when comparing with xawt ones. - Missing vpath %.c for embed cups headers - Missing OTHER_LDLIBS for cups libs Patch is attached. Regards, -- Damien -------------- next part -------------- A non-text attachment was scrubbed... Name: sun-awt-buildsystem.diff Type: text/x-patch Size: 1170 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110918/fbc66d77/sun-awt-buildsystem.diff From ptisnovs at icedtea.classpath.org Mon Sep 19 02:49:31 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 19 Sep 2011 09:49:31 +0000 Subject: /hg/gfx-test: Added ten new tests to a test suite src/org/gfxtes... Message-ID: changeset 554c429d77b6 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=554c429d77b6 author: Pavel Tisnovsky date: Mon Sep 19 11:51:26 2011 +0200 Added ten new tests to a test suite src/org/gfxtest/testsuites/Areas.java: rendering using various stroke width, creating areas constructed from open and closed paths etc. diffstat: ChangeLog | 6 + src/org/gfxtest/testsuites/Areas.java | 400 +++++++++++++++++++++++++++++---- 2 files changed, 358 insertions(+), 48 deletions(-) diffs (truncated from 616 to 500 lines): diff -r 871ca0408974 -r 554c429d77b6 ChangeLog --- a/ChangeLog Fri Sep 16 11:12:25 2011 +0200 +++ b/ChangeLog Mon Sep 19 11:51:26 2011 +0200 @@ -1,3 +1,9 @@ +2011-09-19 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/Areas.java: + Added ten new tests: rendering using various stroke width, creating + areas constructed from open and closed paths etc. + 2011-09-16 Pavel Tisnovsky * src/org/gfxtest/framework/CommonRenderingStyles.java: diff -r 871ca0408974 -r 554c429d77b6 src/org/gfxtest/testsuites/Areas.java --- a/src/org/gfxtest/testsuites/Areas.java Fri Sep 16 11:12:25 2011 +0200 +++ b/src/org/gfxtest/testsuites/Areas.java Mon Sep 19 11:51:26 2011 +0200 @@ -45,6 +45,7 @@ import java.awt.Graphics2D; import java.awt.geom.Area; import java.awt.geom.CubicCurve2D; +import java.awt.geom.Path2D; import java.awt.geom.QuadCurve2D; @@ -56,7 +57,8 @@ /** * This test checks the process of creating and rendering new geometric shapes - * represented by an Area class. + * represented by an Area class. Areas are drawn using various stroke or fill + * method. * * @author Pavel Tisnovsky */ @@ -68,19 +70,22 @@ public class Areas extends GfxTest { /** - * Default Y offset of curve end points. + * Default Y offset of curve end points. Used during construction of + * quadratic Bezier curves or cubic Bezier curves. */ private static final int DEFAULT_Y_OFFSET = 40; /** - * Draw crosses at the both end points and control point of quadratic curve. + * Draw crosses at the both end points and control point of quadratic Bezier + * curve. Coordinates of curve control points are computed inside this + * method. * * @param image * image to which line is to be drawn * @param graphics * graphics canvas */ - private void drawCrossesAtQuadraticCurveControlPoints(TestImage image, Graphics2D graphics) + private void drawCrossesAtQuadraticCurveControlPoints(TestImage image, Graphics2D graphics2d) { // calculate image dimensions int width = image.getWidth(); @@ -94,22 +99,23 @@ int x3 = computeX3forQuadraticCurve(width); int y3 = computeY3forQuadraticCurve(); - // draw all three crosses - drawCross(graphics, x1, y1); - drawCross(graphics, x2, y2); - drawCross(graphics, x3, y3); + // draw all three crosses at the coordinates of control points + drawCross(graphics2d, x1, y1); + drawCross(graphics2d, x2, y2); + drawCross(graphics2d, x3, y3); } /** * Draw crosses at the both end points and both control point of cubic - * curve. + * Bezier curve. Coordinates of curve control points are computed inside + * this method. * * @param image * image to which line is to be drawn * @param graphics * graphics canvas */ - private void drawCrossesAtCubicCurveControlPoints(TestImage image, Graphics2D graphics) + private void drawCrossesAtCubicCurveControlPoints(TestImage image, Graphics2D graphics2d) { // construct point set which consists of all four curve control points CubicCurvePointSet pointSet = new CubicCurvePointSet(image); @@ -118,19 +124,19 @@ int[] x = pointSet.getXPointArray(); int[] y = pointSet.getYPointArray(); - // draw all four crosses + // draw all four crosses at the coordinates of control points for (int i = 0; i < 4; i++) { - drawCross(graphics, x[i], y[i]); + drawCross(graphics2d, x[i], y[i]); } } /** - * Create area from the open quadratic curve. + * Create area from the open quadratic Bezier curve. * * @param image * image to which area is to be drawn - * @return area created from open quadratic curve. + * @return area created from open quadratic Bezier curve. */ private Area createAreaFromQuadraticCurve(TestImage image) { @@ -152,11 +158,11 @@ } /** - * Create area from the open cubic curve. + * Create area from the open cubic Bezier curve. * * @param image * image to which area is to be drawn - * @return area created from open cubic curve. + * @return area created from open cubic Bezier curve. */ private Area createAreaFromCubicCurve(TestImage image) { @@ -169,16 +175,66 @@ // create open cubic curve CubicCurve2D curve = new CubicCurve2D.Double(); + // set control points coordinates curve.setCurve(x[0], y[0], x[1], y[1], x[2], y[2], x[3], y[3]); return new Area(curve); } /** - * Compute X coordinate of first curve end point. + * Create area from the open Path constructed from line segments + * + * @param image + * image to which area is to be drawn + * @return area created from open Path + */ + private Area createAreaFromOpenPath(TestImage image) + { + // construct point set which consists of all four curve control points + CubicCurvePointSet pointSet = new CubicCurvePointSet(image); + + // fill in arrays containing path coordinates + int[] x = pointSet.getXPointArray(); + int[] y = pointSet.getYPointArray(); + + Path2D path = new Path2D.Double(); + path.moveTo(x[0], y[0]); + path.lineTo(x[1], y[1]); + path.lineTo(x[2], y[2]); + path.lineTo(x[3], y[3]); + return new Area(path); + } + + /** + * Create area from the closed Path constructed from line segments. + * + * @param image + * image to which area is to be drawn + * @return area created from closed Path + */ + private Area createAreaFromClosedPath(TestImage image) + { + // construct point set which consists of all four curve control points + CubicCurvePointSet pointSet = new CubicCurvePointSet(image); + + // fill in arrays containing path coordinates + int[] x = pointSet.getXPointArray(); + int[] y = pointSet.getYPointArray(); + + Path2D path = new Path2D.Double(); + path.moveTo(x[0], y[0]); + path.lineTo(x[1], y[1]); + path.lineTo(x[2], y[2]); + path.lineTo(x[3], y[3]); + path.closePath(); + return new Area(path); + } + + /** + * Compute X coordinate of quadratic Bezier curve first end point. * * @param width * canvas width - * @return X coordinate of first curve end point. + * @return X coordinate of quadratic Bezier curve first end point. */ private int computeX1forQuadraticCurve(int width) { @@ -186,11 +242,11 @@ } /** - * Compute X coordinate of curve control point. - * + * Compute X coordinate of quadratic Bezier curve control point. + * * @param width * canvas width - * @return X coordinate of curve control point. + * @return X coordinate of quadratic Bezier curve control point. */ private int computeX2forQuadraticCurve(int width) { @@ -198,11 +254,11 @@ } /** - * Compute X coordinate of second curve end point. + * Compute X coordinate of quadratic Bezier curve second end point. * * @param width * canvas width - * @return X coordinate of second curve end point. + * @return X coordinate of quadratic Bezier curve second end point. */ private int computeX3forQuadraticCurve(int width) { @@ -210,9 +266,9 @@ } /** - * Compute Y coordinate of first curve end point. + * Compute Y coordinate of quadratic Bezier curve first end point. * - * @return Y coordinate of first curve end point. + * @return Y coordinate of quadratic Bezier curve first end point. */ private int computeY1forQuadraticCurve() { @@ -220,11 +276,11 @@ } /** - * Compute Y coordinate of curve control point. + * Compute Y coordinate of quadratic Bezier curve control point. * * @param height * canvas height - * @return Y coordinate of curve control point. + * @return Y coordinate of quadratic Bezier curve control point. */ private int computeY2forQuadraticCurve(int height) { @@ -232,9 +288,9 @@ } /** - * Compute Y coordinate of second curve end point. + * Compute Y coordinate of quadratic Bezier curve second end point. * - * @return Y coordinate of second curve end point. + * @return Y coordinate of quadratic Bezier curve second end point. */ private int computeY3forQuadraticCurve() { @@ -242,7 +298,8 @@ } /** - * Test the result of creating area using an opened quadratic curve. + * Test the result of creating area using an opened quadratic Bezier curve. + * Area is rendered using stroke paint. * * @param image * image to which line is to be drawn @@ -250,16 +307,66 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testQuadraticCurveStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testQuadraticCurveStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area from open quadratic curve Area area = createAreaFromQuadraticCurve(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); // draw crosses at control points - drawCrossesAtQuadraticCurveControlPoints(image, graphics); + drawCrossesAtQuadraticCurveControlPoints(image, graphics2d); + return TestResult.PASSED; + } + + /** + * Test the result of creating area using an opened quadratic Bezier curve. + * Area is rendered using wide stroke paint. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testQuadraticCurveWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area from open quadratic curve + Area area = createAreaFromQuadraticCurve(image); + // draw the area + graphics2d.draw(area); + // draw crosses at control points + drawCrossesAtQuadraticCurveControlPoints(image, graphics2d); + return TestResult.PASSED; + } + + /** + * Test the result of creating area using an opened quadratic Bezier curve. + * Area is rendered using extra wide stroke paint. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testQuadraticCurveExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke extra width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area from open quadratic curve + Area area = createAreaFromQuadraticCurve(image); + // draw the area + graphics2d.draw(area); + // draw crosses at control points + drawCrossesAtQuadraticCurveControlPoints(image, graphics2d); return TestResult.PASSED; } @@ -272,23 +379,24 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testQuadraticCurveColorPaint(TestImage image, Graphics2D graphics) + public TestResult testQuadraticCurveColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area from open quadratic curve Area area = createAreaFromQuadraticCurve(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); // draw crosses at control points - drawCrossesAtQuadraticCurveControlPoints(image, graphics); + drawCrossesAtQuadraticCurveControlPoints(image, graphics2d); return TestResult.PASSED; } /** * Test the result of creating area using an opened cubic curve. + * Area is rendered using stroke paint. * * @param image * image to which line is to be drawn @@ -296,16 +404,66 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testCubicCurveStrokePaint(TestImage image, Graphics2D graphics) + public TestResult testCubicCurveStrokePaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // create area from open cubic curve Area area = createAreaFromCubicCurve(image); // draw the area - graphics.draw(area); + graphics2d.draw(area); // draw crosses at control points - drawCrossesAtCubicCurveControlPoints(image, graphics); + drawCrossesAtCubicCurveControlPoints(image, graphics2d); + return TestResult.PASSED; + } + + /** + * Test the result of creating area using an opened cubic curve. + * Area is rendered using wide stroke paint. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCubicCurveWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area from open cubic curve + Area area = createAreaFromCubicCurve(image); + // draw the area + graphics2d.draw(area); + // draw crosses at control points + drawCrossesAtCubicCurveControlPoints(image, graphics2d); + return TestResult.PASSED; + } + + /** + * Test the result of creating area using an opened cubic curve. + * Area is rendered using extra wide stroke paint. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testCubicCurveExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke extra width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area from open cubic curve + Area area = createAreaFromCubicCurve(image); + // draw the area + graphics2d.draw(area); + // draw crosses at control points + drawCrossesAtCubicCurveControlPoints(image, graphics2d); return TestResult.PASSED; } @@ -318,18 +476,164 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testCubicCurveColorPaint(TestImage image, Graphics2D graphics) + public TestResult testCubicCurveColorPaint(TestImage image, Graphics2D graphics2d) { // set stroke color - CommonRenderingStyles.setStrokeColor(graphics); + CommonRenderingStyles.setStrokeColor(graphics2d); // set fill color - CommonRenderingStyles.setFillColor(graphics); + CommonRenderingStyles.setFillColor(graphics2d); // create area from open cubic curve Area area = createAreaFromCubicCurve(image); // draw the area - graphics.fill(area); + graphics2d.fill(area); // draw crosses at control points - drawCrossesAtCubicCurveControlPoints(image, graphics); + drawCrossesAtCubicCurveControlPoints(image, graphics2d); + return TestResult.PASSED; + } + + /** + * Test the result of creating area using an open Path constructed from line + * segments. Area is rendered using stroke paint. + * + * @param image + * image to which line is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOpenPathStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area from open path constructed from line segment + Area area = createAreaFromOpenPath(image); + // draw the area + graphics2d.draw(area); + // draw crosses at control points + drawCrossesAtCubicCurveControlPoints(image, graphics2d); + return TestResult.PASSED; + } + + /** + * Test the result of creating area using an open Path constructed from line + * segments. Area is rendered using wide stroke paint. + * + * @param image + * image to which line is to be drawn + * @param graphics2d From ptisnovs at redhat.com Mon Sep 19 03:01:16 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Mon, 19 Sep 2011 12:01:16 +0200 Subject: Reviewer needed: refactoring & enhancements of regression test "InternationalFontsRendering" in IcedTea6 HEAD Message-ID: <4E7712EC.7040605@redhat.com> Greetings, I'd like to push new version of a regression test "InternationalFontsRendering" into IcedTea6 HEAD (and later into IcedTea7 too). This test was refactored and enhanced to check issue described in RH bugzilla: Bug #727195 "Japanese font mappings are broken" (https://bugzilla.redhat.com/show_bug.cgi?id=727195) I've also added new basic multilingual planes (Latin-Extended A, Latin-Extended B, Coptic, Katakana, Hiragana) to a check list, so this test checks font rendering in more detail. Successfully tested on RHEL5 (Gnome + East European + Asian fonts installed) Here's ChangeLog entry describing this change: 2011-09-19 Pavel Tisnovsky * patches/jtreg-international-fonts.patch: Refactored and updated this test to check issue described in RH bugzilla: Bug #727195 "Japanese font mappings are broken" https://bugzilla.redhat.com/show_bug.cgi?id=727195 Can anybody please review this change? Thank you in advance Pavel -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: InternationalFontsRendering_hg.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110919/18d55ce4/InternationalFontsRendering_hg.diff From omajid at redhat.com Mon Sep 19 08:44:33 2011 From: omajid at redhat.com (Omair Majid) Date: Mon, 19 Sep 2011 11:44:33 -0400 Subject: [icedtea-web] RFC: PR618 - Can't install OpenDJ, JavaWebStart fails with Input stream is null error. Message-ID: <4E776361.3080304@redhat.com> Hi, The attached patch fixes PR618. There is an old thread [1] that traces the evolution of this patch. The patch tires to make sure that resources marked as 'lazy' are searched too if a resource is not found. ChangeLog 2011-09-19 Omair Majid PR618 * NEWS: Update. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getResource): Rename to ... (findResource): New method. (findResources): If resource can not be found, search in lazy resources. (findResourcesBySearching): New method. Any thoughts or comments? Cheers, Omair [1] http://thread.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/11869 -------------- next part -------------- A non-text attachment was scrubbed... Name: lazy-load-resources-06.patch Type: text/x-patch Size: 3511 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110919/4fa7be4c/lazy-load-resources-06.patch From dbhole at redhat.com Mon Sep 19 10:01:56 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Mon, 19 Sep 2011 13:01:56 -0400 Subject: [icedtea-web] RFC: PR766 javaws fails to parse an node that contains CDATA In-Reply-To: <4E73C784.6070602@redhat.com> References: <4E73C784.6070602@redhat.com> Message-ID: <20110919170155.GC23975@redhat.com> * Omair Majid [2011-09-16 18:03]: > Hi, > > As explained in the bug report [1], icedtea-web ignores CDATA > sections in JNLP files. I dug into the parser code a bit and found a > few things. > > The code that sanitizes comments from jnlp files (sanitizeInput) > actually removes CDATA sections along with comments. This is > probably a bug. > Agreed. I don't know why CDATA is being thrown away either. > (As an aside, I suspect that the reason this is done separately from > the main parser is because the main parser is a rather strict XML > parser and some of the locations where comments can appear in jnlp > files are not accepted by the XML standard. See > https://bugzilla.redhat.com/show_bug.cgi?id=449160 for examples of > jnlp files that contain invalid comments) > > The NanoXML parser itself can parse and see CDATA sections. However, > it is not quite perfect. It has trouble parsing when CDATA sections > appear in certain places, or are surrounded by certain elements. > > I have attached 2 patches. The first patch adds a set of test cases, > and the second makes the sanitizer skip special sections and just > remove comments. > > Running the junit tests (including the ones in the patch) shows: > Before fix: 5 Errors, 3 failures > After fix: 7 Errors, 1 failure. > > The appearance of 2 new errors is a little surprising. But it turns > out that the additional failures are being caused in JNLPMatcher > tests - CDATA sections that were previously being sanitized away are > now being fed to the parser which is failing to handle them. I will > post a patch to address this later. > > Any thoughts or comments? > So the changes to the code make it handle comments now, correct? And the changes to handle CDATA will be in another patch? Is there a risk that passing of CDATA to the parser might start breaking existing apps (where CDATA was being thrown, but the app continued to work)? Also, please post changelog. Thanks, Deepak From omajid at redhat.com Mon Sep 19 10:44:04 2011 From: omajid at redhat.com (Omair Majid) Date: Mon, 19 Sep 2011 13:44:04 -0400 Subject: [icedtea-web] RFC: PR766 javaws fails to parse an node that contains CDATA In-Reply-To: <20110919170155.GC23975@redhat.com> References: <4E73C784.6070602@redhat.com> <20110919170155.GC23975@redhat.com> Message-ID: <4E777F64.5090109@redhat.com> On 09/19/2011 01:01 PM, Deepak Bhole wrote: > * Omair Majid [2011-09-16 18:03]: >> Hi, >> >> As explained in the bug report [1], icedtea-web ignores CDATA >> sections in JNLP files. I dug into the parser code a bit and found a >> few things. >> >> The code that sanitizes comments from jnlp files (sanitizeInput) >> actually removes CDATA sections along with comments. This is >> probably a bug. >> > > Agreed. I don't know why CDATA is being thrown away either. > >> (As an aside, I suspect that the reason this is done separately from >> the main parser is because the main parser is a rather strict XML >> parser and some of the locations where comments can appear in jnlp >> files are not accepted by the XML standard. See >> https://bugzilla.redhat.com/show_bug.cgi?id=449160 for examples of >> jnlp files that contain invalid comments) >> >> The NanoXML parser itself can parse and see CDATA sections. However, >> it is not quite perfect. It has trouble parsing when CDATA sections >> appear in certain places, or are surrounded by certain elements. >> >> I have attached 2 patches. The first patch adds a set of test cases, >> and the second makes the sanitizer skip special sections and just >> remove comments. >> >> Running the junit tests (including the ones in the patch) shows: >> Before fix: 5 Errors, 3 failures >> After fix: 7 Errors, 1 failure. >> >> The appearance of 2 new errors is a little surprising. But it turns >> out that the additional failures are being caused in JNLPMatcher >> tests - CDATA sections that were previously being sanitized away are >> now being fed to the parser which is failing to handle them. I will >> post a patch to address this later. >> >> Any thoughts or comments? >> > > So the changes to the code make it handle comments now, correct? Yes. > And the > changes to handle CDATA will be in another patch? That's the plan. I will have to look into the code a little more before I can figure out exactly what needs to be corrected. > Is there a risk that > passing of CDATA to the parser might start breaking existing apps (where > CDATA was being thrown, but the app continued to work)? > I am not sure what you mean by 'breaking existing apps'. If you are talking about jnlp applications changing their behaviour because now the jnlp file contains a CDATA section - that's not very likely. If the jnlp file contained CDATA sections, then presumably the application expected to see that somewhere. And if the application worked when the input it expected was absent, it should work when the input it expects is present. If you mean the parser in icedtea-web chokes on CDATA sections (or handles these CDATA sections differently) - as shown in the test results - then yes, that might be a problem. As stated above I intend to write a patch with additional tests for this. As an additional precaution, I would like to avoid backporting this patch to any of the release branches. Does that alleviate your concerns? > Also, please post changelog. > Whoops, still recovering from my vacation :) do-not-remove-cdata-sections-01.patch: 2011-09-16 Omair Majid * netx/net/sourceforge/nanoxml/XMLElement.java (sanitizeInput): Do not remove CDATA sections along with comments. cdata-test-additions-01.patch 2011-09-16 Omair Majid * tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java (testCdata): New method. (testCdataNested): New method. (testCDataFirstChild): New method. (testCDataSecondChild): New method. (testCommentInElements2): New method. (testDoubleDashesInComments): New method. * tests/netx/unit/net/sourceforge/jnlp/application/application0.jnlp, * tests/netx/unit/net/sourceforge/jnlp/templates/template0.jnlp: Change node that contains CDATA In-Reply-To: <4E777F64.5090109@redhat.com> References: <4E73C784.6070602@redhat.com> <20110919170155.GC23975@redhat.com> <4E777F64.5090109@redhat.com> Message-ID: <20110919175012.GE23975@redhat.com> * Omair Majid [2011-09-19 13:44]: > On 09/19/2011 01:01 PM, Deepak Bhole wrote: > >* Omair Majid [2011-09-16 18:03]: > >>Hi, > >> > >>As explained in the bug report [1], icedtea-web ignores CDATA > >>sections in JNLP files. I dug into the parser code a bit and found a > >>few things. > >> > >>The code that sanitizes comments from jnlp files (sanitizeInput) > >>actually removes CDATA sections along with comments. This is > >>probably a bug. > >> > > > >Agreed. I don't know why CDATA is being thrown away either. > > > >>(As an aside, I suspect that the reason this is done separately from > >>the main parser is because the main parser is a rather strict XML > >>parser and some of the locations where comments can appear in jnlp > >>files are not accepted by the XML standard. See > >>https://bugzilla.redhat.com/show_bug.cgi?id=449160 for examples of > >>jnlp files that contain invalid comments) > >> > >>The NanoXML parser itself can parse and see CDATA sections. However, > >>it is not quite perfect. It has trouble parsing when CDATA sections > >>appear in certain places, or are surrounded by certain elements. > >> > >>I have attached 2 patches. The first patch adds a set of test cases, > >>and the second makes the sanitizer skip special sections and just > >>remove comments. > >> > >>Running the junit tests (including the ones in the patch) shows: > >>Before fix: 5 Errors, 3 failures > >>After fix: 7 Errors, 1 failure. > >> > >>The appearance of 2 new errors is a little surprising. But it turns > >>out that the additional failures are being caused in JNLPMatcher > >>tests - CDATA sections that were previously being sanitized away are > >>now being fed to the parser which is failing to handle them. I will > >>post a patch to address this later. > >> > >>Any thoughts or comments? > >> > > > >So the changes to the code make it handle comments now, correct? > > Yes. > > >And the > >changes to handle CDATA will be in another patch? > > That's the plan. I will have to look into the code a little more > before I can figure out exactly what needs to be corrected. > > >Is there a risk that > >passing of CDATA to the parser might start breaking existing apps (where > >CDATA was being thrown, but the app continued to work)? > > > > I am not sure what you mean by 'breaking existing apps'. > > If you are talking about jnlp applications changing their behaviour > because now the jnlp file contains a CDATA section - that's not very > likely. If the jnlp file contained CDATA sections, then presumably > the application expected to see that somewhere. And if the > application worked when the input it expected was absent, it should > work when the input it expects is present. > > If you mean the parser in icedtea-web chokes on CDATA sections (or > handles these CDATA sections differently) - as shown in the test > results - then yes, that might be a problem. As stated above I > intend to write a patch with additional tests for this. As an > additional precaution, I would like to avoid backporting this patch > to any of the release branches. > Yes, that is what I meant. However after some more thought, I retract the question. Even if anything breaks, it will be a small % and it be in HEAD (which is what you are planning to do anyway), and that is not a big deal. > Does that alleviate your concerns? > > >Also, please post changelog. > > > > Whoops, still recovering from my vacation :) > > do-not-remove-cdata-sections-01.patch: > > 2011-09-16 Omair Majid > > * netx/net/sourceforge/nanoxml/XMLElement.java > (sanitizeInput): Do not remove CDATA sections along with comments. > > > cdata-test-additions-01.patch > > 2011-09-16 Omair Majid > > * tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java > (testCdata): New method. > (testCdataNested): New method. > (testCDataFirstChild): New method. > (testCDataSecondChild): New method. > (testCommentInElements2): New method. > (testDoubleDashesInComments): New method. > * tests/netx/unit/net/sourceforge/jnlp/application/application0.jnlp, > * tests/netx/unit/net/sourceforge/jnlp/templates/template0.jnlp: > Change Thanks! Okay for HEAD. Cheers, Deepak From omajid at redhat.com Mon Sep 19 14:51:42 2011 From: omajid at redhat.com (Omair Majid) Date: Mon, 19 Sep 2011 17:51:42 -0400 Subject: [icedtea-web] RFC: RH738814 - Access denied at ssl handshake Message-ID: <4E77B96E.8010401@redhat.com> Hi, The attached patch should address RH738814 [1] The stack trace of the exception shows that code in VariableX509TrustManager tries do show a prompt which needs all permissions. Since the method call was originally from an untrusted applet, these permissions are missing and a security exception is thrown. Something along this line was anticipated earlier [2], but my fix may have been too broad. So now that we have a stack trace, I have a more focused patch. Any thoughts or comments? The patch is for HEAD, but applies to 1.1 as well. It should also apply to 1.0 after trivial changes - though I am not sure if that's something we should do. ChangeLog: 2011-09-19 Omair Majid * netx/net/sourceforge/jnlp/security/SecurityDialogs.java (showCertWarningDialog): Add a javadoc comment. * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java (askUser): Wrap the call to showCertWarningDialog in a doPrivileged block. Cheers, Omair [1] https://bugzilla.redhat.com/show_bug.cgi?id=738814 [2] http://thread.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/10641 -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-web-ask-user-privileged-01.patch Type: text/x-patch Size: 2949 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110919/7248f567/icedtea-web-ask-user-privileged-01.patch From bugzilla-daemon at icedtea.classpath.org Mon Sep 19 16:24:00 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 19 Sep 2011 23:24:00 +0000 Subject: [Bug 781] Can't build icedtea7-hg with icedtea6: "Error occurred during initialization of VM" In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=781 --- Comment #1 from Andrew John Hughes 2011-09-19 23:24:00 --- How are you configuring the build? Can you post config.log? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From lhersch at dssgmbh.de Tue Sep 20 03:46:23 2011 From: lhersch at dssgmbh.de (Lars Herschke) Date: Tue, 20 Sep 2011 12:46:23 +0200 Subject: [patch][icedtea-web] add support for client authentication certificates Message-ID: <4E786EFF.5070409@dssgmbh.de> Hello, the attached files adds support for client authentication certificates. best regards Lars. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: patch-netx-net-sourceforge-jnlp-resources-Messages.properties Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110920/a7519936/patch-netx-net-sourceforge-jnlp-resources-Messages.properties -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: patch-netx-net-sourceforge-jnlp-runtime-JNLPRuntime.java Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110920/a7519936/patch-netx-net-sourceforge-jnlp-runtime-JNLPRuntime.java -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: patch-netx-net-sourceforge-jnlp-security-CertificateUtils.java Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110920/a7519936/patch-netx-net-sourceforge-jnlp-security-CertificateUtils.java -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: patch-netx-net-sourceforge-jnlp-security-viewer-CertificatePane.java Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110920/a7519936/patch-netx-net-sourceforge-jnlp-security-viewer-CertificatePane.java -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: OpenPGP digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110920/a7519936/signature.asc From ptisnovs at icedtea.classpath.org Tue Sep 20 04:49:49 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 20 Sep 2011 11:49:49 +0000 Subject: /hg/gfx-test: Added new test suite containing 7 tests at this mo... Message-ID: changeset 829297d71c1d in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=829297d71c1d author: Pavel Tisnovsky date: Tue Sep 20 13:51:42 2011 +0200 Added new test suite containing 7 tests at this moment: src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java diffstat: ChangeLog | 9 + Makefile | 8 +- src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java | 443 ++++++++++ src/org/gfxtest/testsuites/CAGOperationsOnCircles.java | 94 +- src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java | 94 +- 5 files changed, 551 insertions(+), 97 deletions(-) diffs (truncated from 1346 to 500 lines): diff -r 554c429d77b6 -r 829297d71c1d ChangeLog --- a/ChangeLog Mon Sep 19 11:51:26 2011 +0200 +++ b/ChangeLog Tue Sep 20 13:51:42 2011 +0200 @@ -1,3 +1,12 @@ +2011-09-20 Pavel Tisnovsky + + * Makefile: added new class to compile + * src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java: + Added new test suite containing 7 tests at this moment. + * src/org/gfxtest/testsuites/CAGOperationsOnRectangles.java: + * src/org/gfxtest/testsuites/CAGOperationsOnCircles.java: + Fixed JavaDoc. + 2011-09-19 Pavel Tisnovsky * src/org/gfxtest/testsuites/Areas.java: diff -r 554c429d77b6 -r 829297d71c1d Makefile --- a/Makefile Mon Sep 19 11:51:26 2011 +0200 +++ b/Makefile Tue Sep 20 13:51:42 2011 +0200 @@ -1,6 +1,6 @@ # Java gfx-test framework # -# Copyright (C) 2010 Red Hat +# Copyright (C) 2010, 2011 Red Hat # # This file is part of IcedTea. # @@ -136,7 +136,8 @@ $(CLASSES)/$(TESTSUITE_DIR)/LinearGradientPaint.class \ $(CLASSES)/$(TESTSUITE_DIR)/RadialGradientPaint.class \ $(CLASSES)/$(TESTSUITE_DIR)/CAGOperationsOnCircles.class \ - $(CLASSES)/$(TESTSUITE_DIR)/CAGOperationsOnRectangles.class + $(CLASSES)/$(TESTSUITE_DIR)/CAGOperationsOnRectangles.class \ + $(CLASSES)/$(TESTSUITE_DIR)/CAGOperationsCircleRectangleOps.class COMPARE_RESULTS = \ $(RESULTS)/Areas \ @@ -179,7 +180,8 @@ $(RESULTS)/LinearGradientPaint \ $(RESULTS)/RadialGradientPaint \ $(RESULTS)/CAGOperationsOnCircles \ - $(RESULTS)/CAGOperationsOnRectangles + $(RESULTS)/CAGOperationsOnRectangles \ + $(RESULTS)/CAGOperationsCircleRectangleOps # targets for all test suites TESTSUITES = $(shell ls -1 src/org/gfxtest/testsuites | sed -n -e 's/\([A-Za-z0-9]*\)\.java/\1/p') diff -r 554c429d77b6 -r 829297d71c1d src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java Tue Sep 20 13:51:42 2011 +0200 @@ -0,0 +1,443 @@ +/* + Java gfx-test framework + + Copyright (C) 2010, 2011 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.testsuites; + +import java.awt.Graphics2D; +import java.awt.geom.Area; +import java.awt.geom.Ellipse2D; +import java.awt.geom.Rectangle2D; + + + +import org.gfxtest.framework.CommonRenderingStyles; +import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.TestImage; +import org.gfxtest.framework.TestResult; + + + +/** + * This test checks the process of creating and rendering new geometric shapes + * by performing boolean operations on existing ones. This process is often + * called Constructive area geometry (CAG). Various cases are checked by this + * test suite. + * + * @author Pavel Tisnovsky + */ +public class CAGOperationsCircleRectangleOps extends GfxTest +{ + + /** + * Compute size of the rectangle or circle from the position of center point + * in an image. + * + * @param xc + * x-coordinate of the center of the test image. + * @param y + * y-coordinate of the center of the test image. + * @return size of the rectangle + */ + private int computeSize(int xc, int yc) + { + return (xc > yc ? yc : xc) >> 1; + } + + /** + * Create rectangular area. + * + * @param xc + * the X coordinate of the center of rectangle + * @param yc + * the Y coordinate of the center of rectangle + * @param size + * of rectangle + * @return newly created area containing one rectangle + */ + private Area createRectangularArea(int xc, int yc, int size) + { + Rectangle2D rectangle = new Rectangle2D.Double(xc - size, yc - size, size << 1, size << 1); + return new Area(rectangle); + } + + /** + * Create circular area. + * + * @param xc + * the X coordinate of the center of circle + * @param yc + * the Y coordinate of the center of circle + * @param radius + * radius of circle + * @return newly created area containing one circle + */ + private Area createCircularArea(int xc, int yc, int radius) + { + Ellipse2D circle = new Ellipse2D.Double(xc - radius, yc - radius, radius << 1, radius << 1); + return new Area(circle); + } + + /** + * Create area composed of only one rectangle. This rectangle is placed on + * the center of the image. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one rectangle + */ + private Area createCenteredRectangularArea(TestImage image) + { + // compute center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + // compute size of the rectangle + int size = 3 * computeSize(xc, yc) / 2 - 10; + // it's better to align rectangle sides with the grid + return createRectangularArea(xc, yc, size); + } + + /** + * Create area composed of only one circle. This circle is placed on + * the center of the image and its radius is bigger than the length + * of rectangle side(s). + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one circle + */ + private Area createBiggerCenteredCircularArea(TestImage image) + { + // compute center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + // compute size of the circle + int size = computeSize(xc, yc) * 5 / 3; + return createCircularArea(xc, yc, size); + } + + /** + * Create area composed of only one circle. This circle is placed on + * the center of the image and its radius is smaller than the length + * of rectangle side(s). + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one circle + */ + private Area createSmallerCenteredCircularArea(TestImage image) + { + // compute center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + // compute size of the circle + int size = computeSize(xc, yc); + return createCircularArea(xc, yc, size); + } + + /** + * Create new area constructed from bigger circle and rectangle using union + * operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area + */ + private Area createAreaFromBiggerCircleAndRectangleUsingUnionOperator(TestImage image) + { + Area area = new Area(); + area.add(createBiggerCenteredCircularArea(image)); + area.add(createCenteredRectangularArea(image)); + return area; + } + + /** + * Create new area constructed from bigger circle and rectangle using intersect + * operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area + */ + private Area createAreaFromBiggerCircleAndRectangleUsingIntersectOperator(TestImage image) + { + Area area = new Area(); + area.add(createBiggerCenteredCircularArea(image)); + area.add(createCenteredRectangularArea(image)); + return area; + } + + /** + * Create new area constructed from bigger circle and rectangle using subtract + * operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area + */ + private Area createAreaFromBiggerCircleAndRectangleUsingSubtractOperator(TestImage image) + { + Area area = new Area(); + area.add(createBiggerCenteredCircularArea(image)); + area.subtract(createCenteredRectangularArea(image)); + return area; + } + + /** + * Create new area constructed from bigger circle and rectangle using + * inverse subtract operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area + */ + private Area createAreaFromBiggerCircleAndRectangleUsingInverseSubtractOperator(TestImage image) + { + Area area = new Area(); + area.add(createCenteredRectangularArea(image)); + area.subtract(createBiggerCenteredCircularArea(image)); + return area; + } + + /** + * Create new area constructed from bigger circle and rectangle using Xor + * operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area + */ + private Area createAreaFromBiggerCircleAndRectangleUsingXorOperator(TestImage image) + { + Area area = new Area(); + area.add(createBiggerCenteredCircularArea(image)); + area.exclusiveOr(createCenteredRectangularArea(image)); + return area; + } + + /** + * Create new area constructed from smaller circle and rectangle using union + * operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one rectangle + */ + private Area createAreaFromSmallerCircleAndRectangleUsingUnionOperator(TestImage image) + { + Area area = new Area(); + area.add(createSmallerCenteredCircularArea(image)); + area.add(createCenteredRectangularArea(image)); + return area; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using union operator. The shape is + * rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleUnionStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = createAreaFromBiggerCircleAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using intersect operator. The shape + * is rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleIntersectStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using intersect operator + Area area = createAreaFromBiggerCircleAndRectangleUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using subtract operator. The shape + * is rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleSubtractStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using subtract operator + Area area = createAreaFromBiggerCircleAndRectangleUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using inverse subtract operator. + * The shape is rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleInverseSubtractStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using inverse subtract operator + Area area = createAreaFromBiggerCircleAndRectangleUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using Xor operator. + * The shape is rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleXorStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using XOR operator + Area area = createAreaFromBiggerCircleAndRectangleUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle 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 testBigCircleRectangleUnionColorPaint(TestImage image, Graphics2D graphics2d) + { + // set fill color + CommonRenderingStyles.setFillColor(graphics2d); + // create area using union operator + Area area = createAreaFromBiggerCircleAndRectangleUsingUnionOperator(image); + // fill the area + graphics2d.fill(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle 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 testBigCircleRectangleUnionRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using union operator + Area area = createAreaFromBiggerCircleAndRectangleUsingUnionOperator(image); + // fill the area + graphics2d.fill(area); + return TestResult.PASSED; + } + + /* + circleinsidecircle + rectangleinsiderectangle + circleinsiderectangle + rectangleinsiderectangle + tworectangleswithcommonedge + twocircleswithcommonpoint + */ + + /** + * Entry point to the test suite. + * + * @param args not used in this case + */ + public static void main(String[] args) + { + new CAGOperationsCircleRectangleOps().runTestSuite(args); + } + +} diff -r 554c429d77b6 -r 829297d71c1d src/org/gfxtest/testsuites/CAGOperationsOnCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnCircles.java Mon Sep 19 11:51:26 2011 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnCircles.java Tue Sep 20 13:51:42 2011 +0200 @@ -103,7 +103,7 @@ * left side of the image. * From jvanek at redhat.com Tue Sep 20 07:42:24 2011 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 20 Sep 2011 16:42:24 +0200 Subject: [RFC][icedtea-web] extend reproducers engine for signed applications Message-ID: <4E78A650.4090706@redhat.com> Hi! This is second attempt to enchant reproducers engine for signed ones. It introduce new directory tests/jnlp_tests/signed/. Reproducers in this directory should follow simple reproducers rules and are threaten in same way as simple ones except fact that are signed at the end of preparation process. This changes are included in *signedReproducersEngine*. There exists also ReadPropertiesSigned demo reproducer for engine. This one is included in *signedReproducersExample*. Whole concept have one flaw - "accept certificate" dialog rised each time signed reproducer was lunched. Thats why I have added -XtrustAll option to icedtea-web source. This change is included in *xtrustAll* patch. Patch is quite simple and is affecting all methods which popuped dialog with certificate. It simply do not show dialog and return "accepted" to icedtea-web. I was afraid, tahat -XtrustAll could be misused in way described in ReadPropertiesBySignedHack (included in *xtrustAllHack*) - that xtrustall can be setted on by reflection from signed code (this is possible) and then unsigned content can be loaded but it is not (luckily) possible, as SecurityMAnager is compalining about different signature (which is correct behaviour) I'm not sure weather to include this patch into icedtea-web. All patches are available as one big patch in *reproducersAll* file. 2011-09-20 Jiri Vanek +++(signedReproducersEngine)+++ Added signed reproducers engine and examples *Makefile.am added variable KEYSTORE_NAME (stamps/junit-jnlp-dist-dirs): creates stamp and depend on next two targets (junit-jnlp-dist-simple.txt): creates list of simple reproducers, extracted from ^ (junit-jnlp-dist-signed.txt): creates list of signed reproducers (stamps/netx-dist-tests-prepare-reproducers.stamp): now traverse over signed and simple (stamps/netx-dist-tests-sign-some-reproducers.stamp): depends on ^, traverse through signed reproducers and sign them (stamps/netx-dist-tests-compile-testcases.stamp): now traverse over signed and simple (stamps/bootstrap-directory.stamp): creates symlinks/stubs to jarsigner and keytool (clean-netx-dist-tests):remove new stamps, signed and simple list and keysstore *acinclude.m4: declared to proceed IT_FIND_KEYTOOL and IT_FIND_JARSIGNER macro *configure.ac: declared macros to check for keytool and jarsigner *tests/jnlp_tests/README: mentioned signed directory +++(xtrustAll)+++ *netx/net/sourceforge/jnlp/runtime/Boot.java: (main): added logic to handle -Xtrustall option *netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: declared private static boolean trustAll=false; with public getter and pkg.private setter *netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (checkTrustWithUser): modified, when XtrustAll declared, then user is not asked and certificate is trusted *netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: (askUser): --||-- +++(xtrustAllHack)+++ *tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp: jnlp file to lunch ReadPropertiesBySignedHack, notice please dependenci on ReadProperties.jar from simple reproducers *tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java - this reproducers verify, that even reflection-by enabled XtrustAll will not allow to lunch unsigned code *tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java: testcase for ^ +++(signedReproducersExample)+++ *tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp: *tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp: *tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: *tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java: ^,^^, ^^^ example of signed reproducer *tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java: now prints out got variable for comparsion with ^ +++(.*)+++ will not be included in changelog if patch applied as one. Best Regard J. ps: This patch was originally discused at http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-June/014832.html and http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-June/014919.htmll and *message-threads around*. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: xtrustAll Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110920/593fc060/xtrustAll.ksh -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: signedReproducersExample Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110920/593fc060/signedReproducersExample.ksh -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: xtrustAllHack Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110920/593fc060/xtrustAllHack.ksh -------------- next part -------------- diff -r e9a9792ee189 Makefile.am --- a/Makefile.am Thu Sep 15 15:27:40 2011 +0200 +++ b/Makefile.am Tue Sep 20 15:35:19 2011 +0200 @@ -22,6 +22,7 @@ JNLP_TESTS_ENGINE_DIR=$(TESTS_DIR)/netx/jnlp_testsengine JNLP_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/jnlp_test_server JNLP_TESTS_DIR=$(TESTS_DIR)/jnlp_tests +KEYSTORE_NAME=teststore.ks JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar @@ -455,39 +456,61 @@ @junit-runner-source-files.txt && \ $(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) . -junit-jnlp-dist-dirs.txt: +stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt junit-jnlp-dist-signed.txt mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR) mkdir -p $(JNLP_TESTS_DIR) mkdir -p $(JNLP_TESTS_ENGINE_DIR) + touch $@ + +junit-jnlp-dist-simple.txt: cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ -stamps/netx-dist-tests-prepare-reproducers.stamp: junit-jnlp-dist-dirs.txt - simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-dirs.txt `); \ - for dir in "$${simpleReproducers[@]}" ; do \ - echo "processing: $$dir" ; \ - mkdir -p $(JNLP_TESTS_DIR)/$$dir ; \ - d=`pwd` ; \ - cd $(JNLP_TESTS_SRCDIR)/simple/$$dir/srcs/ ; \ - srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ - notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ - $(BOOT_DIR)/bin/javac -d $(JNLP_TESTS_DIR)/$$dir/ $$srcFiles ; \ - if [ -n "$$notSrcFiles" ] ; then \ - cp -R --parents $$notSrcFiles $(JNLP_TESTS_DIR)/$$dir/ ; \ - fi ; \ - cd $(JNLP_TESTS_DIR)/$$dir/ ; \ - $(BOOT_DIR)/bin/jar cf $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar * ; \ - cd $$d ; \ - cp -R $(JNLP_TESTS_SRCDIR)/simple/$$dir/resources/* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ +junit-jnlp-dist-signed.txt: + cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ + find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ + +stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + for dir in "$${simpleReproducers[@]}" ; do \ + echo "processing: $$dir" ; \ + mkdir -p $(JNLP_TESTS_DIR)/$$dir ; \ + d=`pwd` ; \ + cd $(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/ ; \ + srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ + notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ + $(BOOT_DIR)/bin/javac -d $(JNLP_TESTS_DIR)/$$dir/ $$srcFiles ; \ + if [ -n "$$notSrcFiles" ] ; then \ + cp -R --parents $$notSrcFiles $(JNLP_TESTS_DIR)/$$dir/ ; \ + fi ; \ + cd $(JNLP_TESTS_DIR)/$$dir/ ; \ + $(BOOT_DIR)/bin/jar cf $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar * ; \ + cd $$d ; \ + cp -R $(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ + done ; \ done ; \ mkdir -p stamps && \ touch $@ +stamps/netx-dist-tests-sign-some-reproducers.stamp: stamps/netx-dist-tests-prepare-reproducers.stamp + alias=icedteaweb; \ + keystore=$(abs_top_builddir)/$(KEYSTORE_NAME); \ + pass=123456789; \ + $(BOOT_DIR)/bin/keytool -genkey -alias $$alias -keystore $$keystore -keypass $$pass -storepass $$pass -dname "cn=$$alias, ou=$$alias, o=$$alias, c=$$alias" ; \ + signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-signed.txt `); \ + for dir in "$${signedReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $$pass -keypass $$pass $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar $$alias ; \ + done ; \ + mkdir -p stamps && \ + touch $@ + netx-dist-tests-source-files.txt: find $(JNLP_TESTS_ENGINE_SRCDIR) -name '*.java' | sort > $@ stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \ - junit-jnlp-dist-dirs.txt netx-dist-tests-source-files.txt + stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(JNLP_TESTS_ENGINE_DIR) \ -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ @@ -495,19 +518,22 @@ mkdir -p stamps && \ touch $@ -stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp junit-jnlp-dist-dirs.txt\ +stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp - simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-dirs.txt `); \ - for dir in "$${simpleReproducers[@]}" ; do \ - $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ - $(JNLP_TESTS_SRCDIR)/simple/$$dir/testcases/* ; \ + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + for dir in "$${simpleReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(JNLP_TESTS_ENGINE_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ + $(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/* ; \ + done ; \ done ; \ mkdir -p stamps && \ touch $@ -run-netx-dist-tests: all-local stamps/netx.stamp junit-jnlp-dist-dirs.txt stamps/netx-dist-tests-prepare-reproducers.stamp \ +run-netx-dist-tests: all-local stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-sign-some-reproducers.stamp \ stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) cd $(JNLP_TESTS_ENGINE_DIR) ; \ class_names= ; \ @@ -590,10 +616,14 @@ rm -rf $(JNLP_TESTS_DIR) rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR) rm -rf $(JNLP_TESTS_ENGINE_DIR) + rm -f stamps/junit-jnlp-dist-dirs rm -f stamps/netx-dist-tests-compile.stamp rm -f stamps/netx-dist-tests-prepare-reproducers.stamp rm -f stamps/netx-dist-tests-compile-testcases.stamp - rm -f junit-jnlp-dist-dirs.txt + rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp + rm -f junit-jnlp-dist-simple.txt + rm -f junit-jnlp-dist-signed.txt + rm -f $(abs_top_builddir)/$(KEYSTORE_NAME) # plugin tests @@ -635,6 +665,20 @@ ln -sf $(JAR) $(BOOT_DIR)/bin/jar ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc + if [ -e "$(KEYTOOL)" ] ; then \ + ln -sf $(KEYTOOL) $(BOOT_DIR)/bin/keytool ;\ + else \ + echo "#! /bin/sh" > $(BOOT_DIR)/bin/keytool ;\ + echo "echo \"keytool not exist on your system\"" >> $(BOOT_DIR)/bin/keytool ;\ + chmod 777 $(BOOT_DIR)/bin/keytool ;\ + fi + if [ -e "$(JARSIGNER)" ] ; then \ + ln -sf $(JARSIGNER) $(BOOT_DIR)/bin/jarsigner ;\ + else \ + echo "#! /bin/sh" > $(BOOT_DIR)/bin/jarsigner ;\ + echo "echo \"jarsigner not exist on your system\"" >> $(BOOT_DIR)/bin/jarsigner ;\ + chmod 777 $(BOOT_DIR)/bin/jarsigner ;\ + fi mkdir -p $(BOOT_DIR)/jre/lib && \ ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib && \ if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \ diff -r e9a9792ee189 acinclude.m4 --- a/acinclude.m4 Thu Sep 15 15:27:40 2011 +0200 +++ b/acinclude.m4 Tue Sep 20 15:35:19 2011 +0200 @@ -655,6 +655,56 @@ AC_SUBST(JAVA) ]) +AC_DEFUN_ONCE([IT_FIND_KEYTOOL], +[ + AC_REQUIRE([IT_CHECK_FOR_JDK]) + AC_MSG_CHECKING([for keytool]) + AC_ARG_WITH([keytool], + [AS_HELP_STRING(--with-keytool,specify location of keytool for signed part of run-netx-dist)], + [ + KEYTOOL="${withval}" + ], + [ + KEYTOOL=${SYSTEM_JDK_DIR}/bin/keytool + ]) + if ! test -f "${KEYTOOL}"; then + AC_PATH_PROG(KEYTOOL, keytool) + fi + if ! test -f "${KEYTOOL}"; then + KEYTOOL="" + fi + if test -z "${KEYTOOL}" ; then + AC_MSG_WARN("keytool not found so signed part of run-netx-dist will fail") + fi + AC_MSG_RESULT(${KEYTOOL}) + AC_SUBST(KEYTOOL) +]) + +AC_DEFUN_ONCE([IT_FIND_JARSIGNER], +[ + AC_REQUIRE([IT_CHECK_FOR_JDK]) + AC_MSG_CHECKING([for jarsigner]) + AC_ARG_WITH([jarsigner], + [AS_HELP_STRING(--with-jarsigner,specify location of jarsigner for signed part od run-netx-dist)], + [ + JARSIGNER="${withval}" + ], + [ + JARSIGNER=${SYSTEM_JDK_DIR}/bin/jarsigner + ]) + if ! test -f "${JARSIGNER}"; then + AC_PATH_PROG(JARSIGNER, jarsigner,"") + fi + if ! test -f "${JARSIGNER}"; then + JARSIGNER="" + fi + if test -z "${JARSIGNER}"; then + AC_MSG_WARN("jarsigner not found so signed part of run-netx-dist will fail") + fi + AC_MSG_RESULT(${JARSIGNER}) + AC_SUBST(JARSIGNER) +]) + AC_DEFUN([IT_FIND_JAVADOC], [ AC_REQUIRE([IT_CHECK_FOR_JDK]) diff -r e9a9792ee189 configure.ac --- a/configure.ac Thu Sep 15 15:27:40 2011 +0200 +++ b/configure.ac Tue Sep 20 15:35:19 2011 +0200 @@ -33,6 +33,8 @@ FIND_JAR FIND_ECJ_JAR IT_FIND_JAVADOC +IT_FIND_KEYTOOL +IT_FIND_JARSIGNER AC_CONFIG_FILES([javac], [chmod +x javac]) IT_SET_VERSION diff -r e9a9792ee189 netx/net/sourceforge/jnlp/runtime/Boot.java --- a/netx/net/sourceforge/jnlp/runtime/Boot.java Thu Sep 15 15:27:40 2011 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/Boot.java Tue Sep 20 15:35:19 2011 +0200 @@ -156,6 +156,9 @@ if (null != getOption("-Xnofork")) { JNLPRuntime.setForksAllowed(false); } + if (null != getOption("-Xtrustall")) { + JNLPRuntime.setTrustAll(true); + } JNLPRuntime.setInitialArgments(Arrays.asList(argsIn)); diff -r e9a9792ee189 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Sep 15 15:27:40 2011 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Sep 20 15:35:19 2011 +0200 @@ -755,6 +755,9 @@ } private void checkTrustWithUser(JarSigner js) throws LaunchException { + if (JNLPRuntime.isTrustAll()){ + return; + } if (!js.getRootInCacerts()) { //root cert is not in cacerts boolean b = SecurityDialogs.showCertWarningDialog( AccessType.UNVERIFIED, file, js); diff -r e9a9792ee189 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Thu Sep 15 15:27:40 2011 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Tue Sep 20 15:35:19 2011 +0200 @@ -123,6 +123,9 @@ /** set to false to indicate another JVM should not be spawned, even if necessary */ private static boolean forksAllowed = true; + /** all security dialogs will be consumed and pretented as beeing verified by user and allowed.*/ + private static boolean trustAll=false; + /** contains the arguments passed to the jnlp runtime */ private static List initialArguments; @@ -132,6 +135,7 @@ public static final String STDERR_FILE = "java.stderr"; public static final String STDOUT_FILE = "java.stdout"; + /** * Returns whether the JNLP runtime environment has been * initialized. Once initialized, some properties such as the @@ -732,4 +736,12 @@ } } + static void setTrustAll(boolean b) { + trustAll=b; + } + + public static boolean isTrustAll() { + return trustAll; + } + } diff -r e9a9792ee189 netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java --- a/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Thu Sep 15 15:27:40 2011 +0200 +++ b/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Tue Sep 20 15:35:19 2011 +0200 @@ -53,6 +53,7 @@ import sun.security.validator.ValidatorException; import com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager; +import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.security.SecurityDialogs.AccessType; @@ -382,6 +383,9 @@ private boolean askUser(X509Certificate[] chain, String authType, boolean isTrusted, boolean hostMatched, String hostName) { + if (JNLPRuntime.isTrustAll()){ + return true; + } return SecurityDialogs.showCertWarningDialog( AccessType.UNVERIFIED, null, new HttpsCertVerifier(this, chain, authType, diff -r e9a9792ee189 tests/jnlp_tests/README --- a/tests/jnlp_tests/README Thu Sep 15 15:27:40 2011 +0200 +++ b/tests/jnlp_tests/README Tue Sep 20 15:35:19 2011 +0200 @@ -1,2 +1,3 @@ Each file in directory simple must follows naming convention and is compiled/jared automatically into server's working directory and content of resources likewise. The name of jnlp is independent, and there can be even more jnlps for each future jar. Directories should be honored in srcs and in resources, but noty in testcases. +Directory signed is handling its content in similar way as simle's content is handled, but in addition final jars are signed with simple testkey. Files in advanced directory have to care about themselves, but even those can have some parts inside simple directory, so some parts of them are processed automatically. There are three reproducers ? simpletest1, simpletest2 and deadlocktest, which tests test?s suite itself and serve as examples of behaviour. diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp Tue Sep 20 15:35:19 2011 +0200 @@ -0,0 +1,18 @@ + + + + read properties using System.getenv() + + + + + + + user.name + + + + + diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java Tue Sep 20 15:35:19 2011 +0200 @@ -0,0 +1,63 @@ +/* ReadPropertiesSigned.java +Copyright (C) 2011 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.lang.reflect.*; + +public class ReadPropertiesBySignedHack { + +/** +*some system property is expected as arg[0], eg user.name or user.home +*/ + public static void main(String[] args) throws Throwable { + //security manager is not protecting us from accessing classes from + //net.sourceforge.jnlp.runtime via reflection + Class c2= Class.forName("net.sourceforge.jnlp.runtime.JNLPRuntime"); + Field f2 = c2.getDeclaredField("trustAll"); + f2.setAccessible(true); + f2.setBoolean(null, true); + Method m2=c2.getDeclaredMethod("setTrustAll",Boolean.TYPE); + m2.setAccessible(true); + m2.invoke((Object) null, true ); + //but security manager is guarding us against lunching unsigned code + //from signed archvive even if Xtrustall is on. + Class c1= Class.forName("ReadProperties"); + Method m1=c1.getDeclaredMethod("main",args.getClass()); + m1.invoke((Object) null, (Object)args); + } + + + +} diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java Tue Sep 20 15:35:19 2011 +0200 @@ -0,0 +1,76 @@ +/* ReadPropertiesSignedTest.java +Copyright (C) 2011 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.util.ArrayList; +import java.util.Collections; +import java.util.List; +import net.sourceforge.jnlp.ServerAccess; +import org.junit.Assert; +import org.junit.Test; + +public class ReadPropertiesBySignedHackTest { + + private static ServerAccess server = new ServerAccess(); + private final List l; + + + public ReadPropertiesBySignedHackTest() { + List ll=new ArrayList(1); + ll.add("-Xtrustall"); + l=Collections.unmodifiableList(ll); + } + + + @Test + public void ReadPropertiesBySignedHackWithjoutXtrustAll() throws Exception { + //no request for permissions + System.out.println("connecting ReadPropertiesBySignedHack request"); + System.err.println("connecting ReadPropertiesBySignedHack request"); + ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesBySignedHack.jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + String s="java.lang.SecurityException: class \"ReadProperties\"'s signer information does not match signer information of other classes in the same package"; + Assert.assertTrue("Stderr should contains "+s+" but did not",pr.stderr.contains(s)); + String ss="ClassNotFoundException"; + Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); + Assert.assertTrue("stdout lenght should be <2 but was "+pr.stdout.length(),pr.stdout.length()<2); // /home/user or /root or eanything else :( + Assert.assertFalse("should not be terminated but was",pr.wasTerminated); + Assert.assertEquals((Integer)0, pr.returnValue); + } + + } diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp Tue Sep 20 15:35:19 2011 +0200 @@ -0,0 +1,14 @@ + + + + read properties using System.getenv() + + + + + + user.name + + diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp Tue Sep 20 15:35:19 2011 +0200 @@ -0,0 +1,17 @@ + + + + read properties using System.getenv() + + + + + + user.name + + + + + diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java Tue Sep 20 15:35:19 2011 +0200 @@ -0,0 +1,45 @@ +/* ReadPropertiesSigned.java +Copyright (C) 2011 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 ReadPropertiesSigned { + +/** +*some system property is expected as arg[0], eg user.name or user.home +*/ + public static void main(String[] args) { + System.out.println(System.getProperty(args[0])); + } +} diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Tue Sep 20 15:35:19 2011 +0200 @@ -0,0 +1,112 @@ +/* ReadPropertiesSignedTest.java +Copyright (C) 2011 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.util.ArrayList; +import java.util.Collections; +import java.util.List; +import net.sourceforge.jnlp.ServerAccess; +import org.junit.Assert; +import org.junit.Test; + +public class ReadPropertiesSignedTest { + + private static ServerAccess server = new ServerAccess(); + private final List l; + + + public ReadPropertiesSignedTest() { + List ll=new ArrayList(1); + ll.add("-Xtrustall"); + l=Collections.unmodifiableList(ll); + } + + + @Test + public void ReadSignedPropertiesWithoutPermissionsWithXtrustAll() throws Exception { + //no request for permissions + System.out.println("connecting ReadPropertiesSigned1 request"); + System.err.println("connecting ReadPropertiesSigned1 request"); + ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned1.jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; + Assert.assertTrue("Stderr should contains "+s+" but did not",pr.stderr.contains(s)); + String ss="ClassNotFoundException"; + Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); + Assert.assertTrue("stdout lenght should be <2 but was "+pr.stdout.length(),pr.stdout.length()<2); // /home/user or /root or eanything else :( + Assert.assertFalse("should not be terminated but was",pr.wasTerminated); + Assert.assertEquals((Integer)0, pr.returnValue); + } + + @Test + public void ReadSignedPropertiesWithPermissionsWithXtrustAll() throws Exception { + //request for allpermissions + System.out.println("connecting ReadPropertiesSigned2 request"); + System.err.println("connecting ReadPropertiesSigned2 request"); + ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned2.jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; + Assert.assertFalse("Stderr should NOT contains "+s+" but did",pr.stderr.contains(s)); + String ss="ClassNotFoundException"; + Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); + Assert.assertTrue("stdout lenght should be >= but was "+pr.stdout.length(),pr.stdout.length()>=4); // /home/user or /root or eanything else :( + Assert.assertFalse("should not be terminated but was",pr.wasTerminated); + Assert.assertEquals((Integer)0, pr.returnValue); + } + + @Test + public void EnsureXtrustallNotAffectingUnsignedBehaviour() throws Exception { + System.err.println("connecting ReadPropertiesSigned3 request"); + System.out.println("connecting ReadPropertiesSigned3 request"); + ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadProperties1.jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; + Assert.assertTrue(pr.stderr.contains(s)); + String ss="ClassNotFoundException"; + Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); + Assert.assertFalse("stdout lenght should not be >2 but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("should not be terminated but was",pr.wasTerminated); + Assert.assertEquals((Integer)0, pr.returnValue); + ServerAccess.ProcessResult pr2=server.executeJavawsHeadless(null,"/ReadProperties1.jnlp"); + Assert.assertEquals(pr.stderr, pr2.stderr); + Assert.assertEquals(pr.stdout, pr2.stdout); + + } + } diff -r e9a9792ee189 tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java --- a/tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java Thu Sep 15 15:27:40 2011 +0200 +++ b/tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java Tue Sep 20 15:35:19 2011 +0200 @@ -40,6 +40,6 @@ *some system property is expected as arg[0], eg user.name or user.home */ public static void main(String[] args) { - System.getProperty(args[0]); + System.out.println(System.getProperty(args[0])); } } -------------- next part -------------- diff -r e9a9792ee189 Makefile.am --- a/Makefile.am Thu Sep 15 15:27:40 2011 +0200 +++ b/Makefile.am Tue Sep 20 12:07:29 2011 +0200 @@ -22,6 +22,7 @@ JNLP_TESTS_ENGINE_DIR=$(TESTS_DIR)/netx/jnlp_testsengine JNLP_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/jnlp_test_server JNLP_TESTS_DIR=$(TESTS_DIR)/jnlp_tests +KEYSTORE_NAME=teststore.ks JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar @@ -455,39 +456,61 @@ @junit-runner-source-files.txt && \ $(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) . -junit-jnlp-dist-dirs.txt: +stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt junit-jnlp-dist-signed.txt mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR) mkdir -p $(JNLP_TESTS_DIR) mkdir -p $(JNLP_TESTS_ENGINE_DIR) + touch $@ + +junit-jnlp-dist-simple.txt: cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ -stamps/netx-dist-tests-prepare-reproducers.stamp: junit-jnlp-dist-dirs.txt - simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-dirs.txt `); \ - for dir in "$${simpleReproducers[@]}" ; do \ - echo "processing: $$dir" ; \ - mkdir -p $(JNLP_TESTS_DIR)/$$dir ; \ - d=`pwd` ; \ - cd $(JNLP_TESTS_SRCDIR)/simple/$$dir/srcs/ ; \ - srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ - notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ - $(BOOT_DIR)/bin/javac -d $(JNLP_TESTS_DIR)/$$dir/ $$srcFiles ; \ - if [ -n "$$notSrcFiles" ] ; then \ - cp -R --parents $$notSrcFiles $(JNLP_TESTS_DIR)/$$dir/ ; \ - fi ; \ - cd $(JNLP_TESTS_DIR)/$$dir/ ; \ - $(BOOT_DIR)/bin/jar cf $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar * ; \ - cd $$d ; \ - cp -R $(JNLP_TESTS_SRCDIR)/simple/$$dir/resources/* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ +junit-jnlp-dist-signed.txt: + cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ + find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ + +stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + for dir in "$${simpleReproducers[@]}" ; do \ + echo "processing: $$dir" ; \ + mkdir -p $(JNLP_TESTS_DIR)/$$dir ; \ + d=`pwd` ; \ + cd $(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/ ; \ + srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ + notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ + $(BOOT_DIR)/bin/javac -d $(JNLP_TESTS_DIR)/$$dir/ $$srcFiles ; \ + if [ -n "$$notSrcFiles" ] ; then \ + cp -R --parents $$notSrcFiles $(JNLP_TESTS_DIR)/$$dir/ ; \ + fi ; \ + cd $(JNLP_TESTS_DIR)/$$dir/ ; \ + $(BOOT_DIR)/bin/jar cf $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar * ; \ + cd $$d ; \ + cp -R $(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ + done ; \ done ; \ mkdir -p stamps && \ touch $@ +stamps/netx-dist-tests-sign-some-reproducers.stamp: stamps/netx-dist-tests-prepare-reproducers.stamp + alias=icedteaweb; \ + keystore=$(abs_top_builddir)/$(KEYSTORE_NAME); \ + pass=123456789; \ + $(BOOT_DIR)/bin/keytool -genkey -alias $$alias -keystore $$keystore -keypass $$pass -storepass $$pass -dname "cn=$$alias, ou=$$alias, o=$$alias, c=$$alias" ; \ + signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-signed.txt `); \ + for dir in "$${signedReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $$pass -keypass $$pass $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar $$alias ; \ + done ; \ + mkdir -p stamps && \ + touch $@ + netx-dist-tests-source-files.txt: find $(JNLP_TESTS_ENGINE_SRCDIR) -name '*.java' | sort > $@ stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \ - junit-jnlp-dist-dirs.txt netx-dist-tests-source-files.txt + stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(JNLP_TESTS_ENGINE_DIR) \ -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ @@ -495,19 +518,22 @@ mkdir -p stamps && \ touch $@ -stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp junit-jnlp-dist-dirs.txt\ +stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp - simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-dirs.txt `); \ - for dir in "$${simpleReproducers[@]}" ; do \ - $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ - $(JNLP_TESTS_SRCDIR)/simple/$$dir/testcases/* ; \ + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + for dir in "$${simpleReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(JNLP_TESTS_ENGINE_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ + $(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/* ; \ + done ; \ done ; \ mkdir -p stamps && \ touch $@ -run-netx-dist-tests: all-local stamps/netx.stamp junit-jnlp-dist-dirs.txt stamps/netx-dist-tests-prepare-reproducers.stamp \ +run-netx-dist-tests: all-local stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-sign-some-reproducers.stamp \ stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) cd $(JNLP_TESTS_ENGINE_DIR) ; \ class_names= ; \ @@ -590,10 +616,14 @@ rm -rf $(JNLP_TESTS_DIR) rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR) rm -rf $(JNLP_TESTS_ENGINE_DIR) + rm -f stamps/junit-jnlp-dist-dirs rm -f stamps/netx-dist-tests-compile.stamp rm -f stamps/netx-dist-tests-prepare-reproducers.stamp rm -f stamps/netx-dist-tests-compile-testcases.stamp - rm -f junit-jnlp-dist-dirs.txt + rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp + rm -f junit-jnlp-dist-simple.txt + rm -f junit-jnlp-dist-signed.txt + rm -f $(abs_top_builddir)/$(KEYSTORE_NAME) # plugin tests @@ -635,6 +665,20 @@ ln -sf $(JAR) $(BOOT_DIR)/bin/jar ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc + if [ -e "$(KEYTOOL)" ] ; then \ + ln -sf $(KEYTOOL) $(BOOT_DIR)/bin/keytool ;\ + else \ + echo "#! /bin/sh" > $(BOOT_DIR)/bin/keytool ;\ + echo "echo \"keytool not exist on your system\"" >> $(BOOT_DIR)/bin/keytool ;\ + chmod 777 $(BOOT_DIR)/bin/keytool ;\ + fi + if [ -e "$(JARSIGNER)" ] ; then \ + ln -sf $(JARSIGNER) $(BOOT_DIR)/bin/jarsigner ;\ + else \ + echo "#! /bin/sh" > $(BOOT_DIR)/bin/jarsigner ;\ + echo "echo \"jarsigner not exist on your system\"" >> $(BOOT_DIR)/bin/jarsigner ;\ + chmod 777 $(BOOT_DIR)/bin/jarsigner ;\ + fi mkdir -p $(BOOT_DIR)/jre/lib && \ ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib && \ if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \ diff -r e9a9792ee189 acinclude.m4 --- a/acinclude.m4 Thu Sep 15 15:27:40 2011 +0200 +++ b/acinclude.m4 Tue Sep 20 15:35:19 2011 +0200 @@ -655,6 +655,56 @@ AC_SUBST(JAVA) ]) +AC_DEFUN_ONCE([IT_FIND_KEYTOOL], +[ + AC_REQUIRE([IT_CHECK_FOR_JDK]) + AC_MSG_CHECKING([for keytool]) + AC_ARG_WITH([keytool], + [AS_HELP_STRING(--with-keytool,specify location of keytool for signed part of run-netx-dist)], + [ + KEYTOOL="${withval}" + ], + [ + KEYTOOL=${SYSTEM_JDK_DIR}/bin/keytool + ]) + if ! test -f "${KEYTOOL}"; then + AC_PATH_PROG(KEYTOOL, keytool) + fi + if ! test -f "${KEYTOOL}"; then + KEYTOOL="" + fi + if test -z "${KEYTOOL}" ; then + AC_MSG_WARN("keytool not found so signed part of run-netx-dist will fail") + fi + AC_MSG_RESULT(${KEYTOOL}) + AC_SUBST(KEYTOOL) +]) + +AC_DEFUN_ONCE([IT_FIND_JARSIGNER], +[ + AC_REQUIRE([IT_CHECK_FOR_JDK]) + AC_MSG_CHECKING([for jarsigner]) + AC_ARG_WITH([jarsigner], + [AS_HELP_STRING(--with-jarsigner,specify location of jarsigner for signed part od run-netx-dist)], + [ + JARSIGNER="${withval}" + ], + [ + JARSIGNER=${SYSTEM_JDK_DIR}/bin/jarsigner + ]) + if ! test -f "${JARSIGNER}"; then + AC_PATH_PROG(JARSIGNER, jarsigner,"") + fi + if ! test -f "${JARSIGNER}"; then + JARSIGNER="" + fi + if test -z "${JARSIGNER}"; then + AC_MSG_WARN("jarsigner not found so signed part of run-netx-dist will fail") + fi + AC_MSG_RESULT(${JARSIGNER}) + AC_SUBST(JARSIGNER) +]) + diff -r e9a9792ee189 configure.ac --- a/configure.ac Thu Sep 15 15:27:40 2011 +0200 +++ b/configure.ac Tue Sep 20 15:35:19 2011 +0200 @@ -33,6 +33,8 @@ FIND_JAR FIND_ECJ_JAR IT_FIND_JAVADOC +IT_FIND_KEYTOOL +IT_FIND_JARSIGNER AC_CONFIG_FILES([javac], [chmod +x javac]) IT_SET_VERSION diff -r e9a9792ee189 tests/jnlp_tests/README --- a/tests/jnlp_tests/README Thu Sep 15 15:27:40 2011 +0200 +++ b/tests/jnlp_tests/README Tue Sep 20 12:07:29 2011 +0200 @@ -1,2 +1,3 @@ Each file in directory simple must follows naming convention and is compiled/jared automatically into server's working directory and content of resources likewise. The name of jnlp is independent, and there can be even more jnlps for each future jar. Directories should be honored in srcs and in resources, but noty in testcases. +Directory signed is handling its content in similar way as simle's content is handled, but in addition final jars are signed with simple testkey. Files in advanced directory have to care about themselves, but even those can have some parts inside simple directory, so some parts of them are processed automatically. There are three reproducers ? simpletest1, simpletest2 and deadlocktest, which tests test?s suite itself and serve as examples of behaviour. From omajid at redhat.com Tue Sep 20 11:16:40 2011 From: omajid at redhat.com (Omair Majid) Date: Tue, 20 Sep 2011 14:16:40 -0400 Subject: [patch][icedtea-web] add support for client authentication certificates In-Reply-To: <4E786EFF.5070409@dssgmbh.de> References: <4E786EFF.5070409@dssgmbh.de> Message-ID: <4E78D888.3030404@redhat.com> On 09/20/2011 06:46 AM, Lars Herschke wrote: > the attached files adds support for client authentication certificates. > Thanks for the patch! The patch looks fine to me; I am attaching a slightly modified version of the patch - it adds a NEWS entry, and applies cleanly to HEAD. If no one raises any concerns in a day or two, I will apply this to HEAD. ChangeLog: 2011-09-20 Lars Herschke * netx/net/sourceforge/jnlp/resources/Messages.properties: Add CVExportPasswordMessage, CVImportPasswordMessage and CVPasswordTitle. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Initialize SSLContext with the user's client certificates. * netx/net/sourceforge/jnlp/security/CertificateUtils.java (addPKCS12ToKeyStore, addPKCS12ToKeyStore, dumpPKCS12): New methods. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java (getPasswords): New method. (ImportButtonListener.actionPerformed): Import client certificates in PKCS12 format. (ExportButtonListener.actionPerformed): Export client certificates in PKCS12 format. Thanks, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-web-client-auth-certificates-01.patch Type: text/x-patch Size: 9250 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110920/bac5c02a/icedtea-web-client-auth-certificates-01.patch From omajid at redhat.com Tue Sep 20 12:13:20 2011 From: omajid at redhat.com (Omair Majid) Date: Tue, 20 Sep 2011 15:13:20 -0400 Subject: [RFC][icedtea-web] extend reproducers engine for signed applications In-Reply-To: <4E78A650.4090706@redhat.com> References: <4E78A650.4090706@redhat.com> Message-ID: <4E78E5D0.8050403@redhat.com> On 09/20/2011 10:42 AM, Jiri Vanek wrote: > Hi! > This is second attempt to enchant reproducers engine for signed ones. It > introduce new directory tests/jnlp_tests/signed/. Reproducers in this > directory should follow simple reproducers rules and are threaten in > same way as simple ones except fact that are signed at the end of > preparation process. > This changes are included in *signedReproducersEngine*. > There exists also ReadPropertiesSigned demo reproducer for engine. This > one is included in *signedReproducersExample*. > Whole concept have one flaw - "accept certificate" dialog rised each > time signed reproducer was lunched. Thats why I have added -XtrustAll > option to icedtea-web source. This change is included in *xtrustAll* > patch. Patch is quite simple and is affecting all methods which popuped > dialog with certificate. It simply do not show dialog and return > "accepted" to icedtea-web. > I was afraid, tahat -XtrustAll could be misused in way described in > ReadPropertiesBySignedHack (included in *xtrustAllHack*) - that > xtrustall can be setted on by reflection from signed code (this is > possible) and then unsigned content can be loaded but it is not > (luckily) possible, as SecurityMAnager is compalining about different > signature (which is correct behaviour) I am not sure if there is much that we can do. After all, trusted code can download and run arbitrary code on your machine already. We can try to make it harder for developers to make mistakes, but there is not much we can do to completely stop them. > I'm not sure weather to include this patch into icedtea-web. > I dont have strong feelings either way, but I am leaning towards leaving it out. > All patches are available as one big patch in *reproducersAll* file. > More comments inline below. > > 2011-09-20 Jiri Vanek > +++(signedReproducersEngine)+++ > Added signed reproducers engine and examples > *Makefile.am added variable KEYSTORE_NAME > (stamps/junit-jnlp-dist-dirs): creates stamp and depend on next two > targets > (junit-jnlp-dist-simple.txt): creates list of simple reproducers, > extracted from ^ > (junit-jnlp-dist-signed.txt): creates list of signed reproducers > (stamps/netx-dist-tests-prepare-reproducers.stamp): now traverse > over signed and simple > (stamps/netx-dist-tests-sign-some-reproducers.stamp): depends on ^, > traverse through signed reproducers and sign them > (stamps/netx-dist-tests-compile-testcases.stamp): now traverse over > signed and simple > (stamps/bootstrap-directory.stamp): creates symlinks/stubs to > jarsigner and keytool > (clean-netx-dist-tests):remove new stamps, signed and simple list > and keysstore > *acinclude.m4: declared to proceed IT_FIND_KEYTOOL and > IT_FIND_JARSIGNER macro > *configure.ac: declared macros to check for keytool and jarsigner > *tests/jnlp_tests/README: mentioned signed directory > +++(xtrustAll)+++ > *netx/net/sourceforge/jnlp/runtime/Boot.java: (main): added logic > to handle -Xtrustall option > *netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: declared > private static boolean trustAll=false; with public getter and > pkg.private setter > *netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: > (checkTrustWithUser): modified, when XtrustAll declared, then user is > not asked and certificate is trusted > *netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: > (askUser): --||-- > +++(xtrustAllHack)+++ > *tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp: jnlp file to lunch ReadPropertiesBySignedHack, notice please dependenci on ReadProperties.jar from simple reproducers > *tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java - this reproducers verify, that even reflection-by enabled XtrustAll will not allow to lunch unsigned code > *tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java: testcase for ^ > +++(signedReproducersExample)+++ > *tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp: > *tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp: > *tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: > *tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java: ^,^^, ^^^ example of signed reproducer > *tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java: > now prints out got variable for comparsion with ^ > > > +++(.*)+++ will not be included in changelog if patch applied as one. > Do you think the patches should be applied together? > + public ReadPropertiesSignedTest() { > + List ll=new ArrayList(1); > + ll.add("-Xtrustall"); > + l=Collections.unmodifiableList(ll); > + } How about: Collections.unmodifiableList(Arrays.asList(new String[] {"-Xtrustall"})); > @@ -635,6 +665,20 @@ > ln -sf $(JAR) $(BOOT_DIR)/bin/jar > ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac > ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc > + if [ -e "$(KEYTOOL)" ] ; then \ > + ln -sf $(KEYTOOL) $(BOOT_DIR)/bin/keytool ;\ > + else \ > + echo "#! /bin/sh"> $(BOOT_DIR)/bin/keytool ;\ > + echo "echo \"keytool not exist on your system\"">> $(BOOT_DIR)/bin/keytool ;\ > + chmod 777 $(BOOT_DIR)/bin/keytool ;\ > + fi > + if [ -e "$(JARSIGNER)" ] ; then \ > + ln -sf $(JARSIGNER) $(BOOT_DIR)/bin/jarsigner ;\ > + else \ > + echo "#! /bin/sh"> $(BOOT_DIR)/bin/jarsigner ;\ > + echo "echo \"jarsigner not exist on your system\"">> $(BOOT_DIR)/bin/jarsigner ;\ > + chmod 777 $(BOOT_DIR)/bin/jarsigner ;\ > + fi :) > mkdir -p $(BOOT_DIR)/jre/lib&& \ > ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib&& \ > if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \ > diff -r e9a9792ee189 acinclude.m4 > --- a/acinclude.m4 Thu Sep 15 15:27:40 2011 +0200 > +++ b/acinclude.m4 Tue Sep 20 15:35:19 2011 +0200 > @@ -655,6 +655,56 @@ > AC_SUBST(JAVA) > ]) > > +AC_DEFUN_ONCE([IT_FIND_KEYTOOL], > +[ > + AC_REQUIRE([IT_CHECK_FOR_JDK]) > + AC_MSG_CHECKING([for keytool]) > + AC_ARG_WITH([keytool], > + [AS_HELP_STRING(--with-keytool,specify location of keytool for signed part of run-netx-dist)], > + [ > + KEYTOOL="${withval}" AFAIK, this will break if you run "./configure --with-keytool", because ${withval} is "yes" in that case. > + ], > + [ > + KEYTOOL=${SYSTEM_JDK_DIR}/bin/keytool > + ]) > + if ! test -f "${KEYTOOL}"; then > + AC_PATH_PROG(KEYTOOL, keytool) > + fi > + if ! test -f "${KEYTOOL}"; then > + KEYTOOL="" > + fi > + if test -z "${KEYTOOL}" ; then > + AC_MSG_WARN("keytool not found so signed part of run-netx-dist will fail") > + fi > + AC_MSG_RESULT(${KEYTOOL}) > + AC_SUBST(KEYTOOL) > +]) > + > +AC_DEFUN_ONCE([IT_FIND_JARSIGNER], > +[ > + AC_REQUIRE([IT_CHECK_FOR_JDK]) > + AC_MSG_CHECKING([for jarsigner]) > + AC_ARG_WITH([jarsigner], > + [AS_HELP_STRING(--with-jarsigner,specify location of jarsigner for signed part od run-netx-dist)], > + [ > + JARSIGNER="${withval}" Likewise. > diff -r e9a9792ee189 tests/jnlp_tests/README > --- a/tests/jnlp_tests/README Thu Sep 15 15:27:40 2011 +0200 > +++ b/tests/jnlp_tests/README Tue Sep 20 12:07:29 2011 +0200 > @@ -1,2 +1,3 @@ > Each file in directory simple must follows naming convention and is compiled/jared automatically into server's working directory and content of resources likewise. The name of jnlp is independent, and there can be even more jnlps for each future jar. Directories should be honored in srcs and in resources, but noty in testcases. > +Directory signed is handling its content in similar way as simle's content is handled, but in addition final jars are signed with simple testkey. > Files in advanced directory have to care about themselves, but even those can have some parts inside simple directory, so some parts of them are processed automatically. There are three reproducers ? simpletest1, simpletest2 and deadlocktest, which tests test?s suite itself and serve as examples of behaviour. > Any chance this could be line-wrapped? Cheers, Omair From bugzilla-daemon at icedtea.classpath.org Tue Sep 20 12:57:43 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Sep 2011 19:57:43 +0000 Subject: [Bug 769] IcedTea-Web plugin does not work with some ssl sites with OpenJDK7 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=769 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |omajid at redhat.com Status|NEW |RESOLVED Resolution| |FIXED --- Comment #2 from Omair Majid 2011-09-20 19:57:42 --- Fixed in HEAD: http://icedtea.classpath.org/hg/icedtea-web/rev/36a7ee0d0ef7 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Tue Sep 20 13:08:54 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Sep 2011 20:08:54 +0000 Subject: [Bug 722] javaws fails to run signed application if unsigned files are present under META-INF/ In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=722 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.1.1 |2.0 --- Comment #3 from Omair Majid 2011-09-20 20:08:53 --- We need to improve our security infrastructure before we can allow unsigned INDEX.LIST. See this thread for details: http://thread.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/12020 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From jvanek at redhat.com Wed Sep 21 01:07:06 2011 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 21 Sep 2011 10:07:06 +0200 Subject: Reviewer needed: refactoring & enhancements of regression test "InternationalFontsRendering" in IcedTea6 HEAD In-Reply-To: <4E7712EC.7040605@redhat.com> References: <4E7712EC.7040605@redhat.com> Message-ID: <4E799B2A.8090303@redhat.com> On 09/19/2011 12:01 PM, Pavel Tisnovsky wrote: > Greetings, > > I'd like to push new version of a regression test "InternationalFontsRendering" into IcedTea6 HEAD (and later into > IcedTea7 too). This test was refactored and enhanced to check issue described in RH bugzilla: Bug #727195 "Japanese font > mappings are broken" > (https://bugzilla.redhat.com/show_bug.cgi?id=727195) > > I've also added new basic multilingual planes (Latin-Extended A, Latin-Extended B, Coptic, Katakana, Hiragana) to a > check list, so this test checks font rendering in more detail. > > Successfully tested on RHEL5 (Gnome + East European + Asian fonts installed) > > > Here's ChangeLog entry describing this change: > > 2011-09-19 Pavel Tisnovsky > > * patches/jtreg-international-fonts.patch: > Refactored and updated this test to check issue described in RH > bugzilla: Bug #727195 "Japanese font mappings are broken" > https://bugzilla.redhat.com/show_bug.cgi?id=727195 > > Can anybody please review this change? > > Thank you in advance > Pavel Ok. I think there is no problem in enchanting this test. J. From jvanek at redhat.com Wed Sep 21 03:19:58 2011 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 21 Sep 2011 12:19:58 +0200 Subject: [RFC][icedtea-web] extend reproducers engine for signed applications In-Reply-To: <4E78E5D0.8050403@redhat.com> References: <4E78A650.4090706@redhat.com> <4E78E5D0.8050403@redhat.com> Message-ID: <4E79BA4E.6080705@redhat.com> On 09/20/2011 09:13 PM, Omair Majid wrote: > On 09/20/2011 10:42 AM, Jiri Vanek wrote: >> Hi! ... >> "accepted" to icedtea-web. >> I was afraid, tahat -XtrustAll could be misused in way described in >> ReadPropertiesBySignedHack (included in *xtrustAllHack*) - that >> xtrustall can be setted on by reflection from signed code (this is >> possible) and then unsigned content can be loaded but it is not >> (luckily) possible, as SecurityMAnager is compalining about different >> signature (which is correct behaviour) > > I am not sure if there is much that we can do. After all, trusted code can download and run arbitrary code on your machine already. We can try to make it harder for developers to make mistakes, but there is not much we can do to completely stop them. > >> I'm not sure weather to include this patch into icedtea-web. >> > > I dont have strong feelings either way, but I am leaning towards leaving it out. > The xtrustAllHack was more or less intended as brainstorming whether -XtrustAll can be misused or not. For now, I believe that it can not be. Whether to include it or not,I'm not sure. It is an manual how not to do things, but also some guide "this hack is not working, try another one". The only reason i would like to have it inside is, that maybe, in some future, SecurityManager in icedtea-web will be replaced or security mechanisms in (jdk7,jdk8...15..) will change and this test will suddenly fail. Everything else (Unless you have some more concepts how to misuse xtrusall) is speaking against including this test. Current patches do not include this hack (so much I'm confused about including it). >> All patches are available as one big patch in *reproducersAll* file. >> > > More comments inline below. > >> >> 2011-09-20 Jiri Vanek >> +++(signedReproducersEngine)+++ .... >> *tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java: >> now prints out got variable for comparsion with ^ >> >> >> +++(.*)+++ will not be included in changelog if patch applied as one. >> > > Do you think the patches should be applied together? I believe that first should be pushed xtrustall patch (separately) and then SignedEngine+example go inside (together). > >> + public ReadPropertiesSignedTest() { >> + List ll=new ArrayList(1); >> + ll.add("-Xtrustall"); >> + l=Collections.unmodifiableList(ll); >> + } > > How about: > > Collections.unmodifiableList(Arrays.asList(new String[] {"-Xtrustall"})); Although I like logic in more lines, in this case I agree it is better - refactored. > >> @@ -635,6 +665,20 @@ >> ln -sf $(JAR) $(BOOT_DIR)/bin/jar >> ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac >> ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc >> + if [ -e "$(KEYTOOL)" ] ; then \ >> + ln -sf $(KEYTOOL) $(BOOT_DIR)/bin/keytool ;\ >> + else \ >> + echo "#! /bin/sh"> $(BOOT_DIR)/bin/keytool ;\ >> + echo "echo \"keytool not exist on your system\"">> $(BOOT_DIR)/bin/keytool ;\ >> + chmod 777 $(BOOT_DIR)/bin/keytool ;\ >> + fi >> + if [ -e "$(JARSIGNER)" ] ; then \ >> + ln -sf $(JARSIGNER) $(BOOT_DIR)/bin/jarsigner ;\ >> + else \ >> + echo "#! /bin/sh"> $(BOOT_DIR)/bin/jarsigner ;\ >> + echo "echo \"jarsigner not exist on your system\"">> $(BOOT_DIR)/bin/jarsigner ;\ >> + chmod 777 $(BOOT_DIR)/bin/jarsigner ;\ >> + fi > > :) > Smiling are you, yeah? :D That is good thing :) I was afraid what you will tell on this.. 'bootstrap tools'.... I was really thinking hard how to deal with your sentence "What happens if JARSIGNER and/or KEYTOOL is not found? " (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-June/014919.html). Are you ok with it? I was also thinking about --with-jarsigner(keytool)=no. (same source). At the end i did not implement it, as I think failing tests are enough as reaction (and no added to much lines) >> mkdir -p $(BOOT_DIR)/jre/lib&& \ >> ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib&& \ >> if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \ >> diff -r e9a9792ee189 acinclude.m4 >> --- a/acinclude.m4 Thu Sep 15 15:27:40 2011 +0200 >> +++ b/acinclude.m4 Tue Sep 20 15:35:19 2011 +0200 >> @@ -655,6 +655,56 @@ >> AC_SUBST(JAVA) >> ]) >> >> +AC_DEFUN_ONCE([IT_FIND_KEYTOOL], >> +[ >> + AC_REQUIRE([IT_CHECK_FOR_JDK]) >> + AC_MSG_CHECKING([for keytool]) >> + AC_ARG_WITH([keytool], >> + [AS_HELP_STRING(--with-keytool,specify location of keytool for signed part of run-netx-dist)], >> + [ >> + KEYTOOL="${withval}" > > AFAIK, this will break if you run "./configure --with-keytool", because ${withval} is "yes" in that case. IMHO it did not break it. the lines: if ! test -f "${KEYTOOL}"; then + AC_PATH_PROG(KEYTOOL, keytool) + fi cough it (unless yes file exists in working directory), nut yes the path to key tool was then different (eg /bin/keytool), so I have added check for "yes" case. > >> + [ >... >> + JARSIGNER="${withval}" > > Likewise. > > >> diff -r e9a9792ee189 tests/jnlp_tests/README >> --- a/tests/jnlp_tests/README Thu Sep 15 15:27:40 2011 +0200 >>... >> Files in advanced directory have to care about themselves, but even those can have some parts inside simple directory, so some parts of them are processed automatically. There are three reproducers ? simpletest1, simpletest2 and deadlocktest, which tests test?s suite itself and serve as examples of behaviour. >> > > Any chance this could be line-wrapped? Although I think that line-wrapping is a way *for* view, but if you wish :) - refactored. > > Cheers, > Omair Changelogs to new patches: signedReproducersAndExmple: 2011-09-21 Jiri Vanek Added signed reproducers engine and examples *Makefile.am added variable KEYSTORE_NAME (stamps/junit-jnlp-dist-dirs): creates stamp and depend on next two targets (junit-jnlp-dist-simple.txt): creates list of simple reproducers, extracted from ^ (junit-jnlp-dist-signed.txt): creates list of signed reproducers (stamps/netx-dist-tests-prepare-reproducers.stamp): now traverse over signed and simple (stamps/netx-dist-tests-sign-some-reproducers.stamp): depends on ^, traverse through signed reproducers and sign them (stamps/netx-dist-tests-compile-testcases.stamp): now traverse over signed and simple (stamps/bootstrap-directory.stamp): creates symlinks/stubs to jarsigner and keytool (clean-netx-dist-tests):remove new stamps, signed and simple list and keysstore *acinclude.m4: declared to proceed IT_FIND_KEYTOOL and IT_FIND_JARSIGNER macro *configure.ac: declared macros to check for keytool and jarsigner *tests/jnlp_tests/README: mentioned signed directory *tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp: *tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp: *tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: *tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java: ^,^^, ^^^ example of signed reproducer *tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java: now prints out got variable for compassion with ^ xtrustall: 2011-09-21 Jiri Vanek *netx/net/sourceforge/jnlp/runtime/Boot.java: (main): added logic to handle -Xtrustall option *netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: declared private static boolean trustAll=false; with public getter and pkg.private setter *netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (checkTrustWithUser): modified, when XtrustAll declared, then user is not asked and certificate is trusted *netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: (askUser): --||-- changes to last patch: -xtrustAllHack - removed -ReadPropertiesSignedTest - consatructor have just one line initialization of list -'bootstrap tools' - made little but more verbose -keytool and jarsigner detection now handles 'yes' more intuitively. -readme longest lines are now wrapped and fixed few typos. Thank you for checking it! Bets regards J. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: xtrustAll Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110921/31057086/xtrustAll.ksh -------------- next part -------------- diff -r e9a9792ee189 Makefile.am --- a/Makefile.am Thu Sep 15 15:27:40 2011 +0200 +++ b/Makefile.am Wed Sep 21 11:03:01 2011 +0200 @@ -22,6 +22,7 @@ JNLP_TESTS_ENGINE_DIR=$(TESTS_DIR)/netx/jnlp_testsengine JNLP_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/jnlp_test_server JNLP_TESTS_DIR=$(TESTS_DIR)/jnlp_tests +KEYSTORE_NAME=teststore.ks JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar @@ -455,39 +456,61 @@ @junit-runner-source-files.txt && \ $(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) . -junit-jnlp-dist-dirs.txt: +stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt junit-jnlp-dist-signed.txt mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR) mkdir -p $(JNLP_TESTS_DIR) mkdir -p $(JNLP_TESTS_ENGINE_DIR) + touch $@ + +junit-jnlp-dist-simple.txt: cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ -stamps/netx-dist-tests-prepare-reproducers.stamp: junit-jnlp-dist-dirs.txt - simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-dirs.txt `); \ - for dir in "$${simpleReproducers[@]}" ; do \ - echo "processing: $$dir" ; \ - mkdir -p $(JNLP_TESTS_DIR)/$$dir ; \ - d=`pwd` ; \ - cd $(JNLP_TESTS_SRCDIR)/simple/$$dir/srcs/ ; \ - srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ - notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ - $(BOOT_DIR)/bin/javac -d $(JNLP_TESTS_DIR)/$$dir/ $$srcFiles ; \ - if [ -n "$$notSrcFiles" ] ; then \ - cp -R --parents $$notSrcFiles $(JNLP_TESTS_DIR)/$$dir/ ; \ - fi ; \ - cd $(JNLP_TESTS_DIR)/$$dir/ ; \ - $(BOOT_DIR)/bin/jar cf $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar * ; \ - cd $$d ; \ - cp -R $(JNLP_TESTS_SRCDIR)/simple/$$dir/resources/* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ +junit-jnlp-dist-signed.txt: + cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ + find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ + +stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + for dir in "$${simpleReproducers[@]}" ; do \ + echo "processing: $$dir" ; \ + mkdir -p $(JNLP_TESTS_DIR)/$$dir ; \ + d=`pwd` ; \ + cd $(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/ ; \ + srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ + notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ + $(BOOT_DIR)/bin/javac -d $(JNLP_TESTS_DIR)/$$dir/ $$srcFiles ; \ + if [ -n "$$notSrcFiles" ] ; then \ + cp -R --parents $$notSrcFiles $(JNLP_TESTS_DIR)/$$dir/ ; \ + fi ; \ + cd $(JNLP_TESTS_DIR)/$$dir/ ; \ + $(BOOT_DIR)/bin/jar cf $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar * ; \ + cd $$d ; \ + cp -R $(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ + done ; \ done ; \ mkdir -p stamps && \ touch $@ +stamps/netx-dist-tests-sign-some-reproducers.stamp: stamps/netx-dist-tests-prepare-reproducers.stamp + alias=icedteaweb; \ + keystore=$(abs_top_builddir)/$(KEYSTORE_NAME); \ + pass=123456789; \ + $(BOOT_DIR)/bin/keytool -genkey -alias $$alias -keystore $$keystore -keypass $$pass -storepass $$pass -dname "cn=$$alias, ou=$$alias, o=$$alias, c=$$alias" ; \ + signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-signed.txt `); \ + for dir in "$${signedReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $$pass -keypass $$pass $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar $$alias ; \ + done ; \ + mkdir -p stamps && \ + touch $@ + netx-dist-tests-source-files.txt: find $(JNLP_TESTS_ENGINE_SRCDIR) -name '*.java' | sort > $@ stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \ - junit-jnlp-dist-dirs.txt netx-dist-tests-source-files.txt + stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(JNLP_TESTS_ENGINE_DIR) \ -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ @@ -495,19 +518,22 @@ mkdir -p stamps && \ touch $@ -stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp junit-jnlp-dist-dirs.txt\ +stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp - simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-dirs.txt `); \ - for dir in "$${simpleReproducers[@]}" ; do \ - $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ - $(JNLP_TESTS_SRCDIR)/simple/$$dir/testcases/* ; \ + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + for dir in "$${simpleReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(JNLP_TESTS_ENGINE_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ + $(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/* ; \ + done ; \ done ; \ mkdir -p stamps && \ touch $@ -run-netx-dist-tests: all-local stamps/netx.stamp junit-jnlp-dist-dirs.txt stamps/netx-dist-tests-prepare-reproducers.stamp \ +run-netx-dist-tests: all-local stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-sign-some-reproducers.stamp \ stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) cd $(JNLP_TESTS_ENGINE_DIR) ; \ class_names= ; \ @@ -590,10 +616,14 @@ rm -rf $(JNLP_TESTS_DIR) rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR) rm -rf $(JNLP_TESTS_ENGINE_DIR) + rm -f stamps/junit-jnlp-dist-dirs rm -f stamps/netx-dist-tests-compile.stamp rm -f stamps/netx-dist-tests-prepare-reproducers.stamp rm -f stamps/netx-dist-tests-compile-testcases.stamp - rm -f junit-jnlp-dist-dirs.txt + rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp + rm -f junit-jnlp-dist-simple.txt + rm -f junit-jnlp-dist-signed.txt + rm -f $(abs_top_builddir)/$(KEYSTORE_NAME) # plugin tests @@ -635,6 +665,20 @@ ln -sf $(JAR) $(BOOT_DIR)/bin/jar ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc + if [ -e "$(KEYTOOL)" ] ; then \ + ln -sf $(KEYTOOL) $(BOOT_DIR)/bin/keytool ;\ + else \ + echo "#! /bin/sh" > $(BOOT_DIR)/bin/keytool ;\ + echo "echo \"keytool not exist on your system, signed part of reproducers test will fail\"" >> $(BOOT_DIR)/bin/keytool ;\ + chmod 777 $(BOOT_DIR)/bin/keytool ;\ + fi + if [ -e "$(JARSIGNER)" ] ; then \ + ln -sf $(JARSIGNER) $(BOOT_DIR)/bin/jarsigner ;\ + else \ + echo "#! /bin/sh" > $(BOOT_DIR)/bin/jarsigner ;\ + echo "echo \"jarsigner not exist on your system, signed part of reproducers test will fail\"" >> $(BOOT_DIR)/bin/jarsigner ;\ + chmod 777 $(BOOT_DIR)/bin/jarsigner ;\ + fi mkdir -p $(BOOT_DIR)/jre/lib && \ ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib && \ if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \ diff -r e9a9792ee189 acinclude.m4 --- a/acinclude.m4 Thu Sep 15 15:27:40 2011 +0200 +++ b/acinclude.m4 Wed Sep 21 11:03:01 2011 +0200 @@ -655,6 +655,64 @@ AC_SUBST(JAVA) ]) +AC_DEFUN_ONCE([IT_FIND_KEYTOOL], +[ + AC_REQUIRE([IT_CHECK_FOR_JDK]) + AC_MSG_CHECKING([for keytool]) + AC_ARG_WITH([keytool], + [AS_HELP_STRING(--with-keytool,specify location of keytool for signed part of run-netx-dist)], + [ + if test "${withval}" = "yes" ; then + KEYTOOL=${SYSTEM_JDK_DIR}/bin/keytool + else + KEYTOOL="${withval}" + fi + ], + [ + KEYTOOL=${SYSTEM_JDK_DIR}/bin/keytool + ]) + if ! test -f "${KEYTOOL}"; then + AC_PATH_PROG(KEYTOOL, keytool) + fi + if ! test -f "${KEYTOOL}"; then + KEYTOOL="" + fi + if test -z "${KEYTOOL}" ; then + AC_MSG_WARN("keytool not found so signed part of run-netx-dist will fail") + fi + AC_MSG_RESULT(${KEYTOOL}) + AC_SUBST(KEYTOOL) +]) + +AC_DEFUN_ONCE([IT_FIND_JARSIGNER], +[ + AC_REQUIRE([IT_CHECK_FOR_JDK]) + AC_MSG_CHECKING([for jarsigner]) + AC_ARG_WITH([jarsigner], + [AS_HELP_STRING(--with-jarsigner,specify location of jarsigner for signed part od run-netx-dist)], + [ + if test "${withval}" = "yes" ; then + JARSIGNER=${SYSTEM_JDK_DIR}/bin/jarsigner + else + JARSIGNER="${withval}" + fi + ], + [ + JARSIGNER=${SYSTEM_JDK_DIR}/bin/jarsigner + ]) + if ! test -f "${JARSIGNER}"; then + AC_PATH_PROG(JARSIGNER, jarsigner,"") + fi + if ! test -f "${JARSIGNER}"; then + JARSIGNER="" + fi + if test -z "${JARSIGNER}"; then + AC_MSG_WARN("jarsigner not found so signed part of run-netx-dist will fail") + fi + AC_MSG_RESULT(${JARSIGNER}) + AC_SUBST(JARSIGNER) +]) + AC_DEFUN([IT_FIND_JAVADOC], [ AC_REQUIRE([IT_CHECK_FOR_JDK]) diff -r e9a9792ee189 configure.ac --- a/configure.ac Thu Sep 15 15:27:40 2011 +0200 +++ b/configure.ac Wed Sep 21 11:03:01 2011 +0200 @@ -33,6 +33,8 @@ FIND_JAR FIND_ECJ_JAR IT_FIND_JAVADOC +IT_FIND_KEYTOOL +IT_FIND_JARSIGNER AC_CONFIG_FILES([javac], [chmod +x javac]) IT_SET_VERSION diff -r e9a9792ee189 tests/jnlp_tests/README --- a/tests/jnlp_tests/README Thu Sep 15 15:27:40 2011 +0200 +++ b/tests/jnlp_tests/README Wed Sep 21 11:03:01 2011 +0200 @@ -1,2 +1,5 @@ -Each file in directory simple must follows naming convention and is compiled/jared automatically into server's working directory and content of resources likewise. The name of jnlp is independent, and there can be even more jnlps for each future jar. Directories should be honored in srcs and in resources, but noty in testcases. -Files in advanced directory have to care about themselves, but even those can have some parts inside simple directory, so some parts of them are processed automatically. There are three reproducers ? simpletest1, simpletest2 and deadlocktest, which tests test?s suite itself and serve as examples of behaviour. +Each file in directory simple must follows hierarchy conventions and is compiled/jared automatically into server's working directory and content of resources likewise. + The name of jnlp is independent, and there can be even more jnlps for each future jar. Directories are honored in srcs and in resources, but noty in testcases. +Directories in signed hande their content in similar way as simle's content is handled, but in addition final jars are signed with simple testkey. +Files in advanced directory have to care about themselves, but even those can have some parts inside simple directory, so some parts of them are processed automatically. + There are three reproducers ? simpletest1, simpletest2 and deadlocktest, which tests test?s suite itself and serve as examples of behaviour. diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp Wed Sep 21 11:03:01 2011 +0200 @@ -0,0 +1,14 @@ + + + + read properties using System.getenv() + + + + + + user.name + + diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp Wed Sep 21 11:03:01 2011 +0200 @@ -0,0 +1,17 @@ + + + + read properties using System.getenv() + + + + + + user.name + + + + + diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java Wed Sep 21 11:03:01 2011 +0200 @@ -0,0 +1,45 @@ +/* ReadPropertiesSigned.java +Copyright (C) 2011 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 ReadPropertiesSigned { + +/** +*some system property is expected as arg[0], eg user.name or user.home +*/ + public static void main(String[] args) { + System.out.println(System.getProperty(args[0])); + } +} diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Wed Sep 21 11:03:01 2011 +0200 @@ -0,0 +1,110 @@ +/* ReadPropertiesSignedTest.java +Copyright (C) 2011 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.util.Arrays; +import java.util.Collections; +import java.util.List; +import net.sourceforge.jnlp.ServerAccess; +import org.junit.Assert; +import org.junit.Test; + +public class ReadPropertiesSignedTest { + + private static ServerAccess server = new ServerAccess(); + private final List l=Collections.unmodifiableList(Arrays.asList(new String[] {"-Xtrustall"})); + + + public ReadPropertiesSignedTest() { + + } + + + @Test + public void ReadSignedPropertiesWithoutPermissionsWithXtrustAll() throws Exception { + //no request for permissions + System.out.println("connecting ReadPropertiesSigned1 request"); + System.err.println("connecting ReadPropertiesSigned1 request"); + ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned1.jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; + Assert.assertTrue("Stderr should contains "+s+" but did not",pr.stderr.contains(s)); + String ss="ClassNotFoundException"; + Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); + Assert.assertTrue("stdout lenght should be <2 but was "+pr.stdout.length(),pr.stdout.length()<2); // /home/user or /root or eanything else :( + Assert.assertFalse("should not be terminated but was",pr.wasTerminated); + Assert.assertEquals((Integer)0, pr.returnValue); + } + + @Test + public void ReadSignedPropertiesWithPermissionsWithXtrustAll() throws Exception { + //request for allpermissions + System.out.println("connecting ReadPropertiesSigned2 request"); + System.err.println("connecting ReadPropertiesSigned2 request"); + ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned2.jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; + Assert.assertFalse("Stderr should NOT contains "+s+" but did",pr.stderr.contains(s)); + String ss="ClassNotFoundException"; + Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); + Assert.assertTrue("stdout lenght should be >= but was "+pr.stdout.length(),pr.stdout.length()>=4); // /home/user or /root or eanything else :( + Assert.assertFalse("should not be terminated but was",pr.wasTerminated); + Assert.assertEquals((Integer)0, pr.returnValue); + } + + @Test + public void EnsureXtrustallNotAffectingUnsignedBehaviour() throws Exception { + System.err.println("connecting ReadPropertiesSigned3 request"); + System.out.println("connecting ReadPropertiesSigned3 request"); + ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadProperties1.jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; + Assert.assertTrue(pr.stderr.contains(s)); + String ss="ClassNotFoundException"; + Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); + Assert.assertFalse("stdout lenght should not be >2 but was "+pr.stdout.length(),pr.stdout.length()>2); + Assert.assertFalse("should not be terminated but was",pr.wasTerminated); + Assert.assertEquals((Integer)0, pr.returnValue); + ServerAccess.ProcessResult pr2=server.executeJavawsHeadless(null,"/ReadProperties1.jnlp"); + Assert.assertEquals(pr.stderr, pr2.stderr); + Assert.assertEquals(pr.stdout, pr2.stdout); + + } + } diff -r e9a9792ee189 tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java --- a/tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java Thu Sep 15 15:27:40 2011 +0200 +++ b/tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java Wed Sep 21 11:03:01 2011 +0200 @@ -40,6 +40,6 @@ *some system property is expected as arg[0], eg user.name or user.home */ public static void main(String[] args) { - System.getProperty(args[0]); + System.out.println(System.getProperty(args[0])); } } From ptisnovs at icedtea.classpath.org Wed Sep 21 05:49:12 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 21 Sep 2011 12:49:12 +0000 Subject: /hg/icedtea6: Refactored and updated the test InternationalFonts... Message-ID: changeset a65a115e0fbc in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a65a115e0fbc author: ptisnovs date: Wed Sep 21 14:48:54 2011 +0200 Refactored and updated the test InternationalFontsRendering to check issue described in RH bugzilla: Bug #727195 "Japanese font mappings are broken" https://bugzilla.redhat.com/show_bug.cgi?id=727195 diffstat: ChangeLog | 7 + patches/jtreg-international-fonts.patch | 200 +++++++++++++++++++++++++++---- 2 files changed, 177 insertions(+), 30 deletions(-) diffs (308 lines): diff -r fb9bfc043a45 -r a65a115e0fbc ChangeLog --- a/ChangeLog Thu Sep 08 18:10:28 2011 +0200 +++ b/ChangeLog Wed Sep 21 14:48:54 2011 +0200 @@ -1,3 +1,10 @@ +2011-09-21 Pavel Tisnovsky + + * patches/jtreg-international-fonts.patch: + Refactored and updated this test to check issue described in RH + bugzilla: Bug #727195 "Japanese font mappings are broken" + https://bugzilla.redhat.com/show_bug.cgi?id=727195 + 2011-09-08 Pavel Tisnovsky * Makefile.am: added new patch diff -r fb9bfc043a45 -r a65a115e0fbc patches/jtreg-international-fonts.patch --- a/patches/jtreg-international-fonts.patch Thu Sep 08 18:10:28 2011 +0200 +++ b/patches/jtreg-international-fonts.patch Wed Sep 21 14:48:54 2011 +0200 @@ -1,8 +1,8 @@ ---- /dev/null 2010-06-29 11:10:08.737208357 +0200 -+++ openjdk/jdk/test/java/awt/font/InternationalFonts/InternationalFontsRendering.java 2011-01-17 17:06:44.000000000 +0100 -@@ -0,0 +1,211 @@ +--- /dev/null 2011-07-20 10:54:36.268271016 +0200 ++++ openjdk/jdk/test/java/awt/font/InternationalFonts/InternationalFontsRendering.java 2011-09-16 17:18:14.000000000 +0200 +@@ -0,0 +1,351 @@ +/* -+ * Copyright 2010 Red Hat, Inc. All Rights Reserved. ++ * Copyright 2010, 2011 Red Hat, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it @@ -47,14 +47,19 @@ + * When the font does not exists or font configuration is broken, only empty + * rectangle is rendered instead of the selected character shape. This rectangle + * is filtered and then the destination image is tested whether it is empty -+ * (=white). ++ * (=white). Because all long horizontal and vertical lines are filtered, it's ++ * difficult to test some characters containing only these shapes, gor example: ++ * 'H', 'I', 'T' etc. (similar characters are included in Cyrillic and Green ++ * alphabets too). + * + * If test images with rendered characters needs to be created use following flag: + * -create-images + * -+ * regression for bug: https://bugzilla.redhat.com/show_bug.cgi?id=643674 -+ * (Bug 643674 Misconfigured Path for Asian Font) -+ * ++ * This test checks regression for bugs: ++ * - https://bugzilla.redhat.com/show_bug.cgi?id=643674 ++ * (Bug 643674 Misconfigured Path for Asian Font) ++ * - https://bugzilla.redhat.com/show_bug.cgi?id=727195 ++ * (Bug 727195 Japanese font mappings are broken) + */ +public class InternationalFontsRendering +{ @@ -68,10 +73,64 @@ + private static final int BLACK_WHITE_THRESHOLD = 128; + private static final int BLACK_PIXEL_COUNT_THRESHOLD = WIDTH * HEIGHT / 1000; + ++ /** ++ * Structure which represents range of characters in Unicode mapping ++ */ ++ static class UnicodeRange ++ { ++ /** ++ * Name of a range (Latin, Green, etc. etc.) ++ */ ++ private String name; ++ ++ /** ++ * First character code in a range ++ */ ++ private int code1; ++ ++ /** ++ * Last character code in a range ++ */ ++ private int code2; ++ ++ /** ++ * Constructor ++ */ ++ public UnicodeRange(String name, int code1, int code2) { ++ this.name = name; ++ this.code1 = code1; ++ this.code2 = code2; ++ } ++ ++ /** ++ * Getter for an attribute 'name' ++ */ ++ public String getName() { ++ return this.name; ++ } ++ ++ /** ++ * Getter for an attribute 'code1' ++ */ ++ public int getCode1() { ++ return this.code1; ++ } ++ ++ /** ++ * Getter for an attribute 'code2' ++ */ ++ public int getCode2() { ++ return this.code2; ++ } ++ } ++ ++ /** ++ * Series of strings checked by this test ++ */ + private static final String[][] testedStrings = { + {"Latin-1", "abcdefABCDEF"}, + {"Latin-2", "\u011b\u0161\u010d\u0159\u017e\u00fd\u00e1\u00ed\u00e9\u00fa\u016f\u013e\u0148"}, -+ {"Cyrilic", "\u0414\u0417\u0418\u0472\u0424\u0425\u0470\u0460\u0426"}, ++ {"Cyrillic", "\u0414\u0417\u0418\u0472\u0424\u0425\u0470\u0460\u0426"}, + {"Greek", "\u03b2\u03be\u03b3\u03b4\u03c0\u03b5\u03c1\u03b6\u03a3\u03c3\u03c2\u03b7\u03c4\u03b8\u03c5\u03a9"}, + {"Asia-Test1", "\u4f53\u4e2d\u6587\u7b26\u53f7"}, + {"Asia-Test2", "\u7e41\u9ad4\u4e2d\u6587\u7b26\u865f"}, @@ -80,11 +139,25 @@ + }; + + /** ++ * Series of Unicode ranges checked by this test ++ */ ++ private static final UnicodeRange[] testedRanges = { ++ new UnicodeRange("Latin-ExtendedA1", 0x0100, 0x0130), // see http://en.wikipedia.org/wiki/Latin_Extended-A ++ new UnicodeRange("Latin-ExtendedA2", 0x0132, 0x017f), // see http://en.wikipedia.org/wiki/Latin_Extended-A ++ new UnicodeRange("Latin-ExtendedB1", 0x0180, 0x01bf), // see http://en.wikipedia.org/wiki/Latin_Extended-B ++ new UnicodeRange("Latin-ExtendedB2", 0x01c2, 0x024f), // see http://en.wikipedia.org/wiki/Latin_Extended-B ++ new UnicodeRange("Greek", 0x03b0, 0x03ce), // see http://en.wikipedia.org/wiki/Greek_alphabet#Greek_in_Unicode ++ new UnicodeRange("Coptic", 0x03d0, 0x03ff), // see http://en.wikipedia.org/wiki/Coptic_alphabet#Unicode ++ new UnicodeRange("Japan-Katakana", 0x30a1, 0x30fe), // see http://en.wikipedia.org/wiki/Katakana#Unicode ++ new UnicodeRange("Japan-Hiragana", 0x3041, 0x308f), // see http://en.wikipedia.org/wiki/HiraganaUnicode ++ }; ++ ++ /** + * Creates test image a renders one big character to it. -+ * @param testedString -+ * @return ++ * @param code positon of character in Unicode ++ * @return image containing rendered character + */ -+ private BufferedImage createTestImage(String str) { ++ private BufferedImage createTestImage(int code) { + BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_BYTE_GRAY); + Graphics2D gc = image.createGraphics(); + gc.setBackground(Color.WHITE); @@ -93,6 +166,7 @@ + gc.clearRect(0, 0, WIDTH, HEIGHT); + gc.setFont(new Font(Font.DIALOG, Font.PLAIN, FONT_SIZE)); + gc.setColor(Color.BLACK); ++ String str = Character.valueOf((char)code).toString(); + gc.drawString(str, 0, HEIGHT - 40); + gc.dispose(); + return image; @@ -100,8 +174,8 @@ + + /** + * Creates destination image and then copies data from source image to it -+ * @param src -+ * @return ++ * @param src source image ++ * @return image containing rendered and filtered character + */ + private BufferedImage createDestinationImage(BufferedImage src) { + BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_BYTE_GRAY); @@ -110,7 +184,7 @@ + } + + /** -+ * Removes long horizontal lines from image ++ * Filter which removes long horizontal lines from an image + */ + private void removeHorizontalLines(BufferedImage image) { + for (int y = 0; y < image.getHeight(); y++) { @@ -136,7 +210,7 @@ + } + + /** -+ * Removes long vertical lines from image ++ * Filter which removes long vertical lines from an image + */ + private void removeVerticalLines(BufferedImage image) { + for (int x = 0; x < image.getWidth(); x++) { @@ -162,8 +236,8 @@ + + /** + * Test if image is almost empty (one large white area) -+ * @param image -+ * @return ++ * @param image image to be tested ++ * @return true if image is almost empty + */ + private boolean isImageAlmostEmpty(BufferedImage image) { + int blackPixelCount = 0; @@ -177,7 +251,36 @@ + return blackPixelCount < BLACK_PIXEL_COUNT_THRESHOLD; + } + -+ public void runTest(boolean createImages) throws IOException ++ /** ++ * Test if given character is rendered correctly. ++ * @param code character code ++ * @param createImages if true, image with rendered character is stored to a fs ++ * @return true if character is rendered correctly, false instead ++ */ ++ private boolean testRenderingOfCharacter(int code, boolean createImages) ++ throws IOException ++ { ++ System.out.print(code + "\t"); ++ BufferedImage src = createTestImage(code); ++ BufferedImage dst = createDestinationImage(src); ++ removeHorizontalLines(dst); ++ removeVerticalLines(dst); ++ ++ if (createImages /* || true*/) { ++ ImageIO.write(src, "png", new File(code + "_src.png")); ++ ImageIO.write(dst, "png", new File(code + "_dst.png")); ++ } ++ return !isImageAlmostEmpty(dst); ++ } ++ ++ /** ++ * Test if all characters stored in a string are rendered correctly. ++ * @param testedStrings array of string containing tested characters ++ * @param createImages if true, image with rendered character is stored to a fs ++ * @return list of wrong rendered characters ++ */ ++ private List testCharactersStoredInAString(String[][] testedStrings, boolean createImages) ++ throws IOException + { + List badCharacters = new ArrayList(); + for (String[] testedString : testedStrings) { @@ -185,23 +288,60 @@ + for (int i = 0; i < testedString[1].length(); i++) { + String str = testedString[1].substring(i, 1+i); + int code = str.charAt(0); -+ System.out.print(code + "\t"); -+ BufferedImage src = createTestImage(str); -+ BufferedImage dst = createDestinationImage(src); -+ removeHorizontalLines(dst); -+ removeVerticalLines(dst); -+ -+ if (createImages /* || true*/) { -+ ImageIO.write(src, "png", new File(code + "_src.png")); -+ ImageIO.write(dst, "png", new File(code + "_dst.png")); -+ } -+ -+ if (isImageAlmostEmpty(dst)) { ++ if (!testRenderingOfCharacter(code, createImages)) { + System.err.println("Bad rendering of character with code: " + code); + badCharacters.add(Integer.valueOf(code)); + } + } + } ++ return badCharacters; ++ } ++ ++ /** ++ * Test if all characters are rendered correctly. ++ * @param unicodeRanges array of Unicode ranges ++ * @param createImages if true, image with rendered character is stored to a fs ++ * @return list of wrong rendered characters ++ */ ++ private List testCharactersStoredAsUnicodeRanges(UnicodeRange[] unicodeRanges, boolean createImages) ++ throws IOException ++ { ++ List badCharacters = new ArrayList(); ++ for (UnicodeRange unicodeRange : unicodeRanges) { ++ badCharacters.addAll(testCharactersSpecifiedByUnicodeRange(unicodeRange, createImages)); ++ } ++ return badCharacters; ++ } ++ ++ /** ++ * Test if all characters are rendered correctly. ++ * @param unicodeRange ranges of Unicode codes ++ * @param createImages if true, image with rendered character is stored to a fs ++ * @return list of wrong rendered characters ++ */ ++ private List testCharactersSpecifiedByUnicodeRange(UnicodeRange unicodeRange, boolean createImages) ++ throws IOException ++ { ++ List badCharacters = new ArrayList(); ++ System.out.println("\nTesting " + unicodeRange.getName()); ++ for (int code = unicodeRange.getCode1(); code <= unicodeRange.getCode2(); code++) { ++ if (!testRenderingOfCharacter(code, createImages)) { ++ System.err.format("Bad rendering of character with code: %d hex: %x\n", code, code); ++ badCharacters.add(Integer.valueOf(code)); ++ } ++ } ++ return badCharacters; ++ } ++ ++ /** ++ * Entry point to the test. ++ * @param createImages if true, image with rendered character is stored to a fs ++ */ ++ public void runTest(boolean createImages) throws IOException ++ { ++ List badCharacters = new ArrayList(); ++ badCharacters.addAll(testCharactersStoredInAString(testedStrings, createImages)); ++ badCharacters.addAll(testCharactersStoredAsUnicodeRanges(testedRanges, createImages)); + if (!badCharacters.isEmpty()) { + throw new RuntimeException("Error in rendering of character(s) with code(s): " + badCharacters.toString()); + } From andrew at icedtea.classpath.org Wed Sep 21 08:16:18 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 21 Sep 2011 15:16:18 +0000 Subject: /hg/icedtea7: Check for Gtk+, GIO, fontconfig and CUPS and enabl... Message-ID: changeset 772a1342ad73 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=772a1342ad73 author: Andrew John Hughes date: Wed Sep 21 16:16:01 2011 +0100 Check for Gtk+, GIO, fontconfig and CUPS and enable building against them at compile-time. 2011-09-21 Andrew John Hughes * Makefile.am: (JDK_CHANGESET): Bump to bring in latest GConf->GIO fix for proxy detection. (JDK_SHA256SUM): Likewise. (ICEDTEA_ENV): Set USE_SYSTEM_CUPS, CUPS_LIBS, CUPS_CFLAGS, USE_SYSTEM_GTK, GTK_LIBS, GTK_CFLAGS, USE_SYSTEM_GIO, GIO_LIBS, GIO_CFLAGS, USE_SYSTEM_FONTCONFIG, FONTCONFIG_LIBS, FONTCONFIG_CFLAGS. * acinclude.m4, (IT_CHECK_FOR_GTK): Add --enable-system-gtk and detect Gtk+ if enabled. (IT_CHECK_FOR_GIO): Likewise for --enable-system-gio. (IT_CHECK_FOR_FONTCONFIG): Likewise for --enable-system-fontconfig. (IT_CHECK_FOR_CUPS): Detect both CUPS headers and libraries, and set CUPS_LIBS. * configure.ac: Remove old CUPS detection. Add calls to IT_CHECK_FOR_GTK, IT_CHECK_FOR_GIO, IT_CHECK_FOR_FONTCONFIG and IT_CHECK_FOR_CUPS. diffstat: ChangeLog | 21 ++++++++++++++ Makefile.am | 30 ++++++++++++++++++-- acinclude.m4 | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 7 ++-- 4 files changed, 141 insertions(+), 6 deletions(-) diffs (212 lines): diff -r 094e2ade4134 -r 772a1342ad73 ChangeLog --- a/ChangeLog Fri Sep 09 17:34:17 2011 +0100 +++ b/ChangeLog Wed Sep 21 16:16:01 2011 +0100 @@ -1,3 +1,24 @@ +2011-09-21 Andrew John Hughes + + * Makefile.am: + (JDK_CHANGESET): Bump to bring in latest + GConf->GIO fix for proxy detection. + (JDK_SHA256SUM): Likewise. + (ICEDTEA_ENV): Set USE_SYSTEM_CUPS, CUPS_LIBS, + CUPS_CFLAGS, USE_SYSTEM_GTK, GTK_LIBS, GTK_CFLAGS, + USE_SYSTEM_GIO, GIO_LIBS, GIO_CFLAGS, USE_SYSTEM_FONTCONFIG, + FONTCONFIG_LIBS, FONTCONFIG_CFLAGS. + * acinclude.m4, + (IT_CHECK_FOR_GTK): Add --enable-system-gtk and detect + Gtk+ if enabled. + (IT_CHECK_FOR_GIO): Likewise for --enable-system-gio. + (IT_CHECK_FOR_FONTCONFIG): Likewise for --enable-system-fontconfig. + (IT_CHECK_FOR_CUPS): Detect both CUPS headers and libraries, + and set CUPS_LIBS. + * configure.ac: Remove old CUPS detection. + Add calls to IT_CHECK_FOR_GTK, IT_CHECK_FOR_GIO, + IT_CHECK_FOR_FONTCONFIG and IT_CHECK_FOR_CUPS. + 2011-09-09 Andrew John Hughes * Makefile.am: diff -r 094e2ade4134 -r 772a1342ad73 Makefile.am --- a/Makefile.am Fri Sep 09 17:34:17 2011 +0100 +++ b/Makefile.am Wed Sep 21 16:16:01 2011 +0100 @@ -6,7 +6,7 @@ HOTSPOT_CHANGESET = 1dd9b3d73b22 JAXP_CHANGESET = c40983d6ae70 JAXWS_CHANGESET = 83db5e316798 -JDK_CHANGESET = 80fe75968a0b +JDK_CHANGESET = a8b6a570543b LANGTOOLS_CHANGESET = fb7fb3071b64 OPENJDK_CHANGESET = 3defd24c2671 @@ -14,7 +14,7 @@ HOTSPOT_SHA256SUM = ffb1831a63e950bb7ade46a5382cb71d2603e0f40b3f758eb346833e18fca150 JAXP_SHA256SUM = 6ab0cab1965edb28e4093b55436abd04fbffe0b0251016043c75246c4ee9dc2d JAXWS_SHA256SUM = 5567c90ce2857016365b2e346783a3b16ec0e76b80586a0371f601b4fed01f21 -JDK_SHA256SUM = c083590700305ffdea31a1487956d8304cdbb3a5da79e92c3f2efc3e8a26a06d +JDK_SHA256SUM = bab2b25355dfb4300912b199eaf9633e693368e3fb671f1f6e9e08622079faeb LANGTOOLS_SHA256SUM = 9ddc00ec50fd2f5e331dc2bc10da4e23b69bf644eb92d50b39a2003c18fb5aa1 OPENJDK_SHA256SUM = 4043a75c2c4385dd735f8dbbf2369311ce1b951217c9dbe9bba9609e24eb291e @@ -473,7 +473,10 @@ VERBOSE="$(VERBOSE)" \ STATIC_CXX="false" \ BUILD_GCC="$(CC)" \ - BUILD_CPP="$(CXX)" + BUILD_CPP="$(CXX)" \ + USE_SYSTEM_CUPS="true" \ + CUPS_LIBS="${CUPS_LIBS}" \ + CUPS_CFLAGS="${CUPS_CFLAGS}" if ENABLE_CACAO ICEDTEA_ENV += \ @@ -546,6 +549,27 @@ 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 + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ diff -r 094e2ade4134 -r 772a1342ad73 acinclude.m4 --- a/acinclude.m4 Fri Sep 09 17:34:17 2011 +0100 +++ b/acinclude.m4 Wed Sep 21 16:16:01 2011 +0100 @@ -2058,6 +2058,95 @@ AC_SUBST(ENABLE_SYSTEM_GIF) ]) +AC_DEFUN_ONCE([IT_CHECK_FOR_GTK], +[ + AC_MSG_CHECKING([whether to use the system Gtk+ install]) + AC_ARG_ENABLE([system-gtk], + [AS_HELP_STRING(--enable-system-gtk,use the system Gtk+ [[default=yes]])], + [ + ENABLE_SYSTEM_GTK="${enableval}" + ], + [ + ENABLE_SYSTEM_GTK="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSTEM_GTK}) + if test x"${ENABLE_SYSTEM_GTK}" = "xyes"; then + dnl Check for Gtk+ headers and libraries. + PKG_CHECK_MODULES(GTK, gtk+-2.0,[GTK_FOUND=yes],[GTK_FOUND=no]) + if test "x${GTK_FOUND}" = xno + then + AC_MSG_ERROR([Could not find Gtk+; install Gtk+ or build with --disable-system-gtk to use the in-tree headers.]) + fi + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) + fi + AM_CONDITIONAL(USE_SYSTEM_GTK, test x"${ENABLE_SYSTEM_GTK}" = "xyes") + AC_SUBST(ENABLE_SYSTEM_GTK) +]) + +AC_DEFUN_ONCE([IT_CHECK_FOR_GIO], +[ + AC_MSG_CHECKING([whether to use the system GIO install]) + AC_ARG_ENABLE([system-gio], + [AS_HELP_STRING(--enable-system-gio,use the system GIO [[default=yes]])], + [ + ENABLE_SYSTEM_GIO="${enableval}" + ], + [ + ENABLE_SYSTEM_GIO="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSTEM_GIO}) + if test x"${ENABLE_SYSTEM_GIO}" = "xyes"; then + dnl Check for Gio+ headers and libraries. + PKG_CHECK_MODULES(GIO, gio-2.0,[GIO_FOUND=yes],[GIO_FOUND=no]) + if test "x${GIO_FOUND}" = xno + then + AC_MSG_ERROR([Could not find GIO; install GIO or build with --disable-system-gio to use the in-tree headers.]) + fi + AC_SUBST(GIO_CFLAGS) + AC_SUBST(GIO_LIBS) + fi + AM_CONDITIONAL(USE_SYSTEM_GIO, test x"${ENABLE_SYSTEM_GIO}" = "xyes") + AC_SUBST(ENABLE_SYSTEM_GIO) +]) + +AC_DEFUN_ONCE([IT_CHECK_FOR_FONTCONFIG], +[ + AC_MSG_CHECKING([whether to use the system fontconfig install]) + AC_ARG_ENABLE([system-fontconfig], + [AS_HELP_STRING(--enable-system-fontconfig,use the system fontconfig [[default=yes]])], + [ + ENABLE_SYSTEM_FONTCONFIG="${enableval}" + ], + [ + ENABLE_SYSTEM_FONTCONFIG="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSTEM_FONTCONFIG}) + if test x"${ENABLE_SYSTEM_FONTCONFIG}" = "xyes"; then + dnl Check for Fontconfig+ headers and libraries. + PKG_CHECK_MODULES(FONTCONFIG, fontconfig,[FONTCONFIG_FOUND=yes],[FONTCONFIG_FOUND=no]) + if test "x${FONTCONFIG_FOUND}" = xno + then + AC_MSG_ERROR([Could not find fontconfig; install fontconfig or build with --disable-system-fontconfig to use the in-tree headers.]) + fi + AC_SUBST(FONTCONFIG_CFLAGS) + AC_SUBST(FONTCONFIG_LIBS) + fi + AM_CONDITIONAL(USE_SYSTEM_FONTCONFIG, test x"${ENABLE_SYSTEM_FONTCONFIG}" = "xyes") + AC_SUBST(ENABLE_SYSTEM_FONTCONFIG) +]) + +AC_DEFUN_ONCE([IT_CHECK_FOR_CUPS], +[ + dnl Check for CUPS headers and libraries. + AC_CHECK_LIB([cups], [cupsServer], + , [AC_MSG_ERROR("Could not find CUPS library; install CUPS.")]) + AC_CHECK_HEADERS([cups/cups.h cups/ppd.h], + , [AC_MSG_ERROR("Could not find CUPS headers; install CUPS (including cups-devel on binary distros).")]) + CUPS_LIBS="-lcups" + AC_SUBST(CUPS_LIBS) +]) + AC_DEFUN([IT_ENABLE_JAMVM], [ AC_MSG_CHECKING(whether to use JamVM as VM) diff -r 094e2ade4134 -r 772a1342ad73 configure.ac --- a/configure.ac Fri Sep 09 17:34:17 2011 +0100 +++ b/configure.ac Wed Sep 21 16:16:01 2011 +0100 @@ -161,9 +161,6 @@ AC_SUBST([GCJ]) dnl pkgconfig cannot be used to find these headers and libraries. -AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[] - ,[AC_MSG_ERROR("CUPS headers were not found - - try installing cups-devel.")]) AC_CHECK_HEADERS([X11/X.h],[] ,[AC_MSG_ERROR("xorg headers were not found - try installing xorg-x11-proto-devel.")]) @@ -173,6 +170,10 @@ IT_CHECK_FOR_PNG IT_CHECK_FOR_GIF IT_CHECK_FOR_LCMS +IT_CHECK_FOR_GTK +IT_CHECK_FOR_GIO +IT_CHECK_FOR_FONTCONFIG +IT_CHECK_FOR_CUPS AC_CONFIG_FILES([remove-intree-libraries.sh]) dnl Check for Xproto headers and libraries. From jvanek at redhat.com Wed Sep 21 08:35:19 2011 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 21 Sep 2011 17:35:19 +0200 Subject: Elumination is not working with icedtea web. Message-ID: <4E7A0437.6080606@redhat.com> I'm afraid I do not have icedtea bugezila account, can you please post this bug? Best regards J: Recently I was running Elumination session, but I was unable to run it with Icedtea-web: (f15, java version "1.6.0_22"OpenJDK Runtime Environment (IcedTea6 1.10.3) (fedora-59.1.10.3.fc15-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)) for IcedteaWeb installed by yum (1.0.4-1.fc15), all jars were downlaoded, application lunched, all modules loaded, gui started, then I wass asked for accepting license but during it nullpointer exception occured: [jvanek at jvanek dta]$ javaws meeting.jnlp Application error in VClass.: Wrong time zone! Changing from UTC to CEST TimeZone = CEST Loaded native library JINECELP, version 1.8 AudioBean.loadPreferences: audio.inputDevice = null AudioBean.loadPreferences: audio.outputDevice = null AudioEngine.setMikeSampRate: Preferred mike sampling rate set to 44100 AudioEngine.setSpkrSampRate: Preferred spkr sampling rate set to 44100 Loaded X11AppSharing native lib, version 1.1.3 Loaded native library LinuxVideo, version 2.0 Application Exception in VClassLayoutController$12.run: Exception Trace - java.lang.NullPointerException at sun.awt.X11.XWindowPeer.restoreTransientFor(XWindowPeer.java:1681) at sun.awt.X11.XWindowPeer.removeFromTransientFors(XWindowPeer.java:1747) at sun.awt.X11.XWindowPeer.setModalBlocked(XWindowPeer.java:1469) at sun.awt.X11.XWindowPeer.setModalBlocked(XWindowPeer.java:1440) at java.awt.Window.setModalBlocked(Window.java:1359) at java.awt.Dialog.unblockWindow(Dialog.java:1597) at java.awt.Window.hide(Window.java:981) at com.elluminate.vclass.client.layout.VClassLayoutController$12.run(VClassLayoutController.java:2023) at com.elluminate.gui.SwingRunnerExecute$SwingWrapper.run(SwingRunnerExecute.java:110) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647) at java.awt.EventQueue.access$000(EventQueue.java:96) at java.awt.EventQueue$1.run(EventQueue.java:608) at java.awt.EventQueue$1.run(EventQueue.java:606) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:617) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1072) This seems like behaviour described here: https://bugzilla.redhat.com/show_bug.cgi?id=730015 Then I tried head (changeset 287:e9a9792ee189) by sudo make install and (sudo) .../bin/javaws meeting.jnlp: make[1]: Leaving directory `/home/jvanek/Desktop/icedtea-web' [jvanek at jvanek icedtea-web]$ /usr/local/bin/javaws ~/Desktop/dta/meeting.jnlp Application error in VClass.: Wrong time zone! Changing from UTC to CEST TimeZone = CEST Application Exception in Main$1.run: Exception Trace - java.lang.NullPointerException: Could not locate jar file, returned null at net.sourceforge.jnlp.runtime.JNLPClassLoader.checkForMain(JNLPClassLoader.java:590) at net.sourceforge.jnlp.runtime.JNLPClassLoader.addNextResource(JNLPClassLoader.java:1511) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClassExt(JNLPClassLoader.java:1392) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1260) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at com.elluminate.vclass.client.AbstractModularApp.loadModule(AbstractModularApp.java:810) at com.elluminate.vclass.client.AbstractModularApp.loadModules(AbstractModularApp.java:769) at com.elluminate.vclass.client.VClass.launch(VClass.java:838) at com.elluminate.vclass.client.VClass.launch(VClass.java:159) at com.elluminate.vclass.client.Main$1.run(Main.java:102) at com.elluminate.gui.SwingRunnerExecute$SwingWrapper.run(SwingRunnerExecute.java:110) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647) at java.awt.EventQueue.access$000(EventQueue.java:96) at java.awt.EventQueue$1.run(EventQueue.java:608) at java.awt.EventQueue$1.run(EventQueue.java:606) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:617) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) From ahughes at redhat.com Wed Sep 21 08:50:33 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 21 Sep 2011 16:50:33 +0100 Subject: [patch] Fix current icedtea7-forest/jdk awt build In-Reply-To: <201109182238.38648.drazzib@drazzib.com> References: <201109182238.38648.drazzib@drazzib.com> Message-ID: <20110921155033.GB5301@rivendell.middle-earth.co.uk> On 22:38 Sun 18 Sep , Damien Raude-Morvan wrote: > Hi, > > This patch is targeted for icedtea7-forest jdk. Since rev 005c45393f0d, > USE_SYSTEM_CUPS define seems to be used to skip usage of embed cups headers. I > found some issues with current makefiles. > > 1) In openjdk/jdk/make/sun/awt/FILES_c_unix.gmk there is a typo in > FILES_NO_MOTIF_c. It should be "+=" and not "=". > Actual error: it skip build of others files and latter cause, for example, > "java.lang.UnsatisfiedLinkError: java.awt.Font.initIDs" when doing XAWTIcon > generation with ToBin tool. > > 2) In openjdk/jdk/make/sun/awt/mawt.gmk, there is missing directives when > comparing with xawt ones. > - Missing vpath %.c for embed cups headers > - Missing OTHER_LDLIBS for cups libs > > Patch is attached. > > Regards, > -- > Damien Applied. Thanks. > Index: openjdk/jdk/make/sun/awt/FILES_c_unix.gmk > =================================================================== > --- openjdk/jdk/make/sun/awt/FILES_c_unix.gmk.orig > +++ openjdk/jdk/make/sun/awt/FILES_c_unix.gmk > @@ -231,11 +231,11 @@ > CUPSfuncs.c > > ifndef USE_SYSTEM_CUPS > -FILES_NO_MOTIF_c = \ > +FILES_NO_MOTIF_c += \ > cups_fp.c > endif > > ifndef USE_SYSTEM_FONTCONFIG > -FILES_NO_MOTIF_c = \ > +FILES_NO_MOTIF_c += \ > fontconfig_fp.c > endif > Index: openjdk/jdk/make/sun/awt/mawt.gmk > =================================================================== > --- openjdk/jdk/make/sun/awt/mawt.gmk.orig > +++ openjdk/jdk/make/sun/awt/mawt.gmk > @@ -103,6 +103,10 @@ > vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)/image > vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/robot_child > > +ifndef USE_SYSTEM_CUPS > +vpath %.c $(PLATFORM_SRC)/native/common/deps > +endif > + > ifndef USE_SYSTEM_FONTCONFIG > vpath %.c $(PLATFORM_SRC)/native/common/deps/fontconfig2 > endif > @@ -186,6 +190,10 @@ > OTHER_LDLIBS += $(JVMLIB) $(LIBCXX) \ > -lawt $(LIBM) > > +ifdef USE_SYSTEM_CUPS > + OTHER_LDLIBS += $(CUPS_LIBS) > +endif > + > ifdef USE_SYSTEM_FONTCONFIG > OTHER_LDLIBS += $(FONTCONFIG_LIBS) > else -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From omajid at redhat.com Wed Sep 21 09:55:51 2011 From: omajid at redhat.com (Omair Majid) Date: Wed, 21 Sep 2011 12:55:51 -0400 Subject: [RFC][icedtea-web] extend reproducers engine for signed applications In-Reply-To: <4E79BA4E.6080705@redhat.com> References: <4E78A650.4090706@redhat.com> <4E78E5D0.8050403@redhat.com> <4E79BA4E.6080705@redhat.com> Message-ID: <4E7A1717.8000302@redhat.com> On 09/21/2011 06:19 AM, Jiri Vanek wrote: > On 09/20/2011 09:13 PM, Omair Majid wrote: >> On 09/20/2011 10:42 AM, Jiri Vanek wrote: >>> Hi! > ... >>> "accepted" to icedtea-web. >>> I was afraid, tahat -XtrustAll could be misused in way described in >>> ReadPropertiesBySignedHack (included in *xtrustAllHack*) - that >>> xtrustall can be setted on by reflection from signed code (this is >>> possible) and then unsigned content can be loaded but it is not >>> (luckily) possible, as SecurityMAnager is compalining about different >>> signature (which is correct behaviour) >> >> I am not sure if there is much that we can do. After all, trusted code >> can download and run arbitrary code on your machine already. We can >> try to make it harder for developers to make mistakes, but there is >> not much we can do to completely stop them. >> >>> I'm not sure weather to include this patch into icedtea-web. >>> >> >> I dont have strong feelings either way, but I am leaning towards >> leaving it out. >> > > The xtrustAllHack was more or less intended as brainstorming whether > -XtrustAll can be misused or not. For now, I believe that it can not be. > Whether to include it or not,I'm not sure. It is an manual how not to do > things, but also some guide "this hack is not working, try another one". > The only reason i would like to have it inside is, that maybe, in some > future, SecurityManager in icedtea-web will be replaced or security > mechanisms in (jdk7,jdk8...15..) will change and this test will suddenly > fail. > Everything else (Unless you have some more concepts how to misuse > xtrusall) is speaking against including this test. > Current patches do not include this hack (so much I'm confused about > including it). > It's really up to you. If you want to add it, I will be happy to review it. >> >>> @@ -635,6 +665,20 @@ >>> ln -sf $(JAR) $(BOOT_DIR)/bin/jar >>> ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac >>> ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc >>> + if [ -e "$(KEYTOOL)" ] ; then \ >>> + ln -sf $(KEYTOOL) $(BOOT_DIR)/bin/keytool ;\ >>> + else \ >>> + echo "#! /bin/sh"> $(BOOT_DIR)/bin/keytool ;\ >>> + echo "echo \"keytool not exist on your system\"">> >>> $(BOOT_DIR)/bin/keytool ;\ >>> + chmod 777 $(BOOT_DIR)/bin/keytool ;\ >>> + fi >>> + if [ -e "$(JARSIGNER)" ] ; then \ >>> + ln -sf $(JARSIGNER) $(BOOT_DIR)/bin/jarsigner ;\ >>> + else \ >>> + echo "#! /bin/sh"> $(BOOT_DIR)/bin/jarsigner ;\ >>> + echo "echo \"jarsigner not exist on your system\"">> >>> $(BOOT_DIR)/bin/jarsigner ;\ >>> + chmod 777 $(BOOT_DIR)/bin/jarsigner ;\ >>> + fi >> >> :) >> > > Smiling are you, yeah? :D That is good thing :) I was afraid what you > will tell on this.. 'bootstrap tools'.... I was really thinking hard how > to deal with your sentence "What happens if JARSIGNER and/or KEYTOOL is > not found? " > (http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-June/014919.html). > > Are you ok with it? > It might be better to use autoconf for this. See jrunscript for an example. It's okay to do that as a separate patch though. This is fine for now. > I was also thinking about --with-jarsigner(keytool)=no. (same source). > At the end i did not implement it, as I think failing tests are enough > as reaction (and no added to much lines) > >>> mkdir -p $(BOOT_DIR)/jre/lib&& \ >>> ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib&& \ >>> if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \ >>> diff -r e9a9792ee189 acinclude.m4 >>> --- a/acinclude.m4 Thu Sep 15 15:27:40 2011 +0200 >>> +++ b/acinclude.m4 Tue Sep 20 15:35:19 2011 +0200 >>> @@ -655,6 +655,56 @@ >>> AC_SUBST(JAVA) >>> ]) >>> >>> +AC_DEFUN_ONCE([IT_FIND_KEYTOOL], >>> +[ >>> + AC_REQUIRE([IT_CHECK_FOR_JDK]) >>> + AC_MSG_CHECKING([for keytool]) >>> + AC_ARG_WITH([keytool], >>> + [AS_HELP_STRING(--with-keytool,specify location of keytool for >>> signed part of run-netx-dist)], >>> + [ >>> + KEYTOOL="${withval}" >> >> AFAIK, this will break if you run "./configure --with-keytool", >> because ${withval} is "yes" in that case. > > IMHO it did not break it. the lines: > > if ! test -f "${KEYTOOL}"; then > + AC_PATH_PROG(KEYTOOL, keytool) > + fi > > cough it (unless yes file exists in working directory), nut yes the path > to key tool was then different (eg /bin/keytool), so I have added check > for "yes" case. > Sorry, my mistake. But thanks for making it more obvious. >>> diff -r e9a9792ee189 tests/jnlp_tests/README >>> --- a/tests/jnlp_tests/README Thu Sep 15 15:27:40 2011 +0200 >>> ... >>> Files in advanced directory have to care about themselves, but even >>> those can have some parts inside simple directory, so some parts of >>> them are processed automatically. There are three reproducers ? >>> simpletest1, simpletest2 and deadlocktest, which tests test?s suite >>> itself and serve as examples of behaviour. >>> >> >> Any chance this could be line-wrapped? > > Although I think that line-wrapping is a way *for* view, but if you > wish :) - refactored. > diff -r e9a9792ee189 tests/jnlp_tests/README > --- a/tests/jnlp_tests/README Thu Sep 15 15:27:40 2011 +0200 > +++ b/tests/jnlp_tests/README Wed Sep 21 11:03:01 2011 +0200 > @@ -1,2 +1,5 @@ > -Each file in directory simple must follows naming convention and is compiled/jared automatically into server's working directory and content of resources likewise. The name of jnlp is independent, and there can be even more jnlps for each future jar. Directories should be honored in srcs and in resources, but noty in testcases. > -Files in advanced directory have to care about themselves, but even those can have some parts inside simple directory, so some parts of them are processed automatically. There are three reproducers ? simpletest1, simpletest2 and deadlocktest, which tests test?s suite itself and serve as examples of behaviour. > +Each file in directory simple must follows hierarchy conventions and is compiled/jared automatically into server's working directory and content of resources likewise. > + The name of jnlp is independent, and there can be even more jnlps for each future jar. Directories are honored in srcs and in resources, but noty in testcases. > +Directories in signed hande their content in similar way as simle's content is handled, but in addition final jars are signed with simple testkey. > +Files in advanced directory have to care about themselves, but even those can have some parts inside simple directory, so some parts of them are processed automatically. > + There are three reproducers ? simpletest1, simpletest2 and deadlocktest, which tests test?s suite itself and serve as examples of behaviour. 80 (or something else that is somewhat reasonable) columns please. > +public class ReadPropertiesSigned { > + > +/** > +*some system property is expected as arg[0], eg user.name or user.home > +*/ Indentation is a little off. > + public static void main(String[] args) { > + System.out.println(System.getProperty(args[0])); > + } > +} > diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Wed Sep 21 11:03:01 2011 +0200 > +public class ReadPropertiesSignedTest { > + > + private static ServerAccess server = new ServerAccess(); > + private final List l=Collections.unmodifiableList(Arrays.asList(new String[] {"-Xtrustall"})); > + > + > + public ReadPropertiesSignedTest() { > + > + } > + Perhaps this can be removed? > + > + @Test > + public void ReadSignedPropertiesWithoutPermissionsWithXtrustAll() throws Exception { > + //no request for permissions > + System.out.println("connecting ReadPropertiesSigned1 request"); > + System.err.println("connecting ReadPropertiesSigned1 request"); > + ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned1.jnlp"); > + System.out.println(pr.stdout); > + System.err.println(pr.stderr); > + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; > + Assert.assertTrue("Stderr should contains "+s+" but did not",pr.stderr.contains(s)); > + String ss="ClassNotFoundException"; > + Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); > + Assert.assertTrue("stdout lenght should be<2 but was "+pr.stdout.length(),pr.stdout.length()<2); // /home/user or /root or eanything else :( > + Assert.assertFalse("should not be terminated but was",pr.wasTerminated); > + Assert.assertEquals((Integer)0, pr.returnValue); > + } > + > + @Test > + public void ReadSignedPropertiesWithPermissionsWithXtrustAll() throws Exception { > + //request for allpermissions > + System.out.println("connecting ReadPropertiesSigned2 request"); > + System.err.println("connecting ReadPropertiesSigned2 request"); > + ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadPropertiesSigned2.jnlp"); > + System.out.println(pr.stdout); > + System.err.println(pr.stderr); > + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; > + Assert.assertFalse("Stderr should NOT contains "+s+" but did",pr.stderr.contains(s)); > + String ss="ClassNotFoundException"; > + Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); > + Assert.assertTrue("stdout lenght should be>= but was "+pr.stdout.length(),pr.stdout.length()>=4); // /home/user or /root or eanything else :( > + Assert.assertFalse("should not be terminated but was",pr.wasTerminated); > + Assert.assertEquals((Integer)0, pr.returnValue); > + } > + > + @Test Formatting issue? > + public void EnsureXtrustallNotAffectingUnsignedBehaviour() throws Exception { > + System.err.println("connecting ReadPropertiesSigned3 request"); > + System.out.println("connecting ReadPropertiesSigned3 request"); > + ServerAccess.ProcessResult pr=server.executeJavawsHeadless(l,"/ReadProperties1.jnlp"); > + System.out.println(pr.stdout); > + System.err.println(pr.stderr); > + String s="java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)"; > + Assert.assertTrue(pr.stderr.contains(s)); > + String ss="ClassNotFoundException"; > + Assert.assertFalse("Stderr should not contains "+ss+" but did",pr.stderr.contains(ss)); > + Assert.assertFalse("stdout lenght should not be>2 but was "+pr.stdout.length(),pr.stdout.length()>2); > + Assert.assertFalse("should not be terminated but was",pr.wasTerminated); > + Assert.assertEquals((Integer)0, pr.returnValue); > + ServerAccess.ProcessResult pr2=server.executeJavawsHeadless(null,"/ReadProperties1.jnlp"); > + Assert.assertEquals(pr.stderr, pr2.stderr); > + Assert.assertEquals(pr.stdout, pr2.stdout); > + > + } > + } Cheers, Omair From andrew at icedtea.classpath.org Wed Sep 21 10:56:54 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 21 Sep 2011 17:56:54 +0000 Subject: /hg/icedtea7: 2 new changesets Message-ID: changeset 8301bc66941a in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=8301bc66941a author: Andrew John Hughes date: Wed Sep 21 18:50:13 2011 +0100 Enable checking for syscalls during configure and compiling against them. 2011-09-21 Andrew John Hughes * Makefile.am: (ICEDTEA_ENV): Set COMPILE_AGAINST_SYSCALLS if USE_SYSCALL_COMPILATION is set. * acinclude.m4: (IT_CHECK_FOR_SYSCALLS): Add --enable-compile- against-syscalls which checks for various syscalls (epolling, extended attributes, *at). * configure.ac: Call IT_CHECK_FOR_SYSCALLS. changeset e8227389e2e0 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=e8227389e2e0 author: Andrew John Hughes date: Wed Sep 21 18:56:43 2011 +0100 Bump to latest JDK repo. with Damian's CUPS build fix. 2011-09-21 Andrew John Hughes * Makefile.am: (JDK_CHANGESET): Include Damian's compilation fix for building without USE_SYSTEM_CUPS. (JDK_SHA256SUM): Likewise. diffstat: ChangeLog | 18 ++++++++++++++++++ Makefile.am | 9 +++++++-- acinclude.m4 | 21 +++++++++++++++++++++ configure.ac | 1 + 4 files changed, 47 insertions(+), 2 deletions(-) diffs (100 lines): diff -r 772a1342ad73 -r e8227389e2e0 ChangeLog --- a/ChangeLog Wed Sep 21 16:16:01 2011 +0100 +++ b/ChangeLog Wed Sep 21 18:56:43 2011 +0100 @@ -1,3 +1,21 @@ +2011-09-21 Andrew John Hughes + + * Makefile.am: + (JDK_CHANGESET): Include Damian's compilation fix + for building without USE_SYSTEM_CUPS. + (JDK_SHA256SUM): Likewise. + +2011-09-21 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_ENV): Set COMPILE_AGAINST_SYSCALLS + if USE_SYSCALL_COMPILATION is set. + * acinclude.m4: + (IT_CHECK_FOR_SYSCALLS): Add --enable-compile-against-syscalls + which checks for various syscalls (epolling, extended attributes, + *at). + * configure.ac: Call IT_CHECK_FOR_SYSCALLS. + 2011-09-21 Andrew John Hughes * Makefile.am: diff -r 772a1342ad73 -r e8227389e2e0 Makefile.am --- a/Makefile.am Wed Sep 21 16:16:01 2011 +0100 +++ b/Makefile.am Wed Sep 21 18:56:43 2011 +0100 @@ -6,7 +6,7 @@ HOTSPOT_CHANGESET = 1dd9b3d73b22 JAXP_CHANGESET = c40983d6ae70 JAXWS_CHANGESET = 83db5e316798 -JDK_CHANGESET = a8b6a570543b +JDK_CHANGESET = 0cb15650412a LANGTOOLS_CHANGESET = fb7fb3071b64 OPENJDK_CHANGESET = 3defd24c2671 @@ -14,7 +14,7 @@ HOTSPOT_SHA256SUM = ffb1831a63e950bb7ade46a5382cb71d2603e0f40b3f758eb346833e18fca150 JAXP_SHA256SUM = 6ab0cab1965edb28e4093b55436abd04fbffe0b0251016043c75246c4ee9dc2d JAXWS_SHA256SUM = 5567c90ce2857016365b2e346783a3b16ec0e76b80586a0371f601b4fed01f21 -JDK_SHA256SUM = bab2b25355dfb4300912b199eaf9633e693368e3fb671f1f6e9e08622079faeb +JDK_SHA256SUM = ef2310b4df9e8a7891b927846badadf5441df8ac6203a215c8ef1a7676dfee36 LANGTOOLS_SHA256SUM = 9ddc00ec50fd2f5e331dc2bc10da4e23b69bf644eb92d50b39a2003c18fb5aa1 OPENJDK_SHA256SUM = 4043a75c2c4385dd735f8dbbf2369311ce1b951217c9dbe9bba9609e24eb291e @@ -570,6 +570,11 @@ FONTCONFIG_CFLAGS="${FONTCONFIG_CFLAGS}" endif +if USE_SYSCALL_COMPILATION +ICEDTEA_ENV += \ + COMPILE_AGAINST_SYSCALLS="true" +endif + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ diff -r 772a1342ad73 -r e8227389e2e0 acinclude.m4 --- a/acinclude.m4 Wed Sep 21 16:16:01 2011 +0100 +++ b/acinclude.m4 Wed Sep 21 18:56:43 2011 +0100 @@ -2147,6 +2147,27 @@ AC_SUBST(CUPS_LIBS) ]) +AC_DEFUN_ONCE([IT_CHECK_FOR_SYSCALLS], +[ + AC_MSG_CHECKING([whether to build against the required syscalls]) + AC_ARG_ENABLE([compile-against-syscalls], + [AS_HELP_STRING(--enable-compile-against-syscalls,compile against syscalls [[default=yes]])], + [ + ENABLE_SYSCALL_COMPILATION="${enableval}" + ], + [ + ENABLE_SYSCALL_COMPILATION="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSCALL_COMPILATION}) + if test x"${ENABLE_SYSCALL_COMPILATION}" = "xyes"; then + dnl Check for syscalls + AC_CHECK_FUNCS([openat64 fstatat64 fgetxattr fsetxattr fremovexattr flistxattr unlinkat renameat futimesat fdopendir epoll_create epoll_ctl epoll_wait],, + [AC_MSG_ERROR([Could not find required syscalls; check config.log and use --disable-compile-against-syscalls if necessary.])]) + fi + AM_CONDITIONAL(USE_SYSCALL_COMPILATION, test x"${ENABLE_SYSCALL_COMPILATION}" = "xyes") + AC_SUBST(ENABLE_SYSCALL_COMPILATION) +]) + AC_DEFUN([IT_ENABLE_JAMVM], [ AC_MSG_CHECKING(whether to use JamVM as VM) diff -r 772a1342ad73 -r e8227389e2e0 configure.ac --- a/configure.ac Wed Sep 21 16:16:01 2011 +0100 +++ b/configure.ac Wed Sep 21 18:56:43 2011 +0100 @@ -174,6 +174,7 @@ IT_CHECK_FOR_GIO IT_CHECK_FOR_FONTCONFIG IT_CHECK_FOR_CUPS +IT_CHECK_FOR_SYSCALLS AC_CONFIG_FILES([remove-intree-libraries.sh]) dnl Check for Xproto headers and libraries. From omajid at redhat.com Wed Sep 21 13:49:19 2011 From: omajid at redhat.com (Omair Majid) Date: Wed, 21 Sep 2011 16:49:19 -0400 Subject: [icedtea-web] RFC: PR766 javaws fails to parse an node that contains CDATA In-Reply-To: <4E777F64.5090109@redhat.com> References: <4E73C784.6070602@redhat.com> <20110919170155.GC23975@redhat.com> <4E777F64.5090109@redhat.com> Message-ID: <4E7A4DCF.2080409@redhat.com> On 09/19/2011 01:44 PM, Omair Majid wrote: > On 09/19/2011 01:01 PM, Deepak Bhole wrote: >> * Omair Majid [2011-09-16 18:03]: >>> Hi, >>> >>> As explained in the bug report [1], icedtea-web ignores CDATA >>> sections in JNLP files. I dug into the parser code a bit and found a >>> few things. >>> >>> The code that sanitizes comments from jnlp files (sanitizeInput) >>> actually removes CDATA sections along with comments. This is >>> probably a bug. >>> >> >> Agreed. I don't know why CDATA is being thrown away either. >> >>> (As an aside, I suspect that the reason this is done separately from >>> the main parser is because the main parser is a rather strict XML >>> parser and some of the locations where comments can appear in jnlp >>> files are not accepted by the XML standard. See >>> https://bugzilla.redhat.com/show_bug.cgi?id=449160 for examples of >>> jnlp files that contain invalid comments) >>> >>> The NanoXML parser itself can parse and see CDATA sections. However, >>> it is not quite perfect. It has trouble parsing when CDATA sections >>> appear in certain places, or are surrounded by certain elements. >>> [snip] >> And the >> changes to handle CDATA will be in another patch? > > That's the plan. I will have to look into the code a little more before > I can figure out exactly what needs to be corrected. > [snip] > If you mean the parser in icedtea-web chokes on CDATA sections (or > handles these CDATA sections differently) - as shown in the test results > - then yes, that might be a problem. As stated above I intend to write a > patch with additional tests for this. As an additional precaution, I > would like to avoid backporting this patch to any of the release branches. > So I spent some time looking into it and it turns out that the version of NanoXML that we use does not support mixed content [1] - so it's not a problem with using CDATA sections, it's a problem with intermixing text and elements. The good news is that JNLP files should not contain mixed content. Nothing the Oracle's docs [2] suggests that mixed content can occur in JNLP files. Perhaps another thing to consider is that we have not seen any bugs filed about problems in jnlp files caused by mixed content. So this should not occur in practice. Of course, I could implement this, but it turns out that NanoXML/Lite (which is what was embedded in netx) does not support that pretty much by design [3]. NanoXML/Java does support that [3], but I am hesitant to swap out our parser like this. And if I were swapping out the parser, I would rather use a parser meant to handle malformed XML documents - like tagsoup [4] - along with a well-tested XML parser. In fact, after considering the matter, I would like push just the two patches I posted earlier in this thread and close the bug. Any thoughts or comments? Cheers, Omair [1] http://www.w3.org/TR/xml/#sec-mixed-content [2] http://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html [3] http://devkix.com/nanoxml.php [4] http://thread.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/11663 From bugzilla-daemon at icedtea.classpath.org Wed Sep 21 15:38:50 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 21 Sep 2011 22:38:50 +0000 Subject: [Bug 722] javaws fails to run signed application if unsigned files are present under META-INF/ In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=722 --- Comment #4 from Omair Majid 2011-09-21 22:38:50 --- Looks like older versions of jarsigner did not sign anything under META-INF/ : https://bugzilla.redhat.com/show_bug.cgi?id=738811#c12 So ignoring the signature of all files located under META-INF/ seems like the "right" solution to ensure compatibility, even though it sounds bad from a security point of view. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From ahughes at redhat.com Wed Sep 21 16:17:47 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 22 Sep 2011 00:17:47 +0100 Subject: Elumination is not working with icedtea web. In-Reply-To: <4E7A0437.6080606@redhat.com> References: <4E7A0437.6080606@redhat.com> Message-ID: <20110921231747.GF5301@rivendell.middle-earth.co.uk> On 17:35 Wed 21 Sep , Jiri Vanek wrote: > I'm afraid I do not have icedtea bugezila account, can you please post this bug? > Why not? Please create one. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From bugzilla-daemon at icedtea.classpath.org Wed Sep 21 21:43:49 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 04:43:49 +0000 Subject: [Bug 787] New: IcedTea javac fails to compile certain generic expressions (Reduced test case included) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=787 Summary: IcedTea javac fails to compile certain generic expressions (Reduced test case included) Product: IcedTea Version: 6-1.10.3 Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: alecm at gmx.com Created an attachment (id=570) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=570) Reduced test case The attached test case was derived from IntelliJ IDEA, which fails to build using IcedTea. The same case works fine with Sun JDK. Does not work with IcedTea: $ java -version java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.3) (Gentoo build 1.6.0_22-b22) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) $ javac IcedTeaTest.java IcedTeaTest.java:9: incompatible types; no instance(s) of type variable(s) T exist so that java.util.Iterator conforms to java.util.Iterator found : java.util.Iterator required: java.util.Iterator return TestIterator.create(bar()); ^ 1 error Works with Sun JDK $ java -version java version "1.6.0_27" Java(TM) SE Runtime Environment (build 1.6.0_27-b07) Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode) $ javac IcedTeaTest.java $ ls IcedTeaTest.class IcedTeaTest.java TestIterator.class -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From mark at klomp.org Thu Sep 22 02:57:21 2011 From: mark at klomp.org (Mark Wielaard) Date: Thu, 22 Sep 2011 11:57:21 +0200 Subject: Elumination is not working with icedtea web. In-Reply-To: <4E7A0437.6080606@redhat.com> References: <4E7A0437.6080606@redhat.com> Message-ID: <1316685441.3319.7.camel@springer.wildebeest.org> Hi Jiri, On Wed, 2011-09-21 at 17:35 +0200, Jiri Vanek wrote: > I'm afraid I do not have icedtea bugezila account Doesn't http://icedtea.classpath.org/bugzilla/createaccount.cgi work for you? Please let me know of any troubles and I take a look at what might be wrong. Thanks, Mark From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 03:22:54 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 10:22:54 +0000 Subject: [Bug 788] New: Elumination is not working Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=788 Summary: Elumination is not working Product: IcedTea-Web Version: unspecified Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P5 Component: NetX AssignedTo: omajid at redhat.com ReportedBy: jvanek at redhat.com CC: unassigned at icedtea.classpath.org, jvanek at redhat.com Recently I was running Elumination session, but I was unable to run it with Icedtea-web: (f15, java version "1.6.0_22"OpenJDK Runtime Environment (IcedTea6 1.10.3) (fedora-59.1.10.3.fc15-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)) for IcedteaWeb installed by yum (1.0.4-1.fc15), all jars were downlaoded, application lunched, all modules loaded, gui started, then I wass asked for accepting license but during it nullpointer exception occured: [jvanek at jvanek dta]$ javaws meeting.jnlp Application error in VClass.: Wrong time zone! Changing from UTC to CEST TimeZone = CEST Loaded native library JINECELP, version 1.8 AudioBean.loadPreferences: audio.inputDevice = null AudioBean.loadPreferences: audio.outputDevice = null AudioEngine.setMikeSampRate: Preferred mike sampling rate set to 44100 AudioEngine.setSpkrSampRate: Preferred spkr sampling rate set to 44100 Loaded X11AppSharing native lib, version 1.1.3 Loaded native library LinuxVideo, version 2.0 Application Exception in VClassLayoutController$12.run: Exception Trace - java.lang.NullPointerException at sun.awt.X11.XWindowPeer.restoreTransientFor(XWindowPeer.java:1681) at sun.awt.X11.XWindowPeer.removeFromTransientFors(XWindowPeer.java:1747) at sun.awt.X11.XWindowPeer.setModalBlocked(XWindowPeer.java:1469) at sun.awt.X11.XWindowPeer.setModalBlocked(XWindowPeer.java:1440) at java.awt.Window.setModalBlocked(Window.java:1359) at java.awt.Dialog.unblockWindow(Dialog.java:1597) at java.awt.Window.hide(Window.java:981) at com.elluminate.vclass.client.layout.VClassLayoutController$12.run(VClassLayoutController.java:2023) at com.elluminate.gui.SwingRunnerExecute$SwingWrapper.run(SwingRunnerExecute.java:110) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647) at java.awt.EventQueue.access$000(EventQueue.java:96) at java.awt.EventQueue$1.run(EventQueue.java:608) at java.awt.EventQueue$1.run(EventQueue.java:606) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:617) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1072) This seems like behaviour described here: https://bugzilla.redhat.com/show_bug.cgi?id=730015 Then I tried head (changeset 287:e9a9792ee189) by sudo make install and (sudo) .../bin/javaws meeting.jnlp: make[1]: Leaving directory `/home/jvanek/Desktop/icedtea-web' [jvanek at jvanek icedtea-web]$ /usr/local/bin/javaws ~/Desktop/dta/meeting.jnlp Application error in VClass.: Wrong time zone! Changing from UTC to CEST TimeZone = CEST Application Exception in Main$1.run: Exception Trace - java.lang.NullPointerException: Could not locate jar file, returned null at net.sourceforge.jnlp.runtime.JNLPClassLoader.checkForMain(JNLPClassLoader.java:590) at net.sourceforge.jnlp.runtime.JNLPClassLoader.addNextResource(JNLPClassLoader.java:1511) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClassExt(JNLPClassLoader.java:1392) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1260) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at com.elluminate.vclass.client.AbstractModularApp.loadModule(AbstractModularApp.java:810) at com.elluminate.vclass.client.AbstractModularApp.loadModules(AbstractModularApp.java:769) at com.elluminate.vclass.client.VClass.launch(VClass.java:838) at com.elluminate.vclass.client.VClass.launch(VClass.java:159) at com.elluminate.vclass.client.Main$1.run(Main.java:102) at com.elluminate.gui.SwingRunnerExecute$SwingWrapper.run(SwingRunnerExecute.java:110) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647) at java.awt.EventQueue.access$000(EventQueue.java:96) at java.awt.EventQueue$1.run(EventQueue.java:608) at java.awt.EventQueue$1.run(EventQueue.java:606) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:617) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) jnlp file used for this application: Elluminate Live! Elluminate Inc Elluminate Live! Virtual Room -url ssljinx://el19.elluminate.com:2187/redhat|MBU QE TEAM MEETING#M.D45697313849F1231324B67E1E64E4 -user jvanek 2#7FB48009AA050104DAA9727F553898E9 7FB48009AA050104DAA9727F553898E9 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From ptisnovs at redhat.com Thu Sep 22 05:37:21 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 22 Sep 2011 14:37:21 +0200 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 Message-ID: <4E7B2C01.4020500@redhat.com> Greetings, there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. Config log & shell script used to build IcedTea7 is stored in an attachment. Error message (stripped from stdout and stderr): gcc -O3 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -g -DNDEBUG -DARCH='"amd64"' -Damd64 -DLINUX -DRELEASE='"1.7.0_147-icedtea"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/jck/icedtea7/openjdk.build/tmp/java/java.nio/nio/CClassHeaders -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/native/sun/nio/ch -I../../../src/share/native/java/io -I../../../src/share/native/java/net -I../../../src/solaris/native/java/net -I/jck/icedtea7/openjdk.build/tmp/java/java.nio/nio/CClassHeaders/../../../java.lang/java/CClassHeaders -I../../../src/solaris/native/common/deps/glib2 -DCOMPILE_AGAINST_SYSCALLS -I../../../src/share/native/common -I../../../src/solaris/native/common -I../../../src/share/native/java/nio -I../../../src/solaris/native/java/nio -c -o /jck/icedtea7/openjdk.build/tmp/java/java.nio/nio/obj64/LinuxNativeDispatcher.o ../../../src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c ../../../src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c:40:24: error: attr/xattr.h: No such file or directory ../../../src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c: In function 'Java_sun_nio_fs_LinuxNativeDispatcher_fgetxattr0': ../../../src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c:69: warning: implicit declaration of function 'fgetxattr' ../../../src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c: In function 'Java_sun_nio_fs_LinuxNativeDispatcher_fsetxattr0': ../../../src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c:83: warning: implicit declaration of function 'fsetxattr' ../../../src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c: In function 'Java_sun_nio_fs_LinuxNativeDispatcher_fremovexattr0': ../../../src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c:95: warning: implicit declaration of function 'fremovexattr' ../../../src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c: In function 'Java_sun_nio_fs_LinuxNativeDispatcher_flistxattr': ../../../src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c:107: warning: implicit declaration of function 'flistxattr' Pavel -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: config.log Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110922/cbaa3180/config.log -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea7.sh Type: application/x-shellscript Size: 500 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110922/cbaa3180/icedtea7.sh From jvanek at redhat.com Thu Sep 22 05:52:47 2011 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 22 Sep 2011 14:52:47 +0200 Subject: [RFC][icedtea-web] extend reproducers engine for signed applications In-Reply-To: <4E7A1717.8000302@redhat.com> References: <4E78A650.4090706@redhat.com> <4E78E5D0.8050403@redhat.com> <4E79BA4E.6080705@redhat.com> <4E7A1717.8000302@redhat.com> Message-ID: <4E7B2F9F.6070501@redhat.com> On 09/21/2011 06:55 PM, Omair Majid wrote: > On 09/21/2011 06:19 AM, Jiri Vanek wrote: >> On 09/20/2011 09:13 PM, Omair Majid wrote: >>> On 09/20/2011 10:42 AM, Jiri Vanek wrote: >>>> Hi! >> ... >>>> "accepted" to icedtea-web. >>>> I was afraid, tahat -XtrustAll could be misused in way described in >>>> ReadPropertiesBySignedHack (included in *xtrustAllHack*) - that ... >> including it). >> > > It's really up to you. If you want to add it, I will be happy to review it. added again > >>> >>>> @@ -635,6 +665,20 @@ >... >> > > It might be better to use autoconf for this. See jrunscript for an example. It's okay to do that as a separate patch though. This is fine for now. Ok, thank you. > ... > > 80 (or something else that is somewhat reasonable) columns please. done > >> +public class ReadPropertiesSigned { >> + >> +/** >> +*some system property is expected as arg[0], eg user.name or user.home >> +*/ > > Indentation is a little off. > >> + public static void main(String[] args) { >> + System.out.println(System.getProperty(args[0])); >> + } >> +} >> diff -r e9a9792ee189 tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java >> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >> +++ b/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Wed Sep 21 11:03:01 2011 +0200 >> +public class ReadPropertiesSignedTest { >> + >> + private static ServerAccess server = new ServerAccess(); >> + private final List l=Collections.unmodifiableList(Arrays.asList(new String[] {"-Xtrustall"})); >> + >> + >> + public ReadPropertiesSignedTest() { >> + >> + } >> + > > Perhaps this can be removed? > done >> + ... >> + } >> + >> + @Test > > Formatting issue? done ( I hope all formating issues are now ok.) > >> + public void EnsureXtrustallNotAffectingUnsignedBehaviour() throws Exception { ...>> + } > > Cheers, > Omair Changes to last patch -formatting issues -removed empty constructors -added again xtrustAllHack In your responses there is no criticism for xtrustAll patch. Is it ok to push? Also in last response there is no criticism of signed reproducers engine itself - ok to push? Also I hope signedReproducersExample willbe finally ok. Thanx a lot! J. changelogs: signedReproducersEngine: 2011-09-22 Jiri Vanek Added signed reproducers engine *Makefile.am added variable KEYSTORE_NAME (stamps/junit-jnlp-dist-dirs): creates stamp and depend on next two targets (junit-jnlp-dist-simple.txt): creates list of simple reproducers, extracted from ^ (junit-jnlp-dist-signed.txt): creates list of signed reproducers (stamps/netx-dist-tests-prepare-reproducers.stamp): now traverse over signed and simple (stamps/netx-dist-tests-sign-some-reproducers.stamp): depends on ^, traverse through signed reproducers and sign them (stamps/netx-dist-tests-compile-testcases.stamp): now traverse over signed and simple (stamps/bootstrap-directory.stamp): creates symlinks/stubs to jarsigner and keytool (clean-netx-dist-tests):remove new stamps, signed and simple list and keysstore *acinclude.m4: declared to proceed IT_FIND_KEYTOOL and IT_FIND_JARSIGNER macro *configure.ac: declared macros to check for keytool and jarsigner *tests/jnlp_tests/README: mentioned signed directory xtrustAll: 2011-09-22 Jiri Vanek *netx/net/sourceforge/jnlp/runtime/Boot.java: (main): added logic to handle -Xtrustall option *netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: declared private static boolean trustAll=false; with public getter and pkg.private setter *netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (checkTrustWithUser): modified, when XtrustAll declared, then user is not asked and certificate is trusted *netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: (askUser): --||-- xtrustAllHack: 2011-09-22 Jiri Vanek *tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp: jnlp file to lunch ReadPropertiesBySignedHack, notice please dependenci on ReadProperties.jar from simple reproducers *tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java - this reproducers verify, that even reflection-by enabled XtrustAll will not allow to lunch unsigned code *tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java: testcase for ^ signedReproducersExample: 2011-09-22 Jiri Vanek *tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp: *tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp: *tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: *tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java: ^,^^, ^^^ example of signed reproducer *tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java: now prints out got variable for comparsion with ^ -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: xtrustAllHack Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110922/374a5e90/xtrustAllHack.ksh -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: xtrustAll Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110922/374a5e90/xtrustAll.ksh -------------- next part -------------- diff -r e9a9792ee189 Makefile.am --- a/Makefile.am Thu Sep 15 15:27:40 2011 +0200 +++ b/Makefile.am Thu Sep 22 14:29:14 2011 +0200 @@ -22,6 +22,7 @@ JNLP_TESTS_ENGINE_DIR=$(TESTS_DIR)/netx/jnlp_testsengine JNLP_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/jnlp_test_server JNLP_TESTS_DIR=$(TESTS_DIR)/jnlp_tests +KEYSTORE_NAME=teststore.ks JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar @@ -455,39 +456,61 @@ @junit-runner-source-files.txt && \ $(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) . -junit-jnlp-dist-dirs.txt: +stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt junit-jnlp-dist-signed.txt mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR) mkdir -p $(JNLP_TESTS_DIR) mkdir -p $(JNLP_TESTS_ENGINE_DIR) + touch $@ + +junit-jnlp-dist-simple.txt: cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ -stamps/netx-dist-tests-prepare-reproducers.stamp: junit-jnlp-dist-dirs.txt - simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-dirs.txt `); \ - for dir in "$${simpleReproducers[@]}" ; do \ - echo "processing: $$dir" ; \ - mkdir -p $(JNLP_TESTS_DIR)/$$dir ; \ - d=`pwd` ; \ - cd $(JNLP_TESTS_SRCDIR)/simple/$$dir/srcs/ ; \ - srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ - notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ - $(BOOT_DIR)/bin/javac -d $(JNLP_TESTS_DIR)/$$dir/ $$srcFiles ; \ - if [ -n "$$notSrcFiles" ] ; then \ - cp -R --parents $$notSrcFiles $(JNLP_TESTS_DIR)/$$dir/ ; \ - fi ; \ - cd $(JNLP_TESTS_DIR)/$$dir/ ; \ - $(BOOT_DIR)/bin/jar cf $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar * ; \ - cd $$d ; \ - cp -R $(JNLP_TESTS_SRCDIR)/simple/$$dir/resources/* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ +junit-jnlp-dist-signed.txt: + cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ + find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ + +stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + for dir in "$${simpleReproducers[@]}" ; do \ + echo "processing: $$dir" ; \ + mkdir -p $(JNLP_TESTS_DIR)/$$dir ; \ + d=`pwd` ; \ + cd $(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/ ; \ + srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ + notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ + $(BOOT_DIR)/bin/javac -d $(JNLP_TESTS_DIR)/$$dir/ $$srcFiles ; \ + if [ -n "$$notSrcFiles" ] ; then \ + cp -R --parents $$notSrcFiles $(JNLP_TESTS_DIR)/$$dir/ ; \ + fi ; \ + cd $(JNLP_TESTS_DIR)/$$dir/ ; \ + $(BOOT_DIR)/bin/jar cf $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar * ; \ + cd $$d ; \ + cp -R $(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ + done ; \ done ; \ mkdir -p stamps && \ touch $@ +stamps/netx-dist-tests-sign-some-reproducers.stamp: stamps/netx-dist-tests-prepare-reproducers.stamp + alias=icedteaweb; \ + keystore=$(abs_top_builddir)/$(KEYSTORE_NAME); \ + pass=123456789; \ + $(BOOT_DIR)/bin/keytool -genkey -alias $$alias -keystore $$keystore -keypass $$pass -storepass $$pass -dname "cn=$$alias, ou=$$alias, o=$$alias, c=$$alias" ; \ + signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-signed.txt `); \ + for dir in "$${signedReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $$pass -keypass $$pass $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar $$alias ; \ + done ; \ + mkdir -p stamps && \ + touch $@ + netx-dist-tests-source-files.txt: find $(JNLP_TESTS_ENGINE_SRCDIR) -name '*.java' | sort > $@ stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \ - junit-jnlp-dist-dirs.txt netx-dist-tests-source-files.txt + stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(JNLP_TESTS_ENGINE_DIR) \ -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ @@ -495,19 +518,22 @@ mkdir -p stamps && \ touch $@ -stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp junit-jnlp-dist-dirs.txt\ +stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp - simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-dirs.txt `); \ - for dir in "$${simpleReproducers[@]}" ; do \ - $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ - $(JNLP_TESTS_SRCDIR)/simple/$$dir/testcases/* ; \ + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + for dir in "$${simpleReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(JNLP_TESTS_ENGINE_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ + $(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/* ; \ + done ; \ done ; \ mkdir -p stamps && \ touch $@ -run-netx-dist-tests: all-local stamps/netx.stamp junit-jnlp-dist-dirs.txt stamps/netx-dist-tests-prepare-reproducers.stamp \ +run-netx-dist-tests: all-local stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-sign-some-reproducers.stamp \ stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) cd $(JNLP_TESTS_ENGINE_DIR) ; \ class_names= ; \ @@ -590,10 +616,14 @@ rm -rf $(JNLP_TESTS_DIR) rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR) rm -rf $(JNLP_TESTS_ENGINE_DIR) + rm -f stamps/junit-jnlp-dist-dirs rm -f stamps/netx-dist-tests-compile.stamp rm -f stamps/netx-dist-tests-prepare-reproducers.stamp rm -f stamps/netx-dist-tests-compile-testcases.stamp - rm -f junit-jnlp-dist-dirs.txt + rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp + rm -f junit-jnlp-dist-simple.txt + rm -f junit-jnlp-dist-signed.txt + rm -f $(abs_top_builddir)/$(KEYSTORE_NAME) # plugin tests @@ -635,6 +665,20 @@ ln -sf $(JAR) $(BOOT_DIR)/bin/jar ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc + if [ -e "$(KEYTOOL)" ] ; then \ + ln -sf $(KEYTOOL) $(BOOT_DIR)/bin/keytool ;\ + else \ + echo "#! /bin/sh" > $(BOOT_DIR)/bin/keytool ;\ + echo "echo \"keytool not exist on your system, signed part of reproducers test will fail\"" >> $(BOOT_DIR)/bin/keytool ;\ + chmod 777 $(BOOT_DIR)/bin/keytool ;\ + fi + if [ -e "$(JARSIGNER)" ] ; then \ + ln -sf $(JARSIGNER) $(BOOT_DIR)/bin/jarsigner ;\ + else \ + echo "#! /bin/sh" > $(BOOT_DIR)/bin/jarsigner ;\ + echo "echo \"jarsigner not exist on your system, signed part of reproducers test will fail\"" >> $(BOOT_DIR)/bin/jarsigner ;\ + chmod 777 $(BOOT_DIR)/bin/jarsigner ;\ + fi mkdir -p $(BOOT_DIR)/jre/lib && \ ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib && \ if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \ diff -r e9a9792ee189 acinclude.m4 --- a/acinclude.m4 Thu Sep 15 15:27:40 2011 +0200 +++ b/acinclude.m4 Thu Sep 22 14:29:14 2011 +0200 @@ -655,6 +655,64 @@ AC_SUBST(JAVA) ]) +AC_DEFUN_ONCE([IT_FIND_KEYTOOL], +[ + AC_REQUIRE([IT_CHECK_FOR_JDK]) + AC_MSG_CHECKING([for keytool]) + AC_ARG_WITH([keytool], + [AS_HELP_STRING(--with-keytool,specify location of keytool for signed part of run-netx-dist)], + [ + if test "${withval}" = "yes" ; then + KEYTOOL=${SYSTEM_JDK_DIR}/bin/keytool + else + KEYTOOL="${withval}" + fi + ], + [ + KEYTOOL=${SYSTEM_JDK_DIR}/bin/keytool + ]) + if ! test -f "${KEYTOOL}"; then + AC_PATH_PROG(KEYTOOL, keytool) + fi + if ! test -f "${KEYTOOL}"; then + KEYTOOL="" + fi + if test -z "${KEYTOOL}" ; then + AC_MSG_WARN("keytool not found so signed part of run-netx-dist will fail") + fi + AC_MSG_RESULT(${KEYTOOL}) + AC_SUBST(KEYTOOL) +]) + +AC_DEFUN_ONCE([IT_FIND_JARSIGNER], +[ + AC_REQUIRE([IT_CHECK_FOR_JDK]) + AC_MSG_CHECKING([for jarsigner]) + AC_ARG_WITH([jarsigner], + [AS_HELP_STRING(--with-jarsigner,specify location of jarsigner for signed part od run-netx-dist)], + [ + if test "${withval}" = "yes" ; then + JARSIGNER=${SYSTEM_JDK_DIR}/bin/jarsigner + else + JARSIGNER="${withval}" + fi + ], + [ + JARSIGNER=${SYSTEM_JDK_DIR}/bin/jarsigner + ]) + if ! test -f "${JARSIGNER}"; then + AC_PATH_PROG(JARSIGNER, jarsigner,"") + fi + if ! test -f "${JARSIGNER}"; then + JARSIGNER="" + fi + if test -z "${JARSIGNER}"; then + AC_MSG_WARN("jarsigner not found so signed part of run-netx-dist will fail") + fi + AC_MSG_RESULT(${JARSIGNER}) + AC_SUBST(JARSIGNER) +]) + AC_DEFUN([IT_FIND_JAVADOC], [ AC_REQUIRE([IT_CHECK_FOR_JDK]) diff -r e9a9792ee189 configure.ac --- a/configure.ac Thu Sep 15 15:27:40 2011 +0200 +++ b/configure.ac Thu Sep 22 14:29:14 2011 +0200 @@ -33,6 +33,8 @@ FIND_JAR FIND_ECJ_JAR IT_FIND_JAVADOC +IT_FIND_KEYTOOL +IT_FIND_JARSIGNER AC_CONFIG_FILES([javac], [chmod +x javac]) IT_SET_VERSION diff -r e9a9792ee189 tests/jnlp_tests/README --- a/tests/jnlp_tests/README Thu Sep 15 15:27:40 2011 +0200 +++ b/tests/jnlp_tests/README Thu Sep 22 14:29:14 2011 +0200 @@ -1,2 +1,10 @@ -Each file in directory simple must follows naming convention and is compiled/jared automatically into server's working directory and content of resources likewise. The name of jnlp is independent, and there can be even more jnlps for each future jar. Directories should be honored in srcs and in resources, but noty in testcases. -Files in advanced directory have to care about themselves, but even those can have some parts inside simple directory, so some parts of them are processed automatically. There are three reproducers ? simpletest1, simpletest2 and deadlocktest, which tests test?s suite itself and serve as examples of behaviour. +Each file in directory simple must follows hierarchy conventions and is compiled/jared + automatically into server's working directory and content of resources likewise. + The name of jnlp is independent, and there can be even more jnlps for each future jar. +Directories are honored in srcs and in resources, but noty in testcases. +Directories in signed hande their content in similar way as simle's content is handled, + but in addition final jars are signed with simple testkey. +Files in advanced directory have to care about themselves, but even those can have some + parts inside simple directory, so some parts of them are processed automatically. + There are three reproducers ? simpletest1, simpletest2 and deadlocktest, which tests + test?s suite itself and serve as examples of behaviour. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: signedReproducersExample Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110922/374a5e90/signedReproducersExample.ksh From dbhole at redhat.com Thu Sep 22 06:16:13 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 22 Sep 2011 09:16:13 -0400 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <4E7B2C01.4020500@redhat.com> References: <4E7B2C01.4020500@redhat.com> Message-ID: <20110922131613.GB26948@redhat.com> * Pavel Tisnovsky [2011-09-22 08:37]: > Greetings, > > there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. > > Config log & shell script used to build IcedTea7 is stored in an attachment. > Is libattr-devel installed on the system? Cheers, Deepak From ptisnovs at redhat.com Thu Sep 22 06:55:32 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 22 Sep 2011 15:55:32 +0200 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <20110922131613.GB26948@redhat.com> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> Message-ID: <4E7B3E54.8030201@redhat.com> Deepak Bhole wrote: > * Pavel Tisnovsky [2011-09-22 08:37]: >> Greetings, >> >> there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. >> >> Config log & shell script used to build IcedTea7 is stored in an attachment. >> > > Is libattr-devel installed on the system? Nope (and ./configure did not complaint ;-). I've installed it and trying to build IcedTea7 again. Maybe it's the right moment to update the wiki page http://icedtea.classpath.org/wiki/BuildRequirements Do you think it's a good idea to split this page to IcedTea6 part and IcedTea7(8) part? Cheers, Pavel > > Cheers, > Deepak From omajid at redhat.com Thu Sep 22 07:19:35 2011 From: omajid at redhat.com (Omair Majid) Date: Thu, 22 Sep 2011 10:19:35 -0400 Subject: [RFC][icedtea-web] extend reproducers engine for signed applications In-Reply-To: <4E7B2F9F.6070501@redhat.com> References: <4E78A650.4090706@redhat.com> <4E78E5D0.8050403@redhat.com> <4E79BA4E.6080705@redhat.com> <4E7A1717.8000302@redhat.com> <4E7B2F9F.6070501@redhat.com> Message-ID: <4E7B43F7.8030704@redhat.com> On 09/22/2011 08:52 AM, Jiri Vanek wrote: > done ( I hope all formating issues are now ok.) I can still see a few formatting problems. Could you please fix them? > Changes to last patch > -formatting issues > -removed empty constructors > -added again xtrustAllHack > > In your responses there is no criticism for xtrustAll patch. Is it ok to > push? Also in last response there is no criticism of signed reproducers > engine itself - ok to push? After fixing changelog (explained below), and the formatting issues, please go ahead and commit. > > changelogs: > Please wrap changelogs at 80 columns. There should be a space between * and the file name. You might also find the docs at http://herbert.the-little-red-haired-girl.org/html/standards/standards_6.html#SEC31 useful. > signedReproducersEngine: > 2011-09-22 Jiri Vanek > > Added signed reproducers engine > *Makefile.am added variable KEYSTORE_NAME > (stamps/junit-jnlp-dist-dirs): creates stamp and depend on next two > targets > (junit-jnlp-dist-simple.txt): creates list of simple reproducers, > extracted from ^ > (junit-jnlp-dist-signed.txt): creates list of signed reproducers > (stamps/netx-dist-tests-prepare-reproducers.stamp): now traverse > over signed and simple > (stamps/netx-dist-tests-sign-some-reproducers.stamp): depends on ^, > traverse through signed reproducers and sign them Please try and avoid '^'. > (stamps/netx-dist-tests-compile-testcases.stamp): now traverse over > signed and simple > (stamps/bootstrap-directory.stamp): creates symlinks/stubs to > jarsigner and keytool > (clean-netx-dist-tests):remove new stamps, signed and simple list > and keysstore > *acinclude.m4: declared to proceed IT_FIND_KEYTOOL and > IT_FIND_JARSIGNER macro > *configure.ac: declared macros to check for keytool and jarsigner > *tests/jnlp_tests/README: mentioned signed directory > > xtrustAll: > 2011-09-22 Jiri Vanek > > *netx/net/sourceforge/jnlp/runtime/Boot.java: (main): added logic > to handle -Xtrustall option > *netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: declared > private static boolean trustAll=false; with public getter and > pkg.private setter > *netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: > (checkTrustWithUser): modified, when XtrustAll declared, then user is > not asked and certificate is trusted > *netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: > (askUser): --||-- > Not sure what --||-- means.... > +public class ReadPropertiesBySignedHack { > + > + /** > + *some system property is expected as arg[0], eg user.name or user.home > + */ > + public static void main(String[] args) throws Throwable { > + //security manager is not protecting us from accessing classes from > + //net.sourceforge.jnlp.runtime via reflection > + Class c2= Class.forName("net.sourceforge.jnlp.runtime.JNLPRuntime"); > + Field f2 = c2.getDeclaredField("trustAll"); > + f2.setAccessible(true); > + f2.setBoolean(null, true); > + Method m2=c2.getDeclaredMethod("setTrustAll",Boolean.TYPE); > + m2.setAccessible(true); > + m2.invoke((Object) null, true ); > + //but security manager is guarding us against lunching unsigned code > + //from signed archvive even if Xtrustall is on. > + Class c1= Class.forName("ReadProperties"); > + Method m1=c1.getDeclaredMethod("main",args.getClass()); > + m1.invoke((Object) null, (Object)args); > + } > + Formatting looks a little off (mixed 4 space and 8 space indentation?). > diff -r e9a9792ee189 netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java > --- a/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Thu Sep 15 15:27:40 2011 +0200 > +++ b/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Thu Sep 22 14:29:14 2011 +0200 > @@ -53,6 +53,7 @@ > import sun.security.validator.ValidatorException; > > import com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager; > +import net.sourceforge.jnlp.runtime.JNLPRuntime; > > import net.sourceforge.jnlp.security.SecurityDialogs.AccessType; > > @@ -382,6 +383,9 @@ > private boolean askUser(X509Certificate[] chain, String authType, > boolean isTrusted, boolean hostMatched, > String hostName) { > + if (JNLPRuntime.isTrustAll()){ > + return true; > + } Formatting looks a little off here too. > return SecurityDialogs.showCertWarningDialog( > AccessType.UNVERIFIED, null, > new HttpsCertVerifier(this, chain, authType, > Cheers, Omair From ptisnovs at redhat.com Thu Sep 22 07:21:41 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 22 Sep 2011 16:21:41 +0200 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <20110922131613.GB26948@redhat.com> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> Message-ID: <4E7B4475.4040007@redhat.com> Deepak Bhole wrote: > * Pavel Tisnovsky [2011-09-22 08:37]: >> Greetings, >> >> there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. >> >> Config log & shell script used to build IcedTea7 is stored in an attachment. >> > > Is libattr-devel installed on the system? > > Cheers, > Deepak Hi Deepak, I'm an one step closer to a successful build :-) but I think I know what's the cause of following error: gcc -O2 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -g -DNDEBUG -DARCH='"amd64"' -Damd64 -DLINUX -DRELEASE='"1.7.0_147-icedtea"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/CClassHeaders -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/native/common -I../../../src/solaris/native/common -I../../../src/share/native/sun/awt/X11 -I../../../src/solaris/native/sun/awt/X11 -I/usr/include -DXAWT -DXAWT_HACK -I/jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/../../sun.awt/awt/CClassHeaders -I../../../src/solaris/native/sun/awt -I../../../src/solaris/native/sun/xawt -I../../../src/solaris/native/sun/jdga -I../../../src/share/native/sun/awt/debug -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/java2d -I../../../src/share/native/sun/java2d/loops -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/awt/image -I../../../src/share/native/sun/font -I../../../src/solaris/native/sun/java2d -I../../../src/share/native/sun/java2d/pipe -I../../../src/share/native/sun/java2d/opengl -I../../../src/solaris/native/sun/java2d/opengl -I../../../src/solaris/native/sun/java2d/x11 -I../../../src/share/native/sun/dc/path -I../../../src/share/native/sun/dc/doe -I../../../src/share/native/sun/awt/alphacomposite -I../../../src/share/native/sun/awt/medialib -I../../../src/solaris/native/sun/awt/medialib -I../../../src/solaris/native/sun/font -I../../../src/share/native/sun/awt -I../../../src/solaris/native/sun/awt -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -DUSE_SYSTEM_GTK -DUSE_SYSTEM_CUPS -DUSE_SYSTEM_FONTCONFIG -I../../../src/solaris/native/common/deps/glib2 -I/usr/X11R6/include/X11/extensions -I/usr/include/X11/extensions -I/usr/X11R6//include -Xlinker -O1 -Xlinker -version-script=mapfile-vers -Wl,--hash-style=both -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN/.. -Xlinker -z -Xlinker defs -L/jck/icedtea7/openjdk.build/lib/amd64 -Wl,-soname=libmawt.so -L/usr/X11R6//lib64 -lpthread -shared -mimpure-text -o /jck/icedtea7/openjdk.build/lib/amd64/xawt/libmawt.so /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/XlibWrapper.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/XWindow.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/XToolkit.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11Color.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11SurfaceData.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_GraphicsEnv.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_InputMethod.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/robot_common.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Robot.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/list.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/multiVis.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/initIDs.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_util.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Desktop.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_UNIXToolkit.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11FontScaler_md.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11TextRenderer_md.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/fontpath.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Insets.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Event.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11Renderer.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11PMBlitLoops.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLBlitLoops.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLBufImgOps.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLContext.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLFuncs.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLMaskBlit.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLMaskFill.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLPaints.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLRenderQueue.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLRenderer.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLSurfaceData.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLTextRenderer.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLVertexCache.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/GLXGraphicsConfig.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/GLXSurfaceData.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/AccelGlyphCache.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Font.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/multi_font.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_AWTEvent.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_DrawingSurface.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/jawt.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/CUPSfuncs.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/debug_assert.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/debug_mem.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/debug_trace.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/debug_util.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Plugin.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/gtk2_interface.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/swing_GTKEngine.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/swing_GTKStyle.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/rect.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/sun_awt_X11_GtkFileDialogPeer.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/XRSurfaceData.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/XRBackendNative.o /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/gio_fp.o -lm -lawt -lXext -lX11 -lXrender -ldl -Wl,--hash-style=both -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN/.. -Xlinker -z -Xlinker defs -L/jck/icedtea7/openjdk.build/lib/amd64 -Wl,-soname=libmawt.so -lXtst -lXi -L/lib64 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lcups -lfontconfig -ljava -L/jck/icedtea7/openjdk.build/lib/amd64/server -ljvm -lc /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/gtk2_interface.o: In function `gtk2_load': /jck/icedtea7/openjdk/jdk/make/sun/xawt/../../../src/solaris/native/sun/awt/gtk2_interface.c:218: undefined reference to `g_thread_init' collect2: ld returned 1 exit status From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 08:22:54 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 15:22:54 +0000 Subject: [Bug 789] New: typo in jrunscript.sh Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=789 Summary: typo in jrunscript.sh Product: IcedTea-Web Version: unspecified Platform: all OS/Version: FreeBSD Status: NEW Severity: trivial Priority: P5 Component: General AssignedTo: unassigned at icedtea.classpath.org ReportedBy: lhersch at dssgmbh.de CC: unassigned at icedtea.classpath.org Created an attachment (id=571) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=571) patch to fix typo in jrunscript.sh typo in if-clause in jrunscript.sh -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. You are the assignee for the bug. From dbhole at redhat.com Thu Sep 22 08:49:20 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 22 Sep 2011 11:49:20 -0400 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <4E7B3E54.8030201@redhat.com> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B3E54.8030201@redhat.com> Message-ID: <20110922154919.GC26948@redhat.com> * Pavel Tisnovsky [2011-09-22 09:53]: > Deepak Bhole wrote: > > * Pavel Tisnovsky [2011-09-22 08:37]: > >> Greetings, > >> > >> there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. > >> > >> Config log & shell script used to build IcedTea7 is stored in an attachment. > >> > > > > Is libattr-devel installed on the system? > > Nope (and ./configure did not complaint ;-). I've installed it and trying to build IcedTea7 again. > > Maybe it's the right moment to update the wiki page http://icedtea.classpath.org/wiki/BuildRequirements > > Do you think it's a good idea to split this page to IcedTea6 part and IcedTea7(8) part? > Hi Pavel, Are the requirements radically different? From what I've seen, they are very similar if not the same for v6 and 7. If we can maintain the same page for both, I am all the more for it since it reduces changes of pages getting out of sync. Cheers, Deepak From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 08:53:05 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 15:53:05 +0000 Subject: [Bug 789] typo in jrunscript.sh In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=789 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |omajid at redhat.com --- Comment #1 from Omair Majid 2011-09-22 15:53:05 --- I assume you are using dash as you sh instead of bash? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. You are the assignee for the bug. From ptisnovs at icedtea.classpath.org Thu Sep 22 08:57:21 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 22 Sep 2011 15:57:21 +0000 Subject: /hg/gfx-test: Added new tests: rendering CAG areas using wide an... Message-ID: changeset bc3c1c37b226 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=bc3c1c37b226 author: Pavel Tisnovsky date: Thu Sep 22 17:59:04 2011 +0200 Added new tests: rendering CAG areas using wide and extra wide stroke to the test src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java. Some helper methods were also added to this test class. diffstat: ChangeLog | 6 + src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java | 312 +++++++++- 2 files changed, 314 insertions(+), 4 deletions(-) diffs (350 lines): diff -r 829297d71c1d -r bc3c1c37b226 ChangeLog --- a/ChangeLog Tue Sep 20 13:51:42 2011 +0200 +++ b/ChangeLog Thu Sep 22 17:59:04 2011 +0200 @@ -1,3 +1,9 @@ +2011-09-22 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java: + Added new tests: rendering CAG areas using wide and extra wide stroke, + some helper methods were also added to this test class. + 2011-09-20 Pavel Tisnovsky * Makefile: added new class to compile diff -r 829297d71c1d -r bc3c1c37b226 src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java --- a/src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java Tue Sep 20 13:51:42 2011 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java Thu Sep 22 17:59:04 2011 +0200 @@ -252,18 +252,82 @@ } /** - * Create new area constructed from smaller circle and rectangle using union - * operation. + * Create new area constructed from smaller circle placed inside a rectangle + * using union operation. * * @param image * image to which area is to be drawn * @return newly created area containing one rectangle */ - private Area createAreaFromSmallerCircleAndRectangleUsingUnionOperator(TestImage image) + private Area createAreaFromSmallerCircleInsideRectangleUsingUnionOperator(TestImage image) + { + Area area = new Area(); + area.add(createCenteredRectangularArea(image)); + area.add(createSmallerCenteredCircularArea(image)); + return area; + } + + /** + * Create new area constructed from smaller circle placed inside a rectangle + * using subtract operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one rectangle + */ + private Area createAreaFromSmallerCircleInsideRectangleUsingSubtractOperator(TestImage image) + { + Area area = new Area(); + area.add(createCenteredRectangularArea(image)); + area.subtract(createSmallerCenteredCircularArea(image)); + return area; + } + + /** + * Create new area constructed from smaller circle placed inside a rectangle + * using inverse subtract operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one rectangle + */ + private Area createAreaFromSmallerCircleInsideRectangleUsingInverseSubtractOperator(TestImage image) { Area area = new Area(); area.add(createSmallerCenteredCircularArea(image)); - area.add(createCenteredRectangularArea(image)); + area.subtract(createCenteredRectangularArea(image)); + return area; + } + + /** + * Create new area constructed from smaller circle placed inside a rectangle + * using intersect operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one rectangle + */ + private Area createAreaFromSmallerCircleInsideRectangleUsingIntersectOperator(TestImage image) + { + Area area = new Area(); + area.add(createSmallerCenteredCircularArea(image)); + area.intersect(createCenteredRectangularArea(image)); + return area; + } + + /** + * Create new area constructed from smaller circle placed inside a rectangle + * using XOR operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one rectangle + */ + private Area createAreaFromSmallerCircleInsideRectangleUsingXorOperator(TestImage image) + { + Area area = new Area(); + area.add(createSmallerCenteredCircularArea(image)); + area.exclusiveOr(createCenteredRectangularArea(image)); return area; } @@ -380,6 +444,246 @@ /** * Checks the process of creating and rendering new geometric shape * constructed from circle and rectangle using union operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleUnionWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = createAreaFromBiggerCircleAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using intersect operator. The shape + * is rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleIntersectWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using intersect operator + Area area = createAreaFromBiggerCircleAndRectangleUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using subtract operator. The shape + * is rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using subtract operator + Area area = createAreaFromBiggerCircleAndRectangleUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using inverse subtract operator. + * The shape is rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleInverseSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using inverse subtract operator + Area area = createAreaFromBiggerCircleAndRectangleUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using Xor operator. + * The shape is rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleXorWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using XOR operator + Area area = createAreaFromBiggerCircleAndRectangleUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using union operator. The shape is + * rendered using extra wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleUnionExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set extra wide stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using union operator + Area area = createAreaFromBiggerCircleAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using intersect operator. The shape + * is rendered using extra wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleIntersectExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set extra wide stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using intersect operator + Area area = createAreaFromBiggerCircleAndRectangleUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using subtract operator. The shape + * is rendered using extra wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set extra wide stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using subtract operator + Area area = createAreaFromBiggerCircleAndRectangleUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using inverse subtract operator. + * The shape is rendered using extra wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleInverseSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set extra wide stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using inverse subtract operator + Area area = createAreaFromBiggerCircleAndRectangleUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using Xor operator. + * The shape is rendered using extra wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigCircleRectangleXorExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set extra wide stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using XOR operator + Area area = createAreaFromBiggerCircleAndRectangleUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from circle and rectangle using union operator. The shape is * rendered using color fill. * * @param image From ptisnovs at redhat.com Thu Sep 22 09:02:36 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 22 Sep 2011 18:02:36 +0200 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <20110922154919.GC26948@redhat.com> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B3E54.8030201@redhat.com> <20110922154919.GC26948@redhat.com> Message-ID: <4E7B5C1C.5070500@redhat.com> Deepak Bhole wrote: > * Pavel Tisnovsky [2011-09-22 09:53]: >> Deepak Bhole wrote: >>> * Pavel Tisnovsky [2011-09-22 08:37]: >>>> Greetings, >>>> >>>> there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. >>>> >>>> Config log & shell script used to build IcedTea7 is stored in an attachment. >>>> >>> Is libattr-devel installed on the system? >> Nope (and ./configure did not complaint ;-). I've installed it and trying to build IcedTea7 again. >> >> Maybe it's the right moment to update the wiki page http://icedtea.classpath.org/wiki/BuildRequirements >> >> Do you think it's a good idea to split this page to IcedTea6 part and IcedTea7(8) part? >> > > Hi Pavel, > > Are the requirements radically different? From what I've seen, they are No, the differences are subtle at this moment. So I'll add new required libraries with the remark that only IcedTea7 need them. (and to be pedantic, I'll add note to a http://icedtea.classpath.org/wiki/FedoraBuildInstructions too ;) > very similar if not the same for v6 and 7. If we can maintain the same > page for both, I am all the more for it since it reduces changes of > pages getting out of sync. > > Cheers, > Deepak From jvanek at icedtea.classpath.org Thu Sep 22 09:05:45 2011 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 22 Sep 2011 16:05:45 +0000 Subject: /hg/icedtea-web: 4 new changesets Message-ID: changeset b56fd9cb2dfc in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b56fd9cb2dfc author: Jiri Vanek date: Thu Sep 22 17:41:51 2011 +0200 added XrustAll option changeset 2ad1f3bbb0b5 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2ad1f3bbb0b5 author: Jiri Vanek date: Thu Sep 22 17:49:16 2011 +0200 Reproducers engine enchanced for signed reproducers changeset c438d6a9c7a9 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c438d6a9c7a9 author: Jiri Vanek date: Thu Sep 22 17:53:48 2011 +0200 added first signed reproducer as example and testing read properties signed behaviour. changeset 9b2205c224d4 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=9b2205c224d4 author: Jiri Vanek date: Thu Sep 22 18:01:24 2011 +0200 Added test (into signed reproducers) which is trying to missuse xtrustAll by reflection and to laod unsigned code. This test pass, if loading unsigned jar will fail (because accessing of inner netx classes is avaiable by with reflection). diffstat: ChangeLog | 55 +++++ Makefile.am | 100 +++++++-- acinclude.m4 | 58 +++++ configure.ac | 2 + netx/net/sourceforge/jnlp/runtime/Boot.java | 3 + netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 3 + netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 12 + netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 4 + tests/jnlp_tests/README | 12 +- tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java | 4 +- 10 files changed, 221 insertions(+), 32 deletions(-) diffs (418 lines): diff -r e9a9792ee189 -r 9b2205c224d4 ChangeLog --- a/ChangeLog Thu Sep 15 15:27:40 2011 +0200 +++ b/ChangeLog Thu Sep 22 18:01:24 2011 +0200 @@ -1,3 +1,57 @@ +2011-09-22 Jiri Vanek + + * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp: + jnlp file to lunch ReadPropertiesBySignedHack, notice please dependenci + on ReadProperties.jar from simple reproducers + * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java: + this reproducers verify, that even reflection-by enabled + XtrustAll will not allow to lunch unsigned code + * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java: + testcase for this reproducer + +2011-09-22 Jiri Vanek + + * tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp: + * tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp: + * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: + * tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java: + those four files are example of signed reproducer + * tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java: now prints out got + variable for comparsion with above created signed example + +2011-09-22 Jiri Vanek + + Added signed reproducers engine + * Makefile.am: added variable KEYSTORE_NAME + (stamps/junit-jnlp-dist-dirs): creates stamp and depend on next two targets + (junit-jnlp-dist-simple.txt): creates list of simple reproducers, extracted + from stamps/junit-jnlp-dist-dirs + (junit-jnlp-dist-signed.txt): creates list of signed reproducers + (stamps/netx-dist-tests-prepare-reproducers.stamp): now traverse over + signed and simple + (stamps/netx-dist-tests-sign-some-reproducers.stamp): depends + on netx-dist-tests-prepare-reproducers, traverse through signed + reproducers and sign them + (stamps/netx-dist-tests-compile-testcases.stamp): now traverse over + signed and simple + (stamps/bootstrap-directory.stamp): creates symlinks/stubs to + jarsigner and keytool + (clean-netx-dist-tests):remove new stamps, signed and simple list and keysstore + * acinclude.m4: declared to proceed IT_FIND_KEYTOOL and IT_FIND_JARSIGNER macro + * configure.ac: declared macros to check for keytool and jarsigner + * tests/jnlp_tests/README: mentioned signed directory + +2011-09-22 Jiri Vanek + + * netx/net/sourceforge/jnlp/runtime/Boot.java: (main): added logic to + handle -Xtrustall option + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: declared private static boolean + trustAll=false; with public getter and pkg.private setter + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (checkTrustWithUser): modified, + when XtrustAll declared, then user is not asked and certificate is trusted + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: (askUser): modified, + when XtrustAll declared, then user is not asked and certificate is trusted + 2011-09-15 Jiri Vanek * tests/jnlp_tests/: all current reproducers (AccessClassInPackage @@ -17,6 +71,7 @@ * ChangeLog: Fixed formatting issues in previous entry. 2011-09-01 Jiri Vanek + Added functionality to allow icedtea web to be buildable with rhel5 libraries. * configure.ac: added IT_CHECK_GLIB_VERSION check. diff -r e9a9792ee189 -r 9b2205c224d4 Makefile.am --- a/Makefile.am Thu Sep 15 15:27:40 2011 +0200 +++ b/Makefile.am Thu Sep 22 18:01:24 2011 +0200 @@ -22,6 +22,7 @@ JNLP_TESTS_ENGINE_DIR=$(TESTS_DIR)/netx/jnlp_testsengine JNLP_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/jnlp_test_server JNLP_TESTS_DIR=$(TESTS_DIR)/jnlp_tests +KEYSTORE_NAME=teststore.ks JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar @@ -455,39 +456,61 @@ @junit-runner-source-files.txt && \ $(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) . -junit-jnlp-dist-dirs.txt: +stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt junit-jnlp-dist-signed.txt mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR) mkdir -p $(JNLP_TESTS_DIR) mkdir -p $(JNLP_TESTS_ENGINE_DIR) + touch $@ + +junit-jnlp-dist-simple.txt: cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ -stamps/netx-dist-tests-prepare-reproducers.stamp: junit-jnlp-dist-dirs.txt - simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-dirs.txt `); \ - for dir in "$${simpleReproducers[@]}" ; do \ - echo "processing: $$dir" ; \ - mkdir -p $(JNLP_TESTS_DIR)/$$dir ; \ - d=`pwd` ; \ - cd $(JNLP_TESTS_SRCDIR)/simple/$$dir/srcs/ ; \ - srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ - notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ - $(BOOT_DIR)/bin/javac -d $(JNLP_TESTS_DIR)/$$dir/ $$srcFiles ; \ - if [ -n "$$notSrcFiles" ] ; then \ - cp -R --parents $$notSrcFiles $(JNLP_TESTS_DIR)/$$dir/ ; \ - fi ; \ - cd $(JNLP_TESTS_DIR)/$$dir/ ; \ - $(BOOT_DIR)/bin/jar cf $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar * ; \ - cd $$d ; \ - cp -R $(JNLP_TESTS_SRCDIR)/simple/$$dir/resources/* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ +junit-jnlp-dist-signed.txt: + cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ + find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ + +stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + for dir in "$${simpleReproducers[@]}" ; do \ + echo "processing: $$dir" ; \ + mkdir -p $(JNLP_TESTS_DIR)/$$dir ; \ + d=`pwd` ; \ + cd $(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/ ; \ + srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ + notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ + $(BOOT_DIR)/bin/javac -d $(JNLP_TESTS_DIR)/$$dir/ $$srcFiles ; \ + if [ -n "$$notSrcFiles" ] ; then \ + cp -R --parents $$notSrcFiles $(JNLP_TESTS_DIR)/$$dir/ ; \ + fi ; \ + cd $(JNLP_TESTS_DIR)/$$dir/ ; \ + $(BOOT_DIR)/bin/jar cf $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar * ; \ + cd $$d ; \ + cp -R $(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ + done ; \ done ; \ mkdir -p stamps && \ touch $@ +stamps/netx-dist-tests-sign-some-reproducers.stamp: stamps/netx-dist-tests-prepare-reproducers.stamp + alias=icedteaweb; \ + keystore=$(abs_top_builddir)/$(KEYSTORE_NAME); \ + pass=123456789; \ + $(BOOT_DIR)/bin/keytool -genkey -alias $$alias -keystore $$keystore -keypass $$pass -storepass $$pass -dname "cn=$$alias, ou=$$alias, o=$$alias, c=$$alias" ; \ + signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-signed.txt `); \ + for dir in "$${signedReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $$pass -keypass $$pass $(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar $$alias ; \ + done ; \ + mkdir -p stamps && \ + touch $@ + netx-dist-tests-source-files.txt: find $(JNLP_TESTS_ENGINE_SRCDIR) -name '*.java' | sort > $@ stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \ - junit-jnlp-dist-dirs.txt netx-dist-tests-source-files.txt + stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(JNLP_TESTS_ENGINE_DIR) \ -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ @@ -495,19 +518,22 @@ mkdir -p stamps && \ touch $@ -stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp junit-jnlp-dist-dirs.txt\ +stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp - simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-dirs.txt `); \ - for dir in "$${simpleReproducers[@]}" ; do \ - $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ - $(JNLP_TESTS_SRCDIR)/simple/$$dir/testcases/* ; \ + types=(simple signed); \ + for which in "$${types[@]}" ; do \ + simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ + for dir in "$${simpleReproducers[@]}" ; do \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(JNLP_TESTS_ENGINE_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ + $(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/* ; \ + done ; \ done ; \ mkdir -p stamps && \ touch $@ -run-netx-dist-tests: all-local stamps/netx.stamp junit-jnlp-dist-dirs.txt stamps/netx-dist-tests-prepare-reproducers.stamp \ +run-netx-dist-tests: all-local stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-sign-some-reproducers.stamp \ stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) cd $(JNLP_TESTS_ENGINE_DIR) ; \ class_names= ; \ @@ -590,10 +616,14 @@ rm -rf $(JNLP_TESTS_DIR) rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR) rm -rf $(JNLP_TESTS_ENGINE_DIR) + rm -f stamps/junit-jnlp-dist-dirs rm -f stamps/netx-dist-tests-compile.stamp rm -f stamps/netx-dist-tests-prepare-reproducers.stamp rm -f stamps/netx-dist-tests-compile-testcases.stamp - rm -f junit-jnlp-dist-dirs.txt + rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp + rm -f junit-jnlp-dist-simple.txt + rm -f junit-jnlp-dist-signed.txt + rm -f $(abs_top_builddir)/$(KEYSTORE_NAME) # plugin tests @@ -635,6 +665,20 @@ ln -sf $(JAR) $(BOOT_DIR)/bin/jar ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc + if [ -e "$(KEYTOOL)" ] ; then \ + ln -sf $(KEYTOOL) $(BOOT_DIR)/bin/keytool ;\ + else \ + echo "#! /bin/sh" > $(BOOT_DIR)/bin/keytool ;\ + echo "echo \"keytool not exist on your system, signed part of reproducers test will fail\"" >> $(BOOT_DIR)/bin/keytool ;\ + chmod 777 $(BOOT_DIR)/bin/keytool ;\ + fi + if [ -e "$(JARSIGNER)" ] ; then \ + ln -sf $(JARSIGNER) $(BOOT_DIR)/bin/jarsigner ;\ + else \ + echo "#! /bin/sh" > $(BOOT_DIR)/bin/jarsigner ;\ + echo "echo \"jarsigner not exist on your system, signed part of reproducers test will fail\"" >> $(BOOT_DIR)/bin/jarsigner ;\ + chmod 777 $(BOOT_DIR)/bin/jarsigner ;\ + fi mkdir -p $(BOOT_DIR)/jre/lib && \ ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib && \ if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \ diff -r e9a9792ee189 -r 9b2205c224d4 acinclude.m4 --- a/acinclude.m4 Thu Sep 15 15:27:40 2011 +0200 +++ b/acinclude.m4 Thu Sep 22 18:01:24 2011 +0200 @@ -655,6 +655,64 @@ AC_SUBST(JAVA) ]) +AC_DEFUN_ONCE([IT_FIND_KEYTOOL], +[ + AC_REQUIRE([IT_CHECK_FOR_JDK]) + AC_MSG_CHECKING([for keytool]) + AC_ARG_WITH([keytool], + [AS_HELP_STRING(--with-keytool,specify location of keytool for signed part of run-netx-dist)], + [ + if test "${withval}" = "yes" ; then + KEYTOOL=${SYSTEM_JDK_DIR}/bin/keytool + else + KEYTOOL="${withval}" + fi + ], + [ + KEYTOOL=${SYSTEM_JDK_DIR}/bin/keytool + ]) + if ! test -f "${KEYTOOL}"; then + AC_PATH_PROG(KEYTOOL, keytool) + fi + if ! test -f "${KEYTOOL}"; then + KEYTOOL="" + fi + if test -z "${KEYTOOL}" ; then + AC_MSG_WARN("keytool not found so signed part of run-netx-dist will fail") + fi + AC_MSG_RESULT(${KEYTOOL}) + AC_SUBST(KEYTOOL) +]) + +AC_DEFUN_ONCE([IT_FIND_JARSIGNER], +[ + AC_REQUIRE([IT_CHECK_FOR_JDK]) + AC_MSG_CHECKING([for jarsigner]) + AC_ARG_WITH([jarsigner], + [AS_HELP_STRING(--with-jarsigner,specify location of jarsigner for signed part od run-netx-dist)], + [ + if test "${withval}" = "yes" ; then + JARSIGNER=${SYSTEM_JDK_DIR}/bin/jarsigner + else + JARSIGNER="${withval}" + fi + ], + [ + JARSIGNER=${SYSTEM_JDK_DIR}/bin/jarsigner + ]) + if ! test -f "${JARSIGNER}"; then + AC_PATH_PROG(JARSIGNER, jarsigner,"") + fi + if ! test -f "${JARSIGNER}"; then + JARSIGNER="" + fi + if test -z "${JARSIGNER}"; then + AC_MSG_WARN("jarsigner not found so signed part of run-netx-dist will fail") + fi + AC_MSG_RESULT(${JARSIGNER}) + AC_SUBST(JARSIGNER) +]) + AC_DEFUN([IT_FIND_JAVADOC], [ AC_REQUIRE([IT_CHECK_FOR_JDK]) diff -r e9a9792ee189 -r 9b2205c224d4 configure.ac --- a/configure.ac Thu Sep 15 15:27:40 2011 +0200 +++ b/configure.ac Thu Sep 22 18:01:24 2011 +0200 @@ -33,6 +33,8 @@ FIND_JAR FIND_ECJ_JAR IT_FIND_JAVADOC +IT_FIND_KEYTOOL +IT_FIND_JARSIGNER AC_CONFIG_FILES([javac], [chmod +x javac]) IT_SET_VERSION diff -r e9a9792ee189 -r 9b2205c224d4 netx/net/sourceforge/jnlp/runtime/Boot.java --- a/netx/net/sourceforge/jnlp/runtime/Boot.java Thu Sep 15 15:27:40 2011 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/Boot.java Thu Sep 22 18:01:24 2011 +0200 @@ -156,6 +156,9 @@ if (null != getOption("-Xnofork")) { JNLPRuntime.setForksAllowed(false); } + if (null != getOption("-Xtrustall")) { + JNLPRuntime.setTrustAll(true); + } JNLPRuntime.setInitialArgments(Arrays.asList(argsIn)); diff -r e9a9792ee189 -r 9b2205c224d4 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Sep 15 15:27:40 2011 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Sep 22 18:01:24 2011 +0200 @@ -755,6 +755,9 @@ } private void checkTrustWithUser(JarSigner js) throws LaunchException { + if (JNLPRuntime.isTrustAll()){ + return; + } if (!js.getRootInCacerts()) { //root cert is not in cacerts boolean b = SecurityDialogs.showCertWarningDialog( AccessType.UNVERIFIED, file, js); diff -r e9a9792ee189 -r 9b2205c224d4 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Thu Sep 15 15:27:40 2011 +0200 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Thu Sep 22 18:01:24 2011 +0200 @@ -123,6 +123,9 @@ /** set to false to indicate another JVM should not be spawned, even if necessary */ private static boolean forksAllowed = true; + /** all security dialogs will be consumed and pretented as beeing verified by user and allowed.*/ + private static boolean trustAll=false; + /** contains the arguments passed to the jnlp runtime */ private static List initialArguments; @@ -132,6 +135,7 @@ public static final String STDERR_FILE = "java.stderr"; public static final String STDOUT_FILE = "java.stdout"; + /** * Returns whether the JNLP runtime environment has been * initialized. Once initialized, some properties such as the @@ -732,4 +736,12 @@ } } + static void setTrustAll(boolean b) { + trustAll=b; + } + + public static boolean isTrustAll() { + return trustAll; + } + } diff -r e9a9792ee189 -r 9b2205c224d4 netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java --- a/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Thu Sep 15 15:27:40 2011 +0200 +++ b/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Thu Sep 22 18:01:24 2011 +0200 @@ -53,6 +53,7 @@ import sun.security.validator.ValidatorException; import com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager; +import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.security.SecurityDialogs.AccessType; @@ -382,6 +383,9 @@ private boolean askUser(X509Certificate[] chain, String authType, boolean isTrusted, boolean hostMatched, String hostName) { + if (JNLPRuntime.isTrustAll()){ + return true; + } return SecurityDialogs.showCertWarningDialog( AccessType.UNVERIFIED, null, new HttpsCertVerifier(this, chain, authType, diff -r e9a9792ee189 -r 9b2205c224d4 tests/jnlp_tests/README --- a/tests/jnlp_tests/README Thu Sep 15 15:27:40 2011 +0200 +++ b/tests/jnlp_tests/README Thu Sep 22 18:01:24 2011 +0200 @@ -1,2 +1,10 @@ -Each file in directory simple must follows naming convention and is compiled/jared automatically into server's working directory and content of resources likewise. The name of jnlp is independent, and there can be even more jnlps for each future jar. Directories should be honored in srcs and in resources, but noty in testcases. -Files in advanced directory have to care about themselves, but even those can have some parts inside simple directory, so some parts of them are processed automatically. There are three reproducers ??? simpletest1, simpletest2 and deadlocktest, which tests test???s suite itself and serve as examples of behaviour. +Each file in directory simple must follows hierarchy conventions and is compiled/jared + automatically into server's working directory and content of resources likewise. + The name of jnlp is independent, and there can be even more jnlps for each future jar. +Directories are honored in srcs and in resources, but noty in testcases. +Directories in signed hande their content in similar way as simle's content is handled, + but in addition final jars are signed with simple testkey. +Files in advanced directory have to care about themselves, but even those can have some + parts inside simple directory, so some parts of them are processed automatically. + There are three reproducers ??? simpletest1, simpletest2 and deadlocktest, which tests + test???s suite itself and serve as examples of behaviour. diff -r e9a9792ee189 -r 9b2205c224d4 tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java --- a/tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java Thu Sep 15 15:27:40 2011 +0200 +++ b/tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java Thu Sep 22 18:01:24 2011 +0200 @@ -40,6 +40,6 @@ *some system property is expected as arg[0], eg user.name or user.home */ public static void main(String[] args) { - System.getProperty(args[0]); - } + System.out.println(System.getProperty(args[0])); + } } From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 09:41:48 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 16:41:48 +0000 Subject: [Bug 789] typo in jrunscript.sh In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=789 Lars Herschke changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lhersch at dssgmbh.de --- Comment #2 from Lars Herschke 2011-09-22 16:41:48 --- (In reply to comment #1) > I assume you are using dash as you sh instead of bash? > Thats right, i am using freebsd and that using sh on build process via ports. But two equal signs are also incorrect in bash in conformity with bash man page. At last bash handles both, one equal sign and two equal signs, but with one this script is more compatible. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. You are the assignee for the bug. From omajid at redhat.com Thu Sep 22 10:12:51 2011 From: omajid at redhat.com (Omair Majid) Date: Thu, 22 Sep 2011 13:12:51 -0400 Subject: [icedtea-web] RFC: PR789: typo in jrunscript.sh Message-ID: <4E7B6C93.9000109@redhat.com> Hi, I would like to commit the attached patch to icedtea-web. Any concerns? Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: jrunscript-typo.patch Type: text/x-patch Size: 1183 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110922/49181f1d/jrunscript-typo.patch From jvanalte at redhat.com Thu Sep 22 10:23:37 2011 From: jvanalte at redhat.com (Jon VanAlten) Date: Thu, 22 Sep 2011 13:23:37 -0400 (EDT) Subject: [icedtea-web] RFC: PR789: typo in jrunscript.sh In-Reply-To: <4E7B6C93.9000109@redhat.com> Message-ID: <72c8663d-d360-424d-aa13-77b3bd562ca0@zmail01.collab.prod.int.phx2.redhat.com> Looks good to me! jon ----- Original Message ----- > From: "Omair Majid" > To: "IcedTea" > Sent: Thursday, September 22, 2011 1:12:51 PM > Subject: [icedtea-web] RFC: PR789: typo in jrunscript.sh > > Hi, > > I would like to commit the attached patch to icedtea-web. > > Any concerns? > > Cheers, > Omair > From dbhole at redhat.com Thu Sep 22 10:48:38 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 22 Sep 2011 13:48:38 -0400 Subject: [icedtea-web] RFC: PR766 javaws fails to parse an node that contains CDATA In-Reply-To: <4E7A4DCF.2080409@redhat.com> References: <4E73C784.6070602@redhat.com> <20110919170155.GC23975@redhat.com> <4E777F64.5090109@redhat.com> <4E7A4DCF.2080409@redhat.com> Message-ID: <20110922174838.GD26948@redhat.com> * Omair Majid [2011-09-21 16:49]: > On 09/19/2011 01:44 PM, Omair Majid wrote: > >On 09/19/2011 01:01 PM, Deepak Bhole wrote: > >>* Omair Majid [2011-09-16 18:03]: ... ... > >If you mean the parser in icedtea-web chokes on CDATA sections (or > >handles these CDATA sections differently) - as shown in the test results > >- then yes, that might be a problem. As stated above I intend to write a > >patch with additional tests for this. As an additional precaution, I > >would like to avoid backporting this patch to any of the release branches. > > > > So I spent some time looking into it and it turns out that the > version of NanoXML that we use does not support mixed content [1] - > so it's not a problem with using CDATA sections, it's a problem with > intermixing text and elements. > > The good news is that JNLP files should not contain mixed content. > Nothing the Oracle's docs [2] suggests that mixed content can occur > in JNLP files. Perhaps another thing to consider is that we have not > seen any bugs filed about problems in jnlp files caused by mixed > content. So this should not occur in practice. > > Of course, I could implement this, but it turns out that > NanoXML/Lite (which is what was embedded in netx) does not support > that pretty much by design [3]. NanoXML/Java does support that [3], > but I am hesitant to swap out our parser like this. And if I were > swapping out the parser, I would rather use a parser meant to handle > malformed XML documents - like tagsoup [4] - along with a > well-tested XML parser. > > In fact, after considering the matter, I would like push just the > two patches I posted earlier in this thread and close the bug. > > Any thoughts or comments? > Sorry if I'm missing something, but don't we still need a patch to JNLPMatcher to make it not fail when presented with CDATA? Cheers, Deepak From omajid at redhat.com Thu Sep 22 11:55:14 2011 From: omajid at redhat.com (Omair Majid) Date: Thu, 22 Sep 2011 14:55:14 -0400 Subject: [icedtea-web] RFC: PR766 javaws fails to parse an node that contains CDATA In-Reply-To: <20110922174838.GD26948@redhat.com> References: <4E73C784.6070602@redhat.com> <20110919170155.GC23975@redhat.com> <4E777F64.5090109@redhat.com> <4E7A4DCF.2080409@redhat.com> <20110922174838.GD26948@redhat.com> Message-ID: <4E7B8492.3050302@redhat.com> On 09/22/2011 01:48 PM, Deepak Bhole wrote: > * Omair Majid [2011-09-21 16:49]: >> On 09/19/2011 01:44 PM, Omair Majid wrote: >>> On 09/19/2011 01:01 PM, Deepak Bhole wrote: >>>> * Omair Majid [2011-09-16 18:03]: > ... > ... >>> If you mean the parser in icedtea-web chokes on CDATA sections (or >>> handles these CDATA sections differently) - as shown in the test results >>> - then yes, that might be a problem. As stated above I intend to write a >>> patch with additional tests for this. As an additional precaution, I >>> would like to avoid backporting this patch to any of the release branches. >>> >> >> So I spent some time looking into it and it turns out that the >> version of NanoXML that we use does not support mixed content [1] - >> so it's not a problem with using CDATA sections, it's a problem with >> intermixing text and elements. >> >> The good news is that JNLP files should not contain mixed content. >> Nothing the Oracle's docs [2] suggests that mixed content can occur >> in JNLP files. Perhaps another thing to consider is that we have not >> seen any bugs filed about problems in jnlp files caused by mixed >> content. So this should not occur in practice. >> >> Of course, I could implement this, but it turns out that >> NanoXML/Lite (which is what was embedded in netx) does not support >> that pretty much by design [3]. NanoXML/Java does support that [3], >> but I am hesitant to swap out our parser like this. And if I were >> swapping out the parser, I would rather use a parser meant to handle >> malformed XML documents - like tagsoup [4] - along with a >> well-tested XML parser. >> >> In fact, after considering the matter, I would like push just the >> two patches I posted earlier in this thread and close the bug. >> >> Any thoughts or comments? >> > > Sorry if I'm missing something, but don't we still need a patch to > JNLPMatcher to make it not fail when presented with CDATA? > I suppose I was not very clear. JNLPMatcher - actually XMLElement (our parser) - fails when presented with mixed content. Whether that content is just plain text or text escaped using CDATA sections doesnt matter. The attached patch converts CDATA section to plain text and the test still fails (after apply the two patches I posted earlier in the thread). JNLPMatcher (and XMLElement) work when text is escaped using CDATA sections in the absence of mixed content. Since we have never seen failures caused by mixed content using plain text, I suppose we can assume that failures wont be caused by mixed content containing text escaped using CDATA sections. Hope that clears things up. Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: no-cdata-just-text.patch Type: text/x-patch Size: 982 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110922/14866c8e/no-cdata-just-text.patch From dbhole at redhat.com Thu Sep 22 12:19:25 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 22 Sep 2011 15:19:25 -0400 Subject: [icedtea-web] RFC: PR766 javaws fails to parse an node that contains CDATA In-Reply-To: <4E7B8492.3050302@redhat.com> References: <4E73C784.6070602@redhat.com> <20110919170155.GC23975@redhat.com> <4E777F64.5090109@redhat.com> <4E7A4DCF.2080409@redhat.com> <20110922174838.GD26948@redhat.com> <4E7B8492.3050302@redhat.com> Message-ID: <20110922191925.GF26948@redhat.com> * Omair Majid [2011-09-22 14:55]: > On 09/22/2011 01:48 PM, Deepak Bhole wrote: > >* Omair Majid [2011-09-21 16:49]: > >>On 09/19/2011 01:44 PM, Omair Majid wrote: > >>>On 09/19/2011 01:01 PM, Deepak Bhole wrote: > >>>>* Omair Majid [2011-09-16 18:03]: > >... > >... > >>>If you mean the parser in icedtea-web chokes on CDATA sections (or > >>>handles these CDATA sections differently) - as shown in the test results > >>>- then yes, that might be a problem. As stated above I intend to write a > >>>patch with additional tests for this. As an additional precaution, I > >>>would like to avoid backporting this patch to any of the release branches. > >>> > >> > >>So I spent some time looking into it and it turns out that the > >>version of NanoXML that we use does not support mixed content [1] - > >>so it's not a problem with using CDATA sections, it's a problem with > >>intermixing text and elements. > >> > >>The good news is that JNLP files should not contain mixed content. > >>Nothing the Oracle's docs [2] suggests that mixed content can occur > >>in JNLP files. Perhaps another thing to consider is that we have not > >>seen any bugs filed about problems in jnlp files caused by mixed > >>content. So this should not occur in practice. > >> > >>Of course, I could implement this, but it turns out that > >>NanoXML/Lite (which is what was embedded in netx) does not support > >>that pretty much by design [3]. NanoXML/Java does support that [3], > >>but I am hesitant to swap out our parser like this. And if I were > >>swapping out the parser, I would rather use a parser meant to handle > >>malformed XML documents - like tagsoup [4] - along with a > >>well-tested XML parser. > >> > >>In fact, after considering the matter, I would like push just the > >>two patches I posted earlier in this thread and close the bug. > >> > >>Any thoughts or comments? > >> > > > >Sorry if I'm missing something, but don't we still need a patch to > >JNLPMatcher to make it not fail when presented with CDATA? > > > > I suppose I was not very clear. JNLPMatcher - actually XMLElement > (our parser) - fails when presented with mixed content. Whether that > content is just plain text or text escaped using CDATA sections > doesnt matter. The attached patch converts CDATA section to plain > text and the test still fails (after apply the two patches I posted > earlier in the thread). > > JNLPMatcher (and XMLElement) work when text is escaped using CDATA > sections in the absence of mixed content. > > Since we have never seen failures caused by mixed content using > plain text, I suppose we can assume that failures wont be caused by > mixed content containing text escaped using CDATA sections. > > Hope that clears things up. > Ah, sorry. I thought it didn't work at all. Didn't realize that it was just mixed content that made it fail. Okay then, I am fine with these patches in HEAD and closing the issue. Cheers, Deepak From omajid at icedtea.classpath.org Thu Sep 22 12:27:28 2011 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Thu, 22 Sep 2011 19:27:28 +0000 Subject: /hg/icedtea-web: PR789: typo in jrunscript.sh Message-ID: changeset 1d720491c619 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1d720491c619 author: Omair Majid date: Thu Sep 22 15:27:14 2011 -0400 PR789: typo in jrunscript.sh 2011-09-22 Lars Herschke PR789: typo in jrunscript.sh * jrunscript.in: Use = instead of ==. diffstat: ChangeLog | 5 +++++ NEWS | 1 + jrunscript.in | 2 +- 3 files changed, 7 insertions(+), 1 deletions(-) diffs (34 lines): diff -r 9b2205c224d4 -r 1d720491c619 ChangeLog --- a/ChangeLog Thu Sep 22 18:01:24 2011 +0200 +++ b/ChangeLog Thu Sep 22 15:27:14 2011 -0400 @@ -1,3 +1,8 @@ +2011-09-22 Lars Herschke + + PR789: typo in jrunscript.sh + * jrunscript.in: Use = instead of ==. + 2011-09-22 Jiri Vanek * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp: diff -r 9b2205c224d4 -r 1d720491c619 NEWS --- a/NEWS Thu Sep 22 18:01:24 2011 +0200 +++ b/NEWS Thu Sep 22 15:27:14 2011 -0400 @@ -23,6 +23,7 @@ - PR771: IcedTea-Web certificate verification code does not use the right API - PR742: IcedTea-Web checks certs only upto 1 level deep before declaring them untrusted. - PR769: IcedTea-Web does not work with some ssl sites with OpenJDK7 + - PR789: typo in jrunscript.sh - RH734081: Javaws cannot use proxy settings from Firefox New in release 1.1 (2011-XX-XX): diff -r 9b2205c224d4 -r 1d720491c619 jrunscript.in --- a/jrunscript.in Thu Sep 22 18:01:24 2011 +0200 +++ b/jrunscript.in Thu Sep 22 15:27:14 2011 -0400 @@ -1,6 +1,6 @@ #!/bin/bash -if [ x"@RHINO_JAR@" == x ] ; then +if [ x"@RHINO_JAR@" = x ] ; then echo "jrunscript requires rhino support" exit 1 fi From omajid at icedtea.classpath.org Thu Sep 22 12:36:23 2011 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Thu, 22 Sep 2011 19:36:23 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 739a31d80baf in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=739a31d80baf author: Omair Majid date: Wed Sep 21 14:36:44 2011 -0400 Add tests for CDATA sections changeset 8ab68d19c6f7 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=8ab68d19c6f7 author: Omair Majid date: Wed Sep 21 14:45:25 2011 -0400 PR766 javaws fails to parse an node that contains CDATA 2011-09-21 Omair Majid PR766: javaws fails to parse an node that contains CDATA * netx/net/sourceforge/nanoxml/XMLElement.java (sanitizeInput): Do not remove CDATA sections along with comments. diffstat: ChangeLog | 15 + netx/net/sourceforge/nanoxml/XMLElement.java | 34 ++- tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java | 101 +++++++++- tests/netx/unit/net/sourceforge/jnlp/application/application0.jnlp | 2 +- tests/netx/unit/net/sourceforge/jnlp/templates/template0.jnlp | 2 +- 5 files changed, 145 insertions(+), 9 deletions(-) diffs (227 lines): diff -r 1d720491c619 -r 8ab68d19c6f7 ChangeLog --- a/ChangeLog Thu Sep 22 15:27:14 2011 -0400 +++ b/ChangeLog Wed Sep 21 14:45:25 2011 -0400 @@ -1,3 +1,18 @@ +2011-09-21 Omair Majid + + PR766: javaws fails to parse an node that contains CDATA + * netx/net/sourceforge/nanoxml/XMLElement.java + (sanitizeInput): Do not remove CDATA sections along with comments. + +2011-09-20 Omair Majid + + * tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java + (testCdata, testCdataNested, testCDataFirstChild, testCDataSecondChild) + (testCommentInElements2, testDoubleDashesInComments): New methods + * tests/netx/unit/net/sourceforge/jnlp/application/application0.jnlp, + * tests/netx/unit/net/sourceforge/jnlp/templates/template0.jnlp: + Change PR789: typo in jrunscript.sh diff -r 1d720491c619 -r 8ab68d19c6f7 netx/net/sourceforge/nanoxml/XMLElement.java --- a/netx/net/sourceforge/nanoxml/XMLElement.java Thu Sep 22 15:27:14 2011 -0400 +++ b/netx/net/sourceforge/nanoxml/XMLElement.java Wed Sep 21 14:45:25 2011 -0400 @@ -1166,7 +1166,7 @@ * @param pout The PipedOutputStream that will be receiving the filtered * xml file. */ - public void sanitizeInput(InputStreamReader isr, PipedOutputStream pout) { + public void sanitizeInput(Reader isr, OutputStream pout) { try { PrintStream out = new PrintStream(pout); @@ -1220,11 +1220,35 @@ this.sanitizeCharReadTooMuch = next; - // If the next char is a ? or !, then we've hit a special tag, + // If the next chars are !--, then we've hit a comment tag, // and should skip it. - if (prev == '<' && (next == '!' || next == '?')) { - this.skipSpecialTag(0); - this.sanitizeCharReadTooMuch = '\0'; + if (ch == '<' && sanitizeCharReadTooMuch == '!') { + ch = (char) this.reader.read(); + if (ch == '-') { + ch = (char) this.reader.read(); + if (ch == '-') { + this.skipComment(); + this.sanitizeCharReadTooMuch = '\0'; + } else { + out.print('<'); + out.print('!'); + out.print('-'); + this.sanitizeCharReadTooMuch = ch; + if (JNLPRuntime.isDebug()) { + System.out.print('<'); + System.out.print('!'); + System.out.print('-'); + } + } + } else { + out.print('<'); + out.print('!'); + this.sanitizeCharReadTooMuch = ch; + if (JNLPRuntime.isDebug()) { + System.out.print('<'); + System.out.print('!'); + } + } } // Otherwise we haven't hit a comment, and we should write ch. else { diff -r 1d720491c619 -r 8ab68d19c6f7 tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java --- a/tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java Thu Sep 22 15:27:14 2011 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java Wed Sep 21 14:45:25 2011 -0400 @@ -38,14 +38,88 @@ package net.sourceforge.jnlp; import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.StringReader; -import org.junit.After; +import net.sourceforge.nanoxml.XMLElement; +import net.sourceforge.nanoxml.XMLParseException; + import org.junit.Assert; -import org.junit.Before; import org.junit.Test; /** Test various corner cases of the parser */ public class ParserCornerCases { + + @Test + public void testCdata() throws ParseException, XMLParseException, IOException { + String data = " value ]]>"; + XMLElement elem = new XMLElement(); + elem.parseFromReader(new StringReader(data)); + XMLElement target = elem; + Assert.assertEquals("argument", target.getName()); + Assert.assertTrue("too small", target.getContent().length() > 20); + Assert.assertTrue(target.getContent().contains("xml")); + Assert.assertTrue(target.getContent().contains("DOCTYPE")); + Assert.assertTrue(target.getContent().contains("value")); + + Node node = Parser.getRootNode(new ByteArrayInputStream(data.getBytes())); + Assert.assertEquals("argument", node.getNodeName()); + String contents = node.getNodeValue(); + Assert.assertTrue(contents.contains("xml")); + Assert.assertTrue(contents.contains("DOCTYPE")); + Assert.assertTrue(contents.contains("value")); + } + + @Test + public void testCdataNested() throws ParseException, XMLParseException, IOException { + String data = "\n" + + "\n" + + "\n" + + " value ]]>" + + "\n" + + "1\n" + + "\n" + + ""; + XMLElement elem = new XMLElement(); + elem.parseFromReader(new StringReader(data)); + XMLElement target = (XMLElement) ((XMLElement) elem.enumerateChildren().nextElement()).enumerateChildren().nextElement(); + Assert.assertEquals("argument", target.getName()); + Assert.assertTrue("too small", target.getContent().length() > 20); + Assert.assertTrue(target.getContent().contains("xml")); + Assert.assertTrue(target.getContent().contains("DOCTYPE")); + Assert.assertTrue(target.getContent().contains("value")); + + Node node = Parser.getRootNode(new ByteArrayInputStream(data.getBytes())); + node = node.getFirstChild().getFirstChild(); + Assert.assertEquals("argument", node.getNodeName()); + String contents = node.getNodeValue(); + Assert.assertTrue(contents.contains("xml")); + Assert.assertTrue(contents.contains("DOCTYPE")); + Assert.assertTrue(contents.contains("value")); + } + + @Test + public void testCDataFirstChild() throws XMLParseException, IOException { + String xml = "\n" + + "\n" + + " random tag test ]]>\n" + + "\n" + + ""; + XMLElement elem = new XMLElement(); + elem.parseFromReader(new StringReader(xml)); + } + + @Test + public void testCDataSecondChild() throws XMLParseException, IOException { + String xml = "\n" + + "\n" + + "\n" + + " random tag test ]]>\n" + + ""; + XMLElement elem = new XMLElement(); + elem.parseFromReader(new StringReader(xml)); + } + @Test public void testUnsupportedSpecNumber() throws ParseException { String malformedJnlp = ""; @@ -71,6 +145,14 @@ } @Test + public void testCommentInElements2() throws ParseException { + String malformedJnlp = " spec='1.0'> "; + Node root = Parser.getRootNode(new ByteArrayInputStream(malformedJnlp.getBytes())); + Parser p = new Parser(null, null, root, false, false); + Assert.assertEquals("1.0", p.getSpecVersion().toString()); + } + + @Test public void testCommentInAttributes() throws ParseException { String malformedJnlp = ""; Node root = Parser.getRootNode(new ByteArrayInputStream(malformedJnlp.getBytes())); @@ -88,4 +170,19 @@ Parser p = new Parser(null, null, root, false, false); Assert.assertEquals(" -->", p.getInfo(root).get(0).getDescription()); } + + @Test + public void testDoubleDashesInComments() throws ParseException { + String malformedJnlp = "" + + " \n" + + " " + + ""; + Node root = Parser.getRootNode(new ByteArrayInputStream(malformedJnlp.getBytes())); + Parser p = new Parser(null, null, root, false, false); + } + } diff -r 1d720491c619 -r 8ab68d19c6f7 tests/netx/unit/net/sourceforge/jnlp/application/application0.jnlp --- a/tests/netx/unit/net/sourceforge/jnlp/application/application0.jnlp Thu Sep 22 15:27:14 2011 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/application/application0.jnlp Wed Sep 21 14:45:25 2011 -0400 @@ -4,7 +4,7 @@ href="www.redhat.com" > - random tag test ]]> diff -r 1d720491c619 -r 8ab68d19c6f7 tests/netx/unit/net/sourceforge/jnlp/templates/template0.jnlp --- a/tests/netx/unit/net/sourceforge/jnlp/templates/template0.jnlp Thu Sep 22 15:27:14 2011 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/templates/template0.jnlp Wed Sep 21 14:45:25 2011 -0400 @@ -12,7 +12,7 @@ - random tag test ]]> From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 12:36:50 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 19:36:50 +0000 Subject: [Bug 788] Elumination is not working In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=788 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Omair Majid 2011-09-22 19:36:50 --- Fixed: http://icedtea.classpath.org/hg/icedtea-web/rev/1d720491c619 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 12:37:21 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 19:37:21 +0000 Subject: [Bug 789] typo in jrunscript.sh In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=789 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #3 from Omair Majid 2011-09-22 19:37:20 --- Fixed: http://icedtea.classpath.org/hg/icedtea-web/rev/1d720491c619 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. You are the assignee for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 12:39:16 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 19:39:16 +0000 Subject: [Bug 788] Elumination is not working In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=788 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | --- Comment #2 from Omair Majid 2011-09-22 19:39:16 --- (In reply to comment #1) > Fixed: > http://icedtea.classpath.org/hg/icedtea-web/rev/1d720491c619 > That was for 789. I accidentally closed this instead. Sorry for the noise. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 12:40:05 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 19:40:05 +0000 Subject: [Bug 766] javaws fails to parse an node that contains CDATA. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=766 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Omair Majid 2011-09-22 19:40:05 --- Fixed: http://icedtea.classpath.org/hg/icedtea-web/rev/8ab68d19c6f7 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From omajid at redhat.com Thu Sep 22 12:49:46 2011 From: omajid at redhat.com (Omair Majid) Date: Thu, 22 Sep 2011 15:49:46 -0400 Subject: [icedtea-web] RFC: PR766 javaws fails to parse an node that contains CDATA In-Reply-To: <20110922191925.GF26948@redhat.com> References: <4E73C784.6070602@redhat.com> <20110919170155.GC23975@redhat.com> <4E777F64.5090109@redhat.com> <4E7A4DCF.2080409@redhat.com> <20110922174838.GD26948@redhat.com> <4E7B8492.3050302@redhat.com> <20110922191925.GF26948@redhat.com> Message-ID: <4E7B915A.9040107@redhat.com> On 09/22/2011 03:19 PM, Deepak Bhole wrote: > * Omair Majid [2011-09-22 14:55]: >> On 09/22/2011 01:48 PM, Deepak Bhole wrote: >>> * Omair Majid [2011-09-21 16:49]: >>>> On 09/19/2011 01:44 PM, Omair Majid wrote: >>>>> On 09/19/2011 01:01 PM, Deepak Bhole wrote: >>>>>> * Omair Majid [2011-09-16 18:03]: >>> ... >>> ... >>>>> If you mean the parser in icedtea-web chokes on CDATA sections (or >>>>> handles these CDATA sections differently) - as shown in the test results >>>>> - then yes, that might be a problem. As stated above I intend to write a >>>>> patch with additional tests for this. As an additional precaution, I >>>>> would like to avoid backporting this patch to any of the release branches. >>>>> >>>> >>>> So I spent some time looking into it and it turns out that the >>>> version of NanoXML that we use does not support mixed content [1] - >>>> so it's not a problem with using CDATA sections, it's a problem with >>>> intermixing text and elements. >>>> >>>> The good news is that JNLP files should not contain mixed content. >>>> Nothing the Oracle's docs [2] suggests that mixed content can occur >>>> in JNLP files. Perhaps another thing to consider is that we have not >>>> seen any bugs filed about problems in jnlp files caused by mixed >>>> content. So this should not occur in practice. >>>> >>>> Of course, I could implement this, but it turns out that >>>> NanoXML/Lite (which is what was embedded in netx) does not support >>>> that pretty much by design [3]. NanoXML/Java does support that [3], >>>> but I am hesitant to swap out our parser like this. And if I were >>>> swapping out the parser, I would rather use a parser meant to handle >>>> malformed XML documents - like tagsoup [4] - along with a >>>> well-tested XML parser. >>>> >>>> In fact, after considering the matter, I would like push just the >>>> two patches I posted earlier in this thread and close the bug. >>>> >>>> Any thoughts or comments? >>>> >>> >>> Sorry if I'm missing something, but don't we still need a patch to >>> JNLPMatcher to make it not fail when presented with CDATA? >>> >> >> I suppose I was not very clear. JNLPMatcher - actually XMLElement >> (our parser) - fails when presented with mixed content. Whether that >> content is just plain text or text escaped using CDATA sections >> doesnt matter. The attached patch converts CDATA section to plain >> text and the test still fails (after apply the two patches I posted >> earlier in the thread). >> >> JNLPMatcher (and XMLElement) work when text is escaped using CDATA >> sections in the absence of mixed content. >> >> Since we have never seen failures caused by mixed content using >> plain text, I suppose we can assume that failures wont be caused by >> mixed content containing text escaped using CDATA sections. >> >> Hope that clears things up. >> > > Ah, sorry. I thought it didn't work at all. Didn't realize that it was > just mixed content that made it fail. > > Okay then, I am fine with these patches in HEAD and closing the issue. > Done. Thanks for reviewing! Cheers, Omair From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 13:23:45 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 20:23:45 +0000 Subject: [Bug 788] Elumination is not working In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=788 --- Comment #3 from Omair Majid 2011-09-22 20:23:45 --- Created an attachment (id=572) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=572) skip jars that can not be located -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 13:43:53 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 20:43:53 +0000 Subject: [Bug 788] Elluminate Live! is not working In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=788 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |ASSIGNED Summary|Elumination is not working |Elluminate Live! is not | |working Target Milestone|--- |1.2 Version|unspecified |hg --- Comment #4 from Omair Majid 2011-09-22 20:43:53 --- Fixing summary. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From omajid at redhat.com Thu Sep 22 13:49:53 2011 From: omajid at redhat.com (Omair Majid) Date: Thu, 22 Sep 2011 16:49:53 -0400 Subject: [icedtea-web] RFC: PR788: Elluminate Live! is not working Message-ID: <4E7B9F71.4020200@redhat.com> Hi, The attached patch fixes PR788. The exception is caused in checkForMain, which is only present in HEAD. In a way, the patch is a duplicate of http://icedtea.classpath.org/hg/icedtea-web/rev/df3cf32781d3 Okay to add to HEAD? Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: pr788-02.patch Type: text/x-patch Size: 2014 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110922/77f9e984/pr788-02.patch From dbhole at redhat.com Thu Sep 22 13:53:07 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 22 Sep 2011 16:53:07 -0400 Subject: [icedtea-web] RFC: PR788: Elluminate Live! is not working In-Reply-To: <4E7B9F71.4020200@redhat.com> References: <4E7B9F71.4020200@redhat.com> Message-ID: <20110922205307.GG26948@redhat.com> * Omair Majid [2011-09-22 16:51]: > Hi, > > The attached patch fixes PR788. The exception is caused in > checkForMain, which is only present in HEAD. > > In a way, the patch is a duplicate of > http://icedtea.classpath.org/hg/icedtea-web/rev/df3cf32781d3 > > Okay to add to HEAD? > Looks good to me. Okay for HEAD. Cheers, Deepak From dbhole at redhat.com Thu Sep 22 13:57:09 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 22 Sep 2011 16:57:09 -0400 Subject: [icedtea-web] RFC: RH738814 - Access denied at ssl handshake In-Reply-To: <4E77B96E.8010401@redhat.com> References: <4E77B96E.8010401@redhat.com> Message-ID: <20110922205708.GH26948@redhat.com> * Omair Majid [2011-09-19 17:53]: > Hi, > > The attached patch should address RH738814 [1] > > The stack trace of the exception shows that code in > VariableX509TrustManager tries do show a prompt which needs all > permissions. Since the method call was originally from an untrusted > applet, these permissions are missing and a security exception is > thrown. > > Something along this line was anticipated earlier [2], but my fix > may have been too broad. So now that we have a stack trace, I have a > more focused patch. Any thoughts or comments? > > The patch is for HEAD, but applies to 1.1 as well. It should also > apply to 1.0 after trivial changes - though I am not sure if that's > something we should do. > Agreed. I am not sure how worthwhile it is to fix this in 1.0 either. Approved for 1.1 and HEAD. Cheers, Deepak From omajid at icedtea.classpath.org Thu Sep 22 14:00:29 2011 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Thu, 22 Sep 2011 21:00:29 +0000 Subject: /hg/icedtea-web: PR788: Elluminate Live! is not working Message-ID: changeset 1fc5f8ceb75c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1fc5f8ceb75c author: Omair Majid date: Thu Sep 22 17:00:02 2011 -0400 PR788: Elluminate Live! is not working 2011-09-22 Omair Majid PR788: Elluminate Live! is not working * NEWS: Update. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (checkForMain): If localFile is null (JAR couldn't be downloaded), try to continue, rather than allowing the exception to cause an abort. diffstat: ChangeLog | 8 ++++++++ NEWS | 1 + netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 7 ++++--- 3 files changed, 13 insertions(+), 3 deletions(-) diffs (43 lines): diff -r 8ab68d19c6f7 -r 1fc5f8ceb75c ChangeLog --- a/ChangeLog Wed Sep 21 14:45:25 2011 -0400 +++ b/ChangeLog Thu Sep 22 17:00:02 2011 -0400 @@ -1,3 +1,11 @@ +2011-09-22 Omair Majid + + PR788: Elluminate Live! is not working + * NEWS: Update. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (checkForMain): If localFile is null (JAR couldn't be downloaded), try to + continue, rather than allowing the exception to cause an abort. + 2011-09-21 Omair Majid PR766: javaws fails to parse an node that contains CDATA diff -r 8ab68d19c6f7 -r 1fc5f8ceb75c NEWS --- a/NEWS Wed Sep 21 14:45:25 2011 -0400 +++ b/NEWS Thu Sep 22 17:00:02 2011 -0400 @@ -14,6 +14,7 @@ - RH718170, CVE-2011-2514: Java Web Start security warning dialog manipulation * NetX - PR765: JNLP file with all resource jars marked as 'lazy' fails to validate signature and stops the launch of application + - PR788: Elluminate Live! is not working * Plugin - PR749: sun.applet.PluginStreamHandler#handleMessage(String) really slow - PR782: Support building against npapi-sdk as well diff -r 8ab68d19c6f7 -r 1fc5f8ceb75c netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Sep 21 14:45:25 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Sep 22 17:00:02 2011 -0400 @@ -586,9 +586,10 @@ File localFile = tracker .getCacheFile(jars.get(i).getLocation()); - if (localFile == null) - throw new NullPointerException( - "Could not locate jar file, returned null"); + if (localFile == null) { + System.err.println("JAR " + jars.get(i).getLocation() + " not found. Continuing."); + continue; // JAR not found. Keep going. + } JarFile jarFile = new JarFile(localFile); Enumeration entries = jarFile.entries(); From bugzilla-daemon at icedtea.classpath.org Thu Sep 22 14:01:21 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 22 Sep 2011 21:01:21 +0000 Subject: [Bug 788] Elluminate Live! is not working In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=788 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED --- Comment #5 from Omair Majid 2011-09-22 21:01:21 --- Fixed: http://icedtea.classpath.org/hg/icedtea-web/rev/1fc5f8ceb75c -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From ahughes at redhat.com Thu Sep 22 19:07:24 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Fri, 23 Sep 2011 03:07:24 +0100 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <4E7B4475.4040007@redhat.com> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B4475.4040007@redhat.com> Message-ID: <20110923020724.GA5542@rivendell.middle-earth.co.uk> On 16:21 Thu 22 Sep , Pavel Tisnovsky wrote: > Deepak Bhole wrote: > > * Pavel Tisnovsky [2011-09-22 08:37]: > >> Greetings, > >> > >> there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. > >> > >> Config log & shell script used to build IcedTea7 is stored in an attachment. > >> > > > > Is libattr-devel installed on the system? > > > > Cheers, > > Deepak > > Hi Deepak, > > I'm an one step closer to a successful build :-) but I think I know what's the cause of following error: > > gcc -O2 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer > -D_LITTLE_ENDIAN -g -DNDEBUG -DARCH='"amd64"' -Damd64 -DLINUX -DRELEASE='"1.7.0_147-icedtea"' -D_LARGEFILE64_SOURCE > -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/CClassHeaders > -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/native/common > -I../../../src/solaris/native/common -I../../../src/share/native/sun/awt/X11 -I../../../src/solaris/native/sun/awt/X11 > -I/usr/include -DXAWT -DXAWT_HACK > -I/jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/../../sun.awt/awt/CClassHeaders > -I../../../src/solaris/native/sun/awt -I../../../src/solaris/native/sun/xawt -I../../../src/solaris/native/sun/jdga > -I../../../src/share/native/sun/awt/debug -I../../../src/share/native/sun/awt/image/cvutils > -I../../../src/share/native/sun/java2d -I../../../src/share/native/sun/java2d/loops > -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/awt/image > -I../../../src/share/native/sun/font -I../../../src/solaris/native/sun/java2d > -I../../../src/share/native/sun/java2d/pipe -I../../../src/share/native/sun/java2d/opengl > -I../../../src/solaris/native/sun/java2d/opengl -I../../../src/solaris/native/sun/java2d/x11 > -I../../../src/share/native/sun/dc/path -I../../../src/share/native/sun/dc/doe > -I../../../src/share/native/sun/awt/alphacomposite -I../../../src/share/native/sun/awt/medialib > -I../../../src/solaris/native/sun/awt/medialib -I../../../src/solaris/native/sun/font > -I../../../src/share/native/sun/awt -I../../../src/solaris/native/sun/awt -I/usr/include/gtk-2.0 > -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 > -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 > -DUSE_SYSTEM_GTK -DUSE_SYSTEM_CUPS -DUSE_SYSTEM_FONTCONFIG -I../../../src/solaris/native/common/deps/glib2 > -I/usr/X11R6/include/X11/extensions -I/usr/include/X11/extensions -I/usr/X11R6//include -Xlinker -O1 -Xlinker > -version-script=mapfile-vers -Wl,--hash-style=both -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN > -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN/.. -Xlinker -z -Xlinker defs > -L/jck/icedtea7/openjdk.build/lib/amd64 -Wl,-soname=libmawt.so -L/usr/X11R6//lib64 -lpthread -shared -mimpure-text -o > /jck/icedtea7/openjdk.build/lib/amd64/xawt/libmawt.so > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/XlibWrapper.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/XWindow.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/XToolkit.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11Color.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11SurfaceData.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_GraphicsEnv.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_InputMethod.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/robot_common.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Robot.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/list.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/multiVis.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/initIDs.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_util.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Desktop.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_UNIXToolkit.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11FontScaler_md.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11TextRenderer_md.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/fontpath.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Insets.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Event.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11Renderer.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/X11PMBlitLoops.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLBlitLoops.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLBufImgOps.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLContext.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLFuncs.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLMaskBlit.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLMaskFill.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLPaints.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLRenderQueue.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLRenderer.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLSurfaceData.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLTextRenderer.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/OGLVertexCache.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/GLXGraphicsConfig.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/GLXSurfaceData.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/AccelGlyphCache.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Font.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/multi_font.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_AWTEvent.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_DrawingSurface.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/jawt.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/CUPSfuncs.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/debug_assert.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/debug_mem.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/debug_trace.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/debug_util.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/awt_Plugin.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/gtk2_interface.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/swing_GTKEngine.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/swing_GTKStyle.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/rect.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/sun_awt_X11_GtkFileDialogPeer.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/XRSurfaceData.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/XRBackendNative.o > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/gio_fp.o -lm -lawt -lXext -lX11 -lXrender -ldl > -Wl,--hash-style=both -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN -Xlinker -z -Xlinker origin > -Xlinker -rpath -Xlinker \$ORIGIN/.. -Xlinker -z -Xlinker defs -L/jck/icedtea7/openjdk.build/lib/amd64 > -Wl,-soname=libmawt.so -lXtst -lXi -L/lib64 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm > -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lcups -lfontconfig -ljava > -L/jck/icedtea7/openjdk.build/lib/amd64/server -ljvm -lc > /jck/icedtea7/openjdk.build/tmp/sun/sun.awt.X11/xawt/obj64/gtk2_interface.o: In function `gtk2_load': > /jck/icedtea7/openjdk/jdk/make/sun/xawt/../../../src/solaris/native/sun/awt/gtk2_interface.c:218: undefined reference to > `g_thread_init' > collect2: ld returned 1 exit status Such reports would be a lot more useful if you included config.log so we had some idea how you were building. pkg-config should return -lgthread-2.0 in the libs for Gtk+: $ pkg-config --libs gtk+-2.0 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 I'm not convinced 7 will work on something as old as RHEL5 and I'm not sure why you are trying. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From ahughes at redhat.com Thu Sep 22 19:09:25 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Fri, 23 Sep 2011 03:09:25 +0100 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <20110922154919.GC26948@redhat.com> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B3E54.8030201@redhat.com> <20110922154919.GC26948@redhat.com> Message-ID: <20110923020925.GB5542@rivendell.middle-earth.co.uk> On 11:49 Thu 22 Sep , Deepak Bhole wrote: > * Pavel Tisnovsky [2011-09-22 09:53]: > > Deepak Bhole wrote: > > > * Pavel Tisnovsky [2011-09-22 08:37]: > > >> Greetings, > > >> > > >> there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. > > >> > > >> Config log & shell script used to build IcedTea7 is stored in an attachment. > > >> > > > > > > Is libattr-devel installed on the system? > > > > Nope (and ./configure did not complaint ;-). I've installed it and trying to build IcedTea7 again. > > > > Maybe it's the right moment to update the wiki page http://icedtea.classpath.org/wiki/BuildRequirements > > > > Do you think it's a good idea to split this page to IcedTea6 part and IcedTea7(8) part? > > > > Hi Pavel, > > Are the requirements radically different? From what I've seen, they are > very similar if not the same for v6 and 7. If we can maintain the same > page for both, I am all the more for it since it reduces changes of > pages getting out of sync. > You're wrong. NIO introduces a number of new dependencies including GIO and calls to extended attribute functions. All of this *should* be tested by configure, so I don't see the need to have a wiki page too. It probably just need some smoothing out to work on all systems (and may never work on some, due to the age of the packages). > Cheers, > Deepak -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From dbhole at redhat.com Thu Sep 22 19:21:26 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 22 Sep 2011 22:21:26 -0400 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <20110923020925.GB5542@rivendell.middle-earth.co.uk> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B3E54.8030201@redhat.com> <20110922154919.GC26948@redhat.com> <20110923020925.GB5542@rivendell.middle-earth.co.uk> Message-ID: <20110923022125.GI26948@redhat.com> * Dr Andrew John Hughes [2011-09-22 22:09]: > On 11:49 Thu 22 Sep , Deepak Bhole wrote: > > * Pavel Tisnovsky [2011-09-22 09:53]: > > > Deepak Bhole wrote: > > > > * Pavel Tisnovsky [2011-09-22 08:37]: > > > >> Greetings, > > > >> > > > >> there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. > > > >> > > > >> Config log & shell script used to build IcedTea7 is stored in an attachment. > > > >> > > > > > > > > Is libattr-devel installed on the system? > > > > > > Nope (and ./configure did not complaint ;-). I've installed it and trying to build IcedTea7 again. > > > > > > Maybe it's the right moment to update the wiki page http://icedtea.classpath.org/wiki/BuildRequirements > > > > > > Do you think it's a good idea to split this page to IcedTea6 part and IcedTea7(8) part? > > > > > > > Hi Pavel, > > > > Are the requirements radically different? From what I've seen, they are > > very similar if not the same for v6 and 7. If we can maintain the same > > page for both, I am all the more for it since it reduces changes of > > pages getting out of sync. > > > > You're wrong. NIO introduces a number of new dependencies including > GIO and calls to extended attribute functions. > Yeah I realized that after the conversation on IRC this morning. I was going by the # of deps I had to add to the 1.7 spec file for Fedora (none) vs 1.6. But clearly that was not adequate. Deepak From ptisnovs at redhat.com Fri Sep 23 01:24:07 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 23 Sep 2011 10:24:07 +0200 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <20110923020724.GA5542@rivendell.middle-earth.co.uk> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B4475.4040007@redhat.com> <20110923020724.GA5542@rivendell.middle-earth.co.uk> Message-ID: <4E7C4227.2040404@redhat.com> >> collect2: ld returned 1 exit status > > Such reports would be a lot more useful if you included config.log so we had some idea how you > were building. > config.log is included in my original mail Pavel From bugzilla-daemon at icedtea.classpath.org Fri Sep 23 08:36:45 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Sep 2011 15:36:45 +0000 Subject: [Bug 765] JNLP file with all resource jars marked as 'lazy' fails to validate signature and stops the launch of application In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=765 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |omajid at redhat.com Status|NEW |RESOLVED Resolution| |FIXED --- Comment #2 from Omair Majid 2011-09-23 15:36:44 --- Fixed: http://icedtea.classpath.org/hg/icedtea-web/rev/a06bae0764b6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From ahughes at redhat.com Fri Sep 23 08:57:28 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Fri, 23 Sep 2011 16:57:28 +0100 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <20110923022125.GI26948@redhat.com> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B3E54.8030201@redhat.com> <20110922154919.GC26948@redhat.com> <20110923020925.GB5542@rivendell.middle-earth.co.uk> <20110923022125.GI26948@redhat.com> Message-ID: <20110923155728.GC5542@rivendell.middle-earth.co.uk> On 22:21 Thu 22 Sep , Deepak Bhole wrote: > * Dr Andrew John Hughes [2011-09-22 22:09]: > > On 11:49 Thu 22 Sep , Deepak Bhole wrote: > > > * Pavel Tisnovsky [2011-09-22 09:53]: > > > > Deepak Bhole wrote: > > > > > * Pavel Tisnovsky [2011-09-22 08:37]: > > > > >> Greetings, > > > > >> > > > > >> there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. > > > > >> > > > > >> Config log & shell script used to build IcedTea7 is stored in an attachment. > > > > >> > > > > > > > > > > Is libattr-devel installed on the system? > > > > > > > > Nope (and ./configure did not complaint ;-). I've installed it and trying to build IcedTea7 again. > > > > > > > > Maybe it's the right moment to update the wiki page http://icedtea.classpath.org/wiki/BuildRequirements > > > > > > > > Do you think it's a good idea to split this page to IcedTea6 part and IcedTea7(8) part? > > > > > > > > > > Hi Pavel, > > > > > > Are the requirements radically different? From what I've seen, they are > > > very similar if not the same for v6 and 7. If we can maintain the same > > > page for both, I am all the more for it since it reduces changes of > > > pages getting out of sync. > > > > > > > You're wrong. NIO introduces a number of new dependencies including > > GIO and calls to extended attribute functions. > > > > Yeah I realized that after the conversation on IRC this morning. I was > going by the # of deps I had to add to the 1.7 spec file for Fedora > (none) vs 1.6. But clearly that was not adequate. > You should check out the recent IcedTea changes. There are a number of latent dependencies that, in upstream OpenJDK, don't get activated until a particular piece of runtime code is activated. With IcedTea, I've provided the option to build against these dependencies at runtime instead (as part of the general system library update for jpeg, png, etc.). Some probably also apply to 6, although they'll remain runtime there (do your 6 packages depend on Gtk+, Gnome-VFS and GConf?) I'll be blogging about this shortly. > Deepak > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From omajid at icedtea.classpath.org Fri Sep 23 09:06:18 2011 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Fri, 23 Sep 2011 16:06:18 +0000 Subject: /hg/icedtea-web: RH738814: Access denied at ssl handshake Message-ID: changeset 16c81f4dcf12 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=16c81f4dcf12 author: Omair Majid date: Fri Sep 23 12:05:43 2011 -0400 RH738814: Access denied at ssl handshake It turns out that TrustManager.checkTrusted() could be called by untrusted code. In such a case, we should still show a warning to the user, and not throw a SecurityException instead. 2011-09-23 Omair Majid * netx/net/sourceforge/jnlp/security/SecurityDialogs.java (showCertWarningDialog): Add a javadoc comment. * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java (askUser): Wrap the call to showCertWarningDialog in a doPrivileged block. diffstat: ChangeLog | 9 +++++ NEWS | 1 + netx/net/sourceforge/jnlp/security/SecurityDialogs.java | 2 + netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 18 +++++++-- 4 files changed, 25 insertions(+), 5 deletions(-) diffs (81 lines): diff -r 1fc5f8ceb75c -r 16c81f4dcf12 ChangeLog --- a/ChangeLog Thu Sep 22 17:00:02 2011 -0400 +++ b/ChangeLog Fri Sep 23 12:05:43 2011 -0400 @@ -1,3 +1,12 @@ +2011-09-23 Omair Majid + + RH738814: Access denied at ssl handshake + * netx/net/sourceforge/jnlp/security/SecurityDialogs.java + (showCertWarningDialog): Add a javadoc comment. + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java + (askUser): Wrap the call to showCertWarningDialog in a doPrivileged + block. + 2011-09-22 Omair Majid PR788: Elluminate Live! is not working diff -r 1fc5f8ceb75c -r 16c81f4dcf12 NEWS --- a/NEWS Thu Sep 22 17:00:02 2011 -0400 +++ b/NEWS Fri Sep 23 12:05:43 2011 -0400 @@ -26,6 +26,7 @@ - PR769: IcedTea-Web does not work with some ssl sites with OpenJDK7 - PR789: typo in jrunscript.sh - RH734081: Javaws cannot use proxy settings from Firefox + - RH738814: Access denied at ssl handshake New in release 1.1 (2011-XX-XX): * Security updates diff -r 1fc5f8ceb75c -r 16c81f4dcf12 netx/net/sourceforge/jnlp/security/SecurityDialogs.java --- a/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Thu Sep 22 17:00:02 2011 -0400 +++ b/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Fri Sep 23 12:05:43 2011 -0400 @@ -181,6 +181,8 @@ * @param accessType the type of warning dialog to show * @param file the JNLPFile associated with this warning * @param jarSigner the JarSigner used to verify this application + * + * @return true if the user accepted the certificate */ public static boolean showCertWarningDialog(AccessType accessType, JNLPFile file, CertVerifier jarSigner) { diff -r 1fc5f8ceb75c -r 16c81f4dcf12 netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java --- a/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Thu Sep 22 17:00:02 2011 -0400 +++ b/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Fri Sep 23 12:05:43 2011 -0400 @@ -37,7 +37,9 @@ package net.sourceforge.jnlp.security; +import java.security.AccessController; import java.security.KeyStore; +import java.security.PrivilegedAction; import java.security.cert.Certificate; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; @@ -380,17 +382,23 @@ * @param authType The authentication algorithm * @return user's response */ - private boolean askUser(X509Certificate[] chain, String authType, - boolean isTrusted, boolean hostMatched, - String hostName) { + private boolean askUser(final X509Certificate[] chain, final String authType, + final boolean isTrusted, final boolean hostMatched, + final String hostName) { if (JNLPRuntime.isTrustAll()){ return true; } - return SecurityDialogs.showCertWarningDialog( + final VariableX509TrustManager trustManager = this; + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public Boolean run() { + return SecurityDialogs.showCertWarningDialog( AccessType.UNVERIFIED, null, - new HttpsCertVerifier(this, chain, authType, + new HttpsCertVerifier(trustManager, chain, authType, isTrusted, hostMatched, hostName)); + } + }); } /** From omajid at icedtea.classpath.org Fri Sep 23 09:14:57 2011 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Fri, 23 Sep 2011 16:14:57 +0000 Subject: /hg/release/icedtea-web-1.1: RH738814: Access denied at ssl hand... Message-ID: changeset 0a1733685325 in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=0a1733685325 author: Omair Majid date: Fri Sep 23 12:14:39 2011 -0400 RH738814: Access denied at ssl handshake It turns out that TrustManager.checkTrusted() could be called by untrusted code. In such a case, we should still show a warning to the user, and not throw a SecurityException instead. 2011-09-23 Omair Majid * netx/net/sourceforge/jnlp/security/SecurityDialogs.java (showCertWarningDialog): Add a javadoc comment. * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java (askUser): Wrap the call to showCertWarningDialog in a doPrivileged block. diffstat: ChangeLog | 9 +++++ NEWS | 1 + netx/net/sourceforge/jnlp/security/SecurityDialogs.java | 2 + netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 18 +++++++-- 4 files changed, 25 insertions(+), 5 deletions(-) diffs (78 lines): diff -r c7b22b085229 -r 0a1733685325 ChangeLog --- a/ChangeLog Tue Sep 13 16:23:04 2011 -0400 +++ b/ChangeLog Fri Sep 23 12:14:39 2011 -0400 @@ -1,3 +1,12 @@ +2011-09-23 Omair Majid + + RH738814: Access denied at ssl handshake + * netx/net/sourceforge/jnlp/security/SecurityDialogs.java + (showCertWarningDialog): Add a javadoc comment. + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java + (askUser): Wrap the call to showCertWarningDialog in a doPrivileged + block. + 2011-09-13 Deepak Bhole PR782: Support building against npapi-sdk as well diff -r c7b22b085229 -r 0a1733685325 NEWS --- a/NEWS Tue Sep 13 16:23:04 2011 -0400 +++ b/NEWS Fri Sep 23 12:14:39 2011 -0400 @@ -20,6 +20,7 @@ - PR768: Signed applets/Web Start apps don't work with OpenJDK7 and up - PR769: IcedTea-Web does not work with some ssl sites with OpenJDK7 - RH734081: Javaws cannot use proxy settings from Firefox + - RH738814: Access denied at ssl handshake New in release 1.1.1 (2011-07-20): * Security updates: diff -r c7b22b085229 -r 0a1733685325 netx/net/sourceforge/jnlp/security/SecurityDialogs.java --- a/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Tue Sep 13 16:23:04 2011 -0400 +++ b/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Fri Sep 23 12:14:39 2011 -0400 @@ -181,6 +181,8 @@ * @param accessType the type of warning dialog to show * @param file the JNLPFile associated with this warning * @param jarSigner the JarSigner used to verify this application + * + * @return true if the user accepted the certificate */ public static boolean showCertWarningDialog(AccessType accessType, JNLPFile file, CertVerifier jarSigner) { diff -r c7b22b085229 -r 0a1733685325 netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java --- a/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Tue Sep 13 16:23:04 2011 -0400 +++ b/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Fri Sep 23 12:14:39 2011 -0400 @@ -37,7 +37,9 @@ package net.sourceforge.jnlp.security; +import java.security.AccessController; import java.security.KeyStore; +import java.security.PrivilegedAction; import java.security.cert.Certificate; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; @@ -379,14 +381,20 @@ * @param authType The authentication algorithm * @return user's response */ - private boolean askUser(X509Certificate[] chain, String authType, - boolean isTrusted, boolean hostMatched, - String hostName) { - return SecurityDialogs.showCertWarningDialog( + private boolean askUser(final X509Certificate[] chain, final String authType, + final boolean isTrusted, final boolean hostMatched, + final String hostName) { + final VariableX509TrustManager trustManager = this; + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public Boolean run() { + return SecurityDialogs.showCertWarningDialog( AccessType.UNVERIFIED, null, - new HttpsCertVerifier(this, chain, authType, + new HttpsCertVerifier(trustManager, chain, authType, isTrusted, hostMatched, hostName)); + } + }); } /** From omajid at redhat.com Fri Sep 23 09:15:34 2011 From: omajid at redhat.com (Omair Majid) Date: Fri, 23 Sep 2011 12:15:34 -0400 Subject: [icedtea-web] RFC: RH738814 - Access denied at ssl handshake In-Reply-To: <20110922205708.GH26948@redhat.com> References: <4E77B96E.8010401@redhat.com> <20110922205708.GH26948@redhat.com> Message-ID: <4E7CB0A6.7010301@redhat.com> On 09/22/2011 04:57 PM, Deepak Bhole wrote: > * Omair Majid [2011-09-19 17:53]: >> Hi, >> >> The attached patch should address RH738814 [1] >> >> The stack trace of the exception shows that code in >> VariableX509TrustManager tries do show a prompt which needs all >> permissions. Since the method call was originally from an untrusted >> applet, these permissions are missing and a security exception is >> thrown. >> >> Something along this line was anticipated earlier [2], but my fix >> may have been too broad. So now that we have a stack trace, I have a >> more focused patch. Any thoughts or comments? >> >> The patch is for HEAD, but applies to 1.1 as well. It should also >> apply to 1.0 after trivial changes - though I am not sure if that's >> something we should do. >> > > Agreed. I am not sure how worthwhile it is to fix this in 1.0 either. > > Approved for 1.1 and HEAD. Thanks; Pushed. Cheers, Omair From ptisnovs at icedtea.classpath.org Fri Sep 23 09:20:36 2011 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 23 Sep 2011 16:20:36 +0000 Subject: /hg/gfx-test: Added new class containing static methods (functio... Message-ID: changeset 6cd725fbe450 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=6cd725fbe450 author: Pavel Tisnovsky date: Fri Sep 23 18:22:29 2011 +0200 Added new class containing static methods (functions) which will be used by test suites containing various CAG operations. diffstat: ChangeLog | 7 + Makefile | 1 + src/org/gfxtest/framework/CommonCAGOperations.java | 605 +++++++ src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java | 757 +++++++++- 4 files changed, 1361 insertions(+), 9 deletions(-) diffs (truncated from 1408 to 500 lines): diff -r bc3c1c37b226 -r 6cd725fbe450 ChangeLog --- a/ChangeLog Thu Sep 22 17:59:04 2011 +0200 +++ b/ChangeLog Fri Sep 23 18:22:29 2011 +0200 @@ -1,3 +1,10 @@ +2011-09-23 Pavel Tisnovsky + + * Makefile: added new class to compile + * src/org/gfxtest/framework/CommonCAGOperations.java: + Added new class containing static methods (functions) which will be + used by test suites containing various CAG operations. + 2011-09-22 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsCircleRectangleOps.java: diff -r bc3c1c37b226 -r 6cd725fbe450 Makefile --- a/Makefile Thu Sep 22 17:59:04 2011 +0200 +++ b/Makefile Fri Sep 23 18:22:29 2011 +0200 @@ -75,6 +75,7 @@ $(CLASSES)/$(FRAMEWORK_DIR)/annotations/Transformations.class \ $(CLASSES)/$(FRAMEWORK_DIR)/annotations/Transformation.class \ $(CLASSES)/$(FRAMEWORK_DIR)/annotations/Zoom.class \ + $(CLASSES)/$(FRAMEWORK_DIR)/CommonCAGOperations.class \ $(CLASSES)/$(FRAMEWORK_DIR)/CommonRenderingStyles.class \ $(CLASSES)/$(FRAMEWORK_DIR)/CommonShapesRenderer.class \ $(CLASSES)/$(FRAMEWORK_DIR)/EntityRenderingStyle.class \ diff -r bc3c1c37b226 -r 6cd725fbe450 src/org/gfxtest/framework/CommonCAGOperations.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/gfxtest/framework/CommonCAGOperations.java Fri Sep 23 18:22:29 2011 +0200 @@ -0,0 +1,605 @@ +/* + Java gfx-test framework + + Copyright (C) 2010, 2011 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.gfxtest.framework; + +import java.awt.geom.Area; +import java.awt.geom.Ellipse2D; +import java.awt.geom.Rectangle2D; + +/** + * This class contains static methods used by various CAG operations tests. + * (CAG = Constructive Area Geometry) + * + * @author Pavel Tisnovsky + */ +public class CommonCAGOperations +{ + + /** + * Compute radius of circle from the position of its center point in an + * image size (width and height). + * + * @param xc + * x-coordinate of the center of the test image. + * @param y + * y-coordinate of the center of the test image. + * @return radius of circle + */ + private static int computeRadiusForOverlappingCircle(int xc, int yc) + { + return ((xc > yc ? yc : xc) << 1) / 3; + } + + /** + * Compute size of the rectangle from the position of center point in an + * image. + * + * @param xc + * x-coordinate of the center of the test image. + * @param y + * y-coordinate of the center of the test image. + * @return size of the rectangle + */ + private static int computeSizeForOverlappingRectangle(int xc, int yc) + { + return (xc > yc ? yc : xc) >> 1; + } + + /** + * Compute size of the rectangle or circle from the position of center point + * in an image. + * + * @param xc + * x-coordinate of the center of the test image. + * @param y + * y-coordinate of the center of the test image. + * @return size of the circle or rectangle + */ + private static int computeSizeOfCircleOrRectangle(int xc, int yc) + { + return (xc > yc ? yc : xc) >> 1; + } + + /** + * Create circular area i.e. area consisting of just one circle. + * + * @param xc + * the X coordinate of the center of circle + * @param yc + * the Y coordinate of the center of circle + * @param radius + * radius of circle + * @return newly created area containing one circle + */ + private static Area createCircularArea(int xc, int yc, int radius) + { + Ellipse2D circle = new Ellipse2D.Double(xc - radius, yc - radius, radius << 1, radius << 1); + return new Area(circle); + } + + /** + * Create rectangular area i.e. area consisting of just one rectangle. + * + * @param xc + * the X coordinate of the center of rectangle + * @param yc + * the Y coordinate of the center of rectangle + * @param size + * of rectangle + * @return newly created area containing one rectangle + */ + private static Area createRectangularArea(int xc, int yc, int size) + { + Rectangle2D rectangle = new Rectangle2D.Double(xc - size, yc - size, size << 1, size << 1); + return new Area(rectangle); + } + + /** + * Create area composed of only one circle. This circle is placed on the + * left side of the image. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one circle + */ + private static Area createFirstOverlappingCircularArea(TestImage image) + { + int xc = image.getCenterX(); + int yc = image.getCenterY(); + int radius = computeRadiusForOverlappingCircle(xc, yc); + // move circle to the left side of image + int x1 = xc - 3 * (radius >> 2); + return createCircularArea(x1, yc, radius); + } + + /** + * Create area composed of only one circle. This circle is placed on the + * right side of the image. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one circle + */ + private static Area createSecondOverlappingCircularArea(TestImage image) + { + int xc = image.getCenterX(); + int yc = image.getCenterY(); + int radius = computeRadiusForOverlappingCircle(xc, yc); + // move circle to the right side of image + int x2 = xc + 3 * (radius >> 2); + return createCircularArea(x2, yc, radius); + } + + /** + * Create area composed of only one rectangle. This rectangle is placed on + * the upper left side of the image. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one rectangle + */ + private static Area createFirstOverlappingRectangularArea(TestImage image) + { + // compute center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + // compute size of the rectangle + int size = computeSizeForOverlappingRectangle(xc, yc); + int x = xc - 3 * (size >> 2); + // it's better to align rectangle sides with the grid + x = x + (x % image.getGrid()); + int y = yc - (size >> 1); + return createRectangularArea(x, y, size); + } + + /** + * Create area composed of only one 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 createSecondOverlappingRectangularArea(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 createRectangularArea(x, y, size); + } + + /** + * Create area composed of only one rectangle. This rectangle is placed on + * the center of the image. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one rectangle + */ + private static Area createCenteredRectangularArea(TestImage image) + { + // compute center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + // compute size of the rectangle + int size = 3 * computeSizeOfCircleOrRectangle(xc, yc) / 2 - 10; + // it's better to align rectangle sides with the grid + return createRectangularArea(xc, yc, size); + } + + /** + * Create area composed of only one circle. This circle is placed on + * the center of the image and its radius is bigger than the length + * of rectangle side(s). + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one circle + */ + private static Area createBiggerCenteredCircularArea(TestImage image) + { + // compute center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + // compute size of the circle + int size = computeSizeOfCircleOrRectangle(xc, yc) * 5 / 3; + return createCircularArea(xc, yc, size); + } + + /** + * Create area composed of only one circle. This circle is placed on + * the center of the image and its radius is smaller than the length + * of rectangle side(s). + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one circle + */ + private static Area createSmallerCenteredCircularArea(TestImage image) + { + // compute center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + // compute size of the circle + int size = computeSizeOfCircleOrRectangle(xc, yc); + return createCircularArea(xc, yc, size); + } + + /** + * Create new area composed from two overlapping circles using union + * operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two circles + */ + public static Area createAreaFromTwoOverlappingCirclesUsingUnionOperator(TestImage image) + { + Area circle1Area = createFirstOverlappingCircularArea(image); + Area circle2Area = createSecondOverlappingCircularArea(image); + Area area = new Area(); + area.add(circle1Area); + area.add(circle2Area); + return area; + } + + /** + * Create new area composed from two overlapping circles using subtract + * operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two circles + */ + public static Area createAreaFromTwoOverlappingCirclesUsingSubtractOperator(TestImage image) + { + Area circle1Area = createFirstOverlappingCircularArea(image); + Area circle2Area = createSecondOverlappingCircularArea(image); + Area area = new Area(); + area.add(circle1Area); + area.subtract(circle2Area); + return area; + } + + /** + * Create new area composed from two overlapping circles using subtract + * operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two circles + */ + public static Area createAreaFromTwoOverlappingCirclesUsingInverseSubtractOperator(TestImage image) + { + Area circle1Area = createFirstOverlappingCircularArea(image); + Area circle2Area = createSecondOverlappingCircularArea(image); + Area area = new Area(); + area.add(circle2Area); + area.subtract(circle1Area); + return area; + } + + /** + * Create new area composed from two overlapping circles using intersect + * operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two circles + */ + public static Area createAreaFromTwoOverlappingCirclesUsingIntersectOperator(TestImage image) + { + Area circle1Area = createFirstOverlappingCircularArea(image); + Area circle2Area = createSecondOverlappingCircularArea(image); + Area area = new Area(); + area.add(circle1Area); + area.intersect(circle2Area); + return area; + } + + /** + * Create new area composed from two overlapping circles using XOR operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two circles + */ + public static Area createAreaFromTwoOverlappingCirclesUsingXorOperator(TestImage image) + { + Area circle1Area = createFirstOverlappingCircularArea(image); + Area circle2Area = createSecondOverlappingCircularArea(image); + Area area = new Area(); + area.add(circle1Area); + area.exclusiveOr(circle2Area); + return area; + } + + /** + * Create new area composed from two rectangles using union operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromTwoOverlappingRectanglesUsingUnionOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRectangularArea(image); + Area area = new Area(); + area.add(rectangle1Area); + area.add(rectangle2Area); + return area; + } + + /** + * Create new area composed from two rectangles using subtract operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromTwoOverlappingRectanglesUsingSubtractOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRectangularArea(image); + Area area = new Area(); + area.add(rectangle1Area); + area.subtract(rectangle2Area); + return area; + } + + /** + * Create new area composed from two rectangles using subtract operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromTwoOverlappingRectanglesUsingInverseSubtractOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRectangularArea(image); + Area area = new Area(); + area.add(rectangle2Area); + area.subtract(rectangle1Area); + return area; + } + + /** + * Create new area composed from two rectangles using intersect operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromTwoOverlappingRectanglesUsingIntersectOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRectangularArea(image); + Area area = new Area(); + area.add(rectangle1Area); + area.intersect(rectangle2Area); + return area; + } + + /** + * Create new area composed from two rectangles using XOR operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromTwoOverlappingRectanglesUsingXorOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRectangularArea(image); + Area area = new Area(); + area.add(rectangle2Area); + area.exclusiveOr(rectangle1Area); + return area; + } + + /** + * Create new area constructed from bigger circle and rectangle using union + * operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area + */ + public static Area createAreaFromBiggerCircleAndRectangleUsingUnionOperator(TestImage image) + { + Area area = new Area(); + area.add(createBiggerCenteredCircularArea(image)); + area.add(createCenteredRectangularArea(image)); + return area; + } + + /** + * Create new area constructed from bigger circle and rectangle using intersect + * operation. + * + * @param image + * image to which area is to be drawn + * @return newly created area + */ + public static Area createAreaFromBiggerCircleAndRectangleUsingIntersectOperator(TestImage image) + { + Area area = new Area(); From bugzilla-daemon at icedtea.classpath.org Fri Sep 23 09:29:25 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Sep 2011 16:29:25 +0000 Subject: [Bug 717] All non-bootstrap patches in IcedTea7 should be in the forest or dropped In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=717 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #1 from Andrew John Hughes 2011-09-23 16:29:25 --- Done. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From andrew at icedtea.classpath.org Fri Sep 23 09:30:39 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 23 Sep 2011 16:30:39 +0000 Subject: /hg/icedtea7: PR717: Remove all non-bootstrap non-conditional pa... Message-ID: changeset 48d7359c75f6 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=48d7359c75f6 author: Andrew John Hughes date: Fri Sep 23 17:30:26 2011 +0100 PR717: Remove all non-bootstrap non-conditional patches. 2011-09-21 Andrew John Hughes PR717: Remove all non-bootstrap non-conditional patches. * patches/6592792.patch, * patches/6733959.patch, * patches/6755943.patch: Remove unused patches. * patches/alpha-fixes.patch, * patches/alt-jar.patch, * patches/cacao/arch.patch, * patches/clean-crypto.patch, * patches/debian/uname.patch, * patches/disable-intree-ec.patch: Moved upstream. * patches/javafiles.patch: Moved to boot. * patches/jtreg-httpTest.patch, * patches/jvmtiEnv.patch, * patches/lc_ctype.patch, * patches/override-redirect-metacity.patch, * patches/params-cast-size_t.patch: Moved upstream. * patches/parisc-opt.patch: Obsolete. * patches/parisc.patch, * patches/samejvm-safe.patch, * patches/security-updates.patch, * patches/security/6592792.patch, * patches/security/6733959.patch, * patches/security/6755943.patch, * patches/sh4-support.patch, * patches/signed-types.patch: Moved upstream. * patches/sources.patch: Obsolete. * patches/sparc-ptracefix.patch, * patches/sparc-trapsfix.patch, * patches/systemtap-gcc-4.5.patch, * patches/tests-jdk.patch, * patches/update-bootclasspath.patch, * patches/use-idx_t.patch: Moved upstream. * Makefile.am: (JDK_CHANGESET): Bring in upstreamed patches. (JDK_SHA256SUM): Likewise. (CORBA_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (HOTSPOT_CHANGESET): Likewise. (HOTSPOT_SHA256SUM): Likewise. (ICEDTEA_PATCHES): Set to empty, bar conditional additions. (ICEDTEA_BOOT_PATCHES): Add javafiles.patch. * patches/boot/javafiles.patch: Only needed for bootstrapping to ensure all classes are included. * patches/nss-config.patch, * patches/nss-not-enabled-config.patch: Updated against upstream disable-intree-ec. * NEWS: Updated. diffstat: ChangeLog | 59 + Makefile.am | 52 +- NEWS | 1 + patches/6592792.patch | 290 -------- patches/6733959.patch | 222 ------ patches/6755943.patch | 372 ---------- patches/alpha-fixes.patch | 31 - patches/alt-jar.patch | 14 - patches/boot/javafiles.patch | 157 ++++ patches/cacao/arch.patch | 151 ---- patches/clean-crypto.patch | 1072 ------------------------------ patches/debian/uname.patch | 24 - patches/disable-intree-ec.patch | 22 - patches/javafiles.patch | 157 ---- patches/jtreg-httpTest.patch | 36 - patches/jvmtiEnv.patch | 11 - patches/lc_ctype.patch | 30 - patches/nss-config.patch | 7 +- patches/nss-not-enabled-config.patch | 7 +- patches/override-redirect-metacity.patch | 10 - patches/params-cast-size_t.patch | 97 -- patches/parisc-opt.patch | 26 - patches/parisc.patch | 13 - patches/samejvm-safe.patch | 11 - patches/security-updates.patch | 100 -- patches/security/6592792.patch | 68 - patches/security/6733959.patch | 18 - patches/security/6755943.patch | 372 ---------- patches/sh4-support.patch | 154 ---- patches/signed-types.patch | 33 - patches/sources.patch | 16 - patches/sparc-ptracefix.patch | 33 - patches/sparc-trapsfix.patch | 19 - patches/systemtap-gcc-4.5.patch | 10 - patches/tests-jdk.patch | 13 - patches/update-bootclasspath.patch | 12 - patches/use-idx_t.patch | 43 - 37 files changed, 236 insertions(+), 3527 deletions(-) diffs (truncated from 4055 to 500 lines): diff -r e8227389e2e0 -r 48d7359c75f6 ChangeLog --- a/ChangeLog Wed Sep 21 18:56:43 2011 +0100 +++ b/ChangeLog Fri Sep 23 17:30:26 2011 +0100 @@ -1,3 +1,62 @@ +2011-09-21 Andrew John Hughes + + PR717: Remove all non-bootstrap non-conditional + patches. + * patches/6592792.patch, + * patches/6733959.patch, + * patches/6755943.patch: + Remove unused patches. + * patches/alpha-fixes.patch, + * patches/alt-jar.patch, + * patches/cacao/arch.patch, + * patches/clean-crypto.patch, + * patches/debian/uname.patch, + * patches/disable-intree-ec.patch: + Moved upstream. + * patches/javafiles.patch: + Moved to boot. + * patches/jtreg-httpTest.patch, + * patches/jvmtiEnv.patch, + * patches/lc_ctype.patch, + * patches/override-redirect-metacity.patch, + * patches/params-cast-size_t.patch: + Moved upstream. + * patches/parisc-opt.patch: Obsolete. + * patches/parisc.patch, + * patches/samejvm-safe.patch, + * patches/security-updates.patch, + * patches/security/6592792.patch, + * patches/security/6733959.patch, + * patches/security/6755943.patch, + * patches/sh4-support.patch, + * patches/signed-types.patch: + Moved upstream. + * patches/sources.patch: Obsolete. + * patches/sparc-ptracefix.patch, + * patches/sparc-trapsfix.patch, + * patches/systemtap-gcc-4.5.patch, + * patches/tests-jdk.patch, + * patches/update-bootclasspath.patch, + * patches/use-idx_t.patch: + Moved upstream. + * Makefile.am: + (JDK_CHANGESET): Bring in upstreamed patches. + (JDK_SHA256SUM): Likewise. + (CORBA_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (HOTSPOT_CHANGESET): Likewise. + (HOTSPOT_SHA256SUM): Likewise. + (ICEDTEA_PATCHES): Set to empty, bar conditional + additions. + (ICEDTEA_BOOT_PATCHES): Add javafiles.patch. + * patches/boot/javafiles.patch: + Only needed for bootstrapping to ensure + all classes are included. + * patches/nss-config.patch, + * patches/nss-not-enabled-config.patch: + Updated against upstream disable-intree-ec. + * NEWS: Updated. + 2011-09-21 Andrew John Hughes * Makefile.am: diff -r e8227389e2e0 -r 48d7359c75f6 Makefile.am --- a/Makefile.am Wed Sep 21 18:56:43 2011 +0100 +++ b/Makefile.am Fri Sep 23 17:30:26 2011 +0100 @@ -2,19 +2,19 @@ OPENJDK_VERSION = b147 -CORBA_CHANGESET = 616c760dc288 -HOTSPOT_CHANGESET = 1dd9b3d73b22 +CORBA_CHANGESET = d034cc90ecc2 +HOTSPOT_CHANGESET = 7693eb0fce1f JAXP_CHANGESET = c40983d6ae70 JAXWS_CHANGESET = 83db5e316798 -JDK_CHANGESET = 0cb15650412a +JDK_CHANGESET = 7ec1845521ed LANGTOOLS_CHANGESET = fb7fb3071b64 OPENJDK_CHANGESET = 3defd24c2671 -CORBA_SHA256SUM = 7589c42e88b4342750bea5afa306cc662cc9c5f7607fad96f70083ce70f4526e -HOTSPOT_SHA256SUM = ffb1831a63e950bb7ade46a5382cb71d2603e0f40b3f758eb346833e18fca150 +CORBA_SHA256SUM = 06e7778aa1670f064e2c9fef7bdedc66fc679262ab8ee7aee018329e1ec787a8 +HOTSPOT_SHA256SUM = 6b2c9b21918183a383ab380c57f70d4be6199df0e2127bb762a20b6eca39e3a2 JAXP_SHA256SUM = 6ab0cab1965edb28e4093b55436abd04fbffe0b0251016043c75246c4ee9dc2d JAXWS_SHA256SUM = 5567c90ce2857016365b2e346783a3b16ec0e76b80586a0371f601b4fed01f21 -JDK_SHA256SUM = ef2310b4df9e8a7891b927846badadf5441df8ac6203a215c8ef1a7676dfee36 +JDK_SHA256SUM = 843e7ccd4c2bad5c96aaa983e34f1eb27510229f138115fa0951e05358c50b2b LANGTOOLS_SHA256SUM = 9ddc00ec50fd2f5e331dc2bc10da4e23b69bf644eb92d50b39a2003c18fb5aa1 OPENJDK_SHA256SUM = 4043a75c2c4385dd735f8dbbf2369311ce1b951217c9dbe9bba9609e24eb291e @@ -245,33 +245,7 @@ # Patch list -ICEDTEA_PATCHES = \ - patches/debian/uname.patch \ - patches/sparc-ptracefix.patch \ - patches/sparc-trapsfix.patch \ - patches/override-redirect-metacity.patch \ - patches/security-updates.patch \ - patches/alpha-fixes.patch \ - patches/alt-jar.patch \ - patches/use-idx_t.patch \ - patches/params-cast-size_t.patch \ - patches/clean-crypto.patch \ - patches/cacao/arch.patch \ - patches/signed-types.patch \ - patches/lc_ctype.patch \ - patches/tests-jdk.patch \ - patches/samejvm-safe.patch \ - patches/parisc-opt.patch \ - patches/security/6592792.patch \ - patches/security/6733959.patch \ - patches/security/6755943.patch \ - patches/jvmtiEnv.patch \ - patches/disable-intree-ec.patch \ - patches/sources.patch \ - patches/parisc.patch \ - patches/sh4-support.patch \ - patches/jtreg-httpTest.patch \ - patches/update-bootclasspath.patch +ICEDTEA_PATCHES = # Conditional patches @@ -306,14 +280,8 @@ patches/pulse-soundproperties.patch endif -if !USE_CVMI -ICEDTEA_PATCHES += \ - patches/javafiles.patch -endif - if ENABLE_SYSTEMTAP ICEDTEA_PATCHES += patches/systemtap.patch \ - patches/systemtap-gcc-4.5.patch \ patches/systemtap-alloc-size-workaround.patch endif @@ -327,7 +295,9 @@ # Bootstrapping patches -ICEDTEA_BOOT_PATCHES = patches/boot/ant-javac.patch \ +ICEDTEA_BOOT_PATCHES = \ + patches/boot/javafiles.patch \ + patches/boot/ant-javac.patch \ patches/boot/corba-defs.patch \ patches/boot/corba-idlj.patch \ patches/boot/corba-no-gen.patch \ @@ -361,7 +331,7 @@ patches/boot/ecj-trywithresources.patch \ patches/boot/ecj-autoboxing.patch \ patches/boot/xsltproc.patch \ - patches/boot/use_target_6_for_bootstrap_classes.patch + patches/boot/use_target_6_for_bootstrap_classes.patch if CP39408_JAVAH ICEDTEA_BOOT_PATCHES += patches/boot/pr39408.patch diff -r e8227389e2e0 -r 48d7359c75f6 NEWS --- a/NEWS Wed Sep 21 18:56:43 2011 +0100 +++ b/NEWS Fri Sep 23 17:30:26 2011 +0100 @@ -17,6 +17,7 @@ - Fixed regression test runtime/7020373. - Convert to optional system library usage via USE_SYSTEM_ZLIB/JPEG/PNG/GIF. - PR586: Add missing sources to src.zip. + - PR717: All non-bootstrap non-conditional patches in IcedTea7 should be in the forest or dropped. - PR767: Annotation Processing Filer.getResource() always throws FileNotFoundException - G356743: Support building against libpng 1.5. - S7070134: Hotspot crashes with sigsegv from PorterStemmer diff -r e8227389e2e0 -r 48d7359c75f6 patches/6592792.patch --- a/patches/6592792.patch Wed Sep 21 18:56:43 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,297 +0,0 @@ -diff -Nru openjdk.orig/jaxws/src/share/classes/javax/xml/bind/ContextFinder.java openjdk/jaxws/src/share/classes/javax/xml/bind/ContextFinder.java ---- openjdk.orig/jaxws/src/share/classes/javax/xml/bind/ContextFinder.java 2008-12-02 15:25:05.000000000 +0000 -+++ openjdk/jaxws/src/share/classes/javax/xml/bind/ContextFinder.java 2008-12-02 15:29:09.000000000 +0000 -@@ -1,5 +1,5 @@ - /* -- * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. -+ * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it -@@ -128,12 +128,7 @@ - throws JAXBException - { - try { -- Class spiClass; -- if (classLoader == null) { -- spiClass = Class.forName(className); -- } else { -- spiClass = classLoader.loadClass(className); -- } -+ Class spiClass = safeLoadClass(className,classLoader); - - /* - * javax.xml.bind.context.factory points to a class which has a -@@ -205,11 +200,7 @@ - ClassLoader cl = Thread.currentThread().getContextClassLoader(); - Class spi; - try { -- logger.fine("Trying to load "+className); -- if (cl != null) -- spi = cl.loadClass(className); -- else -- spi = Class.forName(className); -+ spi = safeLoadClass(className,cl); - } catch (ClassNotFoundException e) { - throw new JAXBException(e); - } -@@ -483,4 +474,31 @@ - * For this reason, we have to hard-code the class name into the API. - */ - private static final String PLATFORM_DEFAULT_FACTORY_CLASS = "com.sun.xml.internal.bind.v2.ContextFactory"; -+ -+ /** -+ * Loads the class, provided that the calling thread has an access to the class being loaded. -+ */ -+ private static Class safeLoadClass(String className, ClassLoader classLoader) throws ClassNotFoundException { -+ logger.fine("Trying to load "+className); -+ try { -+ // make sure that the current thread has an access to the package of the given name. -+ SecurityManager s = System.getSecurityManager(); -+ if (s != null) { -+ int i = className.lastIndexOf('.'); -+ if (i != -1) { -+ s.checkPackageAccess(className.substring(0,i)); -+ } -+ } -+ -+ if (classLoader == null) -+ return Class.forName(className); -+ else -+ return classLoader.loadClass(className); -+ } catch (SecurityException se) { -+ // anyone can access the platform default factory class without permission -+ if (PLATFORM_DEFAULT_FACTORY_CLASS.equals(className)) -+ return Class.forName(className); -+ throw se; -+ } -+ } - } -diff -Nru openjdk.orig/jaxws/src/share/classes/javax/xml/ws/spi/FactoryFinder.java openjdk/jaxws/src/share/classes/javax/xml/ws/spi/FactoryFinder.java ---- openjdk.orig/jaxws/src/share/classes/javax/xml/ws/spi/FactoryFinder.java 2008-12-02 15:25:04.000000000 +0000 -+++ openjdk/jaxws/src/share/classes/javax/xml/ws/spi/FactoryFinder.java 2008-12-02 15:29:09.000000000 +0000 -@@ -1,5 +1,5 @@ - /* -- * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. -+ * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it -@@ -47,12 +47,7 @@ - ClassLoader classLoader) - { - try { -- Class spiClass; -- if (classLoader == null) { -- spiClass = Class.forName(className); -- } else { -- spiClass = classLoader.loadClass(className); -- } -+ Class spiClass = safeLoadClass(className, classLoader); - return spiClass.newInstance(); - } catch (ClassNotFoundException x) { - throw new WebServiceException( -@@ -152,4 +147,33 @@ - - return newInstance(fallbackClassName, classLoader); - } -+ -+ -+ private static final String PLATFORM_DEFAULT_FACTORY_CLASS = "com.sun.xml.internal.ws.spi.ProviderImpl"; -+ -+ /** -+ * Loads the class, provided that the calling thread has an access to the class being loaded. -+ */ -+ private static Class safeLoadClass(String className, ClassLoader classLoader) throws ClassNotFoundException { -+ try { -+ // make sure that the current thread has an access to the package of the given name. -+ SecurityManager s = System.getSecurityManager(); -+ if (s != null) { -+ int i = className.lastIndexOf('.'); -+ if (i != -1) { -+ s.checkPackageAccess(className.substring(0,i)); -+ } -+ } -+ -+ if (classLoader == null) -+ return Class.forName(className); -+ else -+ return classLoader.loadClass(className); -+ } catch (SecurityException se) { -+ // anyone can access the platform default factory class without permission -+ if (PLATFORM_DEFAULT_FACTORY_CLASS.equals(className)) -+ return Class.forName(className); -+ throw se; -+ } -+ } - } -diff -Nru openjdk.orig/jdk/src/share/lib/security/java.security openjdk/jdk/src/share/lib/security/java.security ---- openjdk.orig/jdk/src/share/lib/security/java.security 2008-11-20 08:44:48.000000000 +0000 -+++ openjdk/jdk/src/share/lib/security/java.security 2008-12-02 15:29:09.000000000 +0000 -@@ -127,7 +127,7 @@ - # passed to checkPackageAccess unless the - # corresponding RuntimePermission ("accessClassInPackage."+package) has - # been granted. --package.access=sun. -+package.access=sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind. - - # - # List of comma-separated packages that start with or equal this string -diff -Nru openjdk.orig/jdk/src/share/lib/security/java.security-solaris openjdk/jdk/src/share/lib/security/java.security-solaris ---- openjdk.orig/jdk/src/share/lib/security/java.security-solaris 2008-11-20 08:44:48.000000000 +0000 -+++ openjdk/jdk/src/share/lib/security/java.security-solaris 2008-12-02 15:29:09.000000000 +0000 -@@ -128,7 +128,7 @@ - # passed to checkPackageAccess unless the - # corresponding RuntimePermission ("accessClassInPackage."+package) has - # been granted. --package.access=sun. -+package.access=sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind. - - # - # List of comma-separated packages that start with or equal this string -diff -Nru openjdk.orig/jdk/src/share/lib/security/java.security-windows openjdk/jdk/src/share/lib/security/java.security-windows ---- openjdk.orig/jdk/src/share/lib/security/java.security-windows 2008-11-20 08:44:48.000000000 +0000 -+++ openjdk/jdk/src/share/lib/security/java.security-windows 2008-12-02 15:29:09.000000000 +0000 -@@ -128,7 +128,7 @@ - # passed to checkPackageAccess unless the - # corresponding RuntimePermission ("accessClassInPackage."+package) has - # been granted. --package.access=sun. -+package.access=sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind. - - # - # List of comma-separated packages that start with or equal this string -diff -Nru openjdk.orig/jdk/test/com/sun/org/apache/xml/internal/ws/server/Test6592792.sh openjdk/jdk/test/com/sun/org/apache/xml/internal/ws/server/Test6592792.sh ---- openjdk.orig/jdk/test/com/sun/org/apache/xml/internal/ws/server/Test6592792.sh 1970-01-01 01:00:00.000000000 +0100 -+++ openjdk/jdk/test/com/sun/org/apache/xml/internal/ws/server/Test6592792.sh 2008-12-02 15:29:09.000000000 +0000 -@@ -0,0 +1,61 @@ -+#!/bin/sh -+ -+if [ "${TESTSRC}" = "" ] -+then TESTSRC=. -+fi -+ -+if [ "${TESTJAVA}" = "" ] -+then -+ PARENT=`dirname \`which java\`` -+ TESTJAVA=`dirname ${PARENT}` -+ echo "TESTJAVA not set, selecting " ${TESTJAVA} -+ echo "If this is incorrect, try setting the variable manually." -+fi -+ -+if [ "${TESTCLASSES}" = "" ] -+then -+ echo "TESTCLASSES not set. Test cannot execute. Failed." -+ exit 1 -+fi -+ -+BIT_FLAG="" -+ -+# set platform-dependent variables -+OS=`uname -s` -+case "$OS" in -+ SunOS | Linux ) -+ NULL=/dev/null -+ PS=":" -+ FS="/" -+ ## for solaris, linux it's HOME -+ FILE_LOCATION=$HOME -+ if [ -f ${FILE_LOCATION}${FS}JDK64BIT -a ${OS} = "SunOS" ] -+ then -+ BIT_FLAG=`cat ${FILE_LOCATION}${FS}JDK64BIT` -+ fi -+ ;; -+ Windows_* ) -+ NULL=NUL -+ PS=";" -+ FS="\\" -+ ;; -+ * ) -+ echo "Unrecognized system!" -+ exit 1; -+ ;; -+esac -+ -+JEMMYPATH=${CPAPPEND} -+CLASSPATH=.${PS}${TESTCLASSES}${PS}${JEMMYPATH} ; export CLASSPATH -+ -+THIS_DIR=`pwd` -+ -+${TESTJAVA}${FS}bin${FS}java ${BIT_FLAG} -version -+ -+${TESTJAVA}${FS}bin${FS}javac ${BIT_FLAG} -d . -cp ${TESTJAVA}${FS}jre${FS}lib${FS}rt.jar ${TESTSRC}${FS}Test.java -+ -+${TESTJAVA}${FS}bin${FS}java ${BIT_FLAG} -cp . Test -+ -+STATUS=$? -+ -+exit $STATUS -diff -Nru openjdk.orig/jdk/test/com/sun/org/apache/xml/internal/ws/server/Test.java openjdk/jdk/test/com/sun/org/apache/xml/internal/ws/server/Test.java ---- openjdk.orig/jdk/test/com/sun/org/apache/xml/internal/ws/server/Test.java 1970-01-01 01:00:00.000000000 +0100 -+++ openjdk/jdk/test/com/sun/org/apache/xml/internal/ws/server/Test.java 2008-12-02 15:29:09.000000000 +0000 -@@ -0,0 +1,65 @@ -+/* -+ * @test -+ * @bug 6592792 -+ * @summary Add com.sun.xml.internal to the "package.access" property in $JAVA_HOME/lib/security/java.security -+ * @run shell Test6592792.sh -+ */ -+ -+import java.lang.*; -+import java.lang.reflect.*; -+import com.sun.xml.internal.ws.server.*; -+import com.sun.xml.internal.ws.server.SingletonResolver; -+import com.sun.xml.internal.ws.api.server.*; -+ -+public class Test { -+ -+ public static void main(String[] args) throws Exception{ -+ // Enable the security manager -+ SecurityManager sm = new SecurityManager(); -+ System.setSecurityManager(sm); -+ new Test(); -+ } -+ -+ Object invokeMethod(Object target,Method m,Object args[]) throws Exception { -+ SingletonResolver r = new SingletonResolver(target); -+ Invoker invoker = r.createInvoker(); -+ return invoker.invoke(null, m, args); -+ } -+ -+ public Test() throws Exception{ -+ try { -+ Class c=Class.forName("java.lang.Class"); -+ -+ Class ctab[]=new Class[1]; -+ ctab[0]=Class.forName("java.lang.String"); -+ Method forName=c.getMethod("forName",ctab); -+ -+ Class gtab[]=new Class[2]; -+ gtab[0]=Class.forName("java.lang.String"); -+ gtab[1]=Class[].class; -+ Method getMethod=c.getMethod("getMethod",gtab); -+ -+ Method newInstance=c.getMethod("newInstance",(Class[])null); -+ -+ Object otab[]=new Object[1]; -+ otab[0]="sun.misc.Unsafe"; -+ -+ Object o=invokeMethod(null,forName,otab); -+ c = (Class)o; // sun.misc.Unsafe class -+ // Test FAILED: Should n't have got the reference. -+ throw new RuntimeException("Test Failed: Got reference to: "+o); -+ -+ -+ //o=invokeMethod(c,getMethod, new Object[]{"getUnsafe", (Class[])null}); -+ //System.out.println("Got reference to: "+o); -+ //throw new RuntimeException("Got reference to: "+o); -+ //o=invokeMethod(c,(Method)o,null); -+ //System.out.println("Got reference to: "+o); -+ //throw new RuntimeException("Got reference to: "+o); -+ -+ } catch(java.security.AccessControlException e) { -+ System.out.println("Test passed"); -+ //e.printStackTrace(); -+ } -+ } -+} diff -r e8227389e2e0 -r 48d7359c75f6 patches/6733959.patch --- a/patches/6733959.patch Wed Sep 21 18:56:43 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,225 +0,0 @@ -diff -Nru openjdk.orig/jdk/src/share/bin/java.c openjdk/jdk/src/share/bin/java.c ---- openjdk.orig/jdk/src/share/bin/java.c 2008-12-02 16:28:05.000000000 +0000 -+++ openjdk/jdk/src/share/bin/java.c 2008-12-02 17:08:57.000000000 +0000 -@@ -885,8 +885,14 @@ - * "Valid" returns (other than unrecoverable errors) follow. Set - * main_class as a side-effect of this routine. - */ -- if (info.main_class != NULL) -+ if (info.main_class != NULL) { -+ if (strlen(info.main_class) <= MAXNAMELEN) { - *main_class = JLI_StringDup(info.main_class); -+ } else { -+ JLI_ReportErrorMessage("Error: main-class: attribute exceeds system limits\n", JNI_TRUE); -+ exit(1); -+ } -+ } - - /* - * If no version selection information is found either on the command From bugzilla-daemon at icedtea.classpath.org Fri Sep 23 09:31:07 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Sep 2011 16:31:07 +0000 Subject: [Bug 717] All non-bootstrap patches in IcedTea7 should be in the forest or dropped In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=717 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED --- Comment #2 from Andrew John Hughes 2011-09-23 16:31:07 --- http://icedtea.classpath.org/hg/icedtea7/rev/48d7359c75f6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Fri Sep 23 09:31:07 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Sep 2011 16:31:07 +0000 Subject: [Bug 712] [TRACKER] IcedTea7 2.0 release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=712 Bug 712 depends on bug 717, which changed state. Bug 717 Summary: All non-bootstrap patches in IcedTea7 should be in the forest or dropped http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=717 What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Status|ASSIGNED |RESOLVED Resolution| |FIXED -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Fri Sep 23 09:32:09 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Sep 2011 16:32:09 +0000 Subject: [Bug 790] New: Re-include JAXP and JAXWS in the source tree Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=790 Summary: Re-include JAXP and JAXWS in the source tree Product: IcedTea Version: 7-hg Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea7 AssignedTo: ahughes at redhat.com ReportedBy: ahughes at redhat.com CC: unassigned at icedtea.classpath.org Blocks: 712 In progress. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Fri Sep 23 09:32:09 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Sep 2011 16:32:09 +0000 Subject: [Bug 712] [TRACKER] IcedTea7 2.0 release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=712 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |790 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From dbhole at redhat.com Fri Sep 23 11:20:32 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 23 Sep 2011 14:20:32 -0400 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <20110923155728.GC5542@rivendell.middle-earth.co.uk> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B3E54.8030201@redhat.com> <20110922154919.GC26948@redhat.com> <20110923020925.GB5542@rivendell.middle-earth.co.uk> <20110923022125.GI26948@redhat.com> <20110923155728.GC5542@rivendell.middle-earth.co.uk> Message-ID: <20110923182031.GP26948@redhat.com> * Dr Andrew John Hughes [2011-09-23 11:57]: > On 22:21 Thu 22 Sep , Deepak Bhole wrote: > > * Dr Andrew John Hughes [2011-09-22 22:09]: > > > On 11:49 Thu 22 Sep , Deepak Bhole wrote: > > > > * Pavel Tisnovsky [2011-09-22 09:53]: > > > > > Deepak Bhole wrote: > > > > > > * Pavel Tisnovsky [2011-09-22 08:37]: > > > > > >> Greetings, > > > > > >> > > > > > >> there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. > > > > > >> > > > > > >> Config log & shell script used to build IcedTea7 is stored in an attachment. > > > > > >> > > > > > > > > > > > > Is libattr-devel installed on the system? > > > > > > > > > > Nope (and ./configure did not complaint ;-). I've installed it and trying to build IcedTea7 again. > > > > > > > > > > Maybe it's the right moment to update the wiki page http://icedtea.classpath.org/wiki/BuildRequirements > > > > > > > > > > Do you think it's a good idea to split this page to IcedTea6 part and IcedTea7(8) part? > > > > > > > > > > > > > Hi Pavel, > > > > > > > > Are the requirements radically different? From what I've seen, they are > > > > very similar if not the same for v6 and 7. If we can maintain the same > > > > page for both, I am all the more for it since it reduces changes of > > > > pages getting out of sync. > > > > > > > > > > You're wrong. NIO introduces a number of new dependencies including > > > GIO and calls to extended attribute functions. > > > > > > > Yeah I realized that after the conversation on IRC this morning. I was > > going by the # of deps I had to add to the 1.7 spec file for Fedora > > (none) vs 1.6. But clearly that was not adequate. > > > > You should check out the recent IcedTea changes. There are a number of latent dependencies > that, in upstream OpenJDK, don't get activated until a particular piece of runtime code is > activated. With IcedTea, I've provided the option to build against these dependencies at > runtime instead (as part of the general system library update for jpeg, png, etc.). > > Some probably also apply to 6, although they'll remain runtime there (do your 6 packages > depend on Gtk+, Gnome-VFS and GConf?) > They don't. I didn't know until yesterday that OpenJDK has certain run-time only dependencies. I guess so far we've just lucked out that nobody noticed (at least with Fedora) it because they happened to have the necessary deps already installed :/ > I'll be blogging about this shortly. > Looking forward to reading about it in more detail! Cheers, Deepak From bugzilla-daemon at icedtea.classpath.org Fri Sep 23 13:44:37 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Sep 2011 20:44:37 +0000 Subject: [Bug 791] New: Icedtead7 1.14 build fails with libpng 1.5 in splashscreen_png.c Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=791 Summary: Icedtead7 1.14 build fails with libpng 1.5 in splashscreen_png.c Product: IcedTea Version: 7-1.14 Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea7 AssignedTo: ahughes at redhat.com ReportedBy: roel.aaij at gmail.com CC: unassigned at icedtea.classpath.org Created an attachment (id=573) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=573) patch for splashscreen_png.c Hi, This is the first bug I post here, apologies for any ignorance. I searched for png in existing bug reports, but could not find anything. Trying to build icedtea7-1.14 with libpng 1.5 installed as system default fails in splashscreen_png.c. Looking at the libpng manual, the png_struct is no longer public, while this seems to be expected in splashscreen_png.c. From the manual I understood that direct access to the members of png_struct has been replaced by a set of get/set functions. Replacing direct member access by these functions allows the build to proceed. I have not confirmed if this also doesn't crash and really works. The patch is attached. I guess it should do some png version checks using #ifdefs, but I have no idea how to go about that. Greetings, Roel -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Sat Sep 24 12:46:13 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 24 Sep 2011 19:46:13 +0000 Subject: [Bug 792] New: Running eclipse Indigo causes segfault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=792 Summary: Running eclipse Indigo causes segfault Product: IcedTea Version: unspecified Platform: all OS/Version: Linux Status: NEW Severity: major Priority: P5 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: jpschewe at mtu.net I'm running version 6.0_22-b22, which is shipped with opensuse 11.4. I've recently upgraded to Eclipse Indigo and when running I frequently get crashes. Typically this happens when the system is short on RAM and swapping a lot. Here is the error message: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f6f8e161145, pid=20597, tid=140117547878144 # # JRE version: 6.0_22-b22 # Java VM: OpenJDK 64-Bit Server VM (20.0-b11 mixed mode linux-amd64 compressed oops) # Derivative: IcedTea6 1.10.2 # Distribution: Dummy Product (x86_64), package suse-4.3.1-x86_64 # Problematic frame: # C [libwebkitgtk-1.0.so.0+0x1144145] WTF::CString::mutableData()+0x2ccd5 # # An error report file with more information is saved as: # /home/jpschewe/hs_err_pid20597.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # I will attach my error logs. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From bugzilla-daemon at icedtea.classpath.org Sat Sep 24 12:46:50 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 24 Sep 2011 19:46:50 +0000 Subject: [Bug 792] Running eclipse Indigo causes segfault In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=792 --- Comment #1 from Jon Schewe 2011-09-24 19:46:50 --- Created an attachment (id=578) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=578) hs_err_pid14889.log -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From bugzilla-daemon at icedtea.classpath.org Sat Sep 24 12:47:12 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 24 Sep 2011 19:47:12 +0000 Subject: [Bug 792] Running eclipse Indigo causes segfault In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=792 --- Comment #2 from Jon Schewe 2011-09-24 19:47:12 --- Created an attachment (id=579) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=579) hs_err_pid15484.log -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From bugzilla-daemon at icedtea.classpath.org Sat Sep 24 12:47:35 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 24 Sep 2011 19:47:35 +0000 Subject: [Bug 792] Running eclipse Indigo causes segfault In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=792 --- Comment #3 from Jon Schewe 2011-09-24 19:47:35 --- Created an attachment (id=580) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=580) hs_err_pid19743.log -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From bugzilla-daemon at icedtea.classpath.org Sat Sep 24 12:47:53 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 24 Sep 2011 19:47:53 +0000 Subject: [Bug 792] Running eclipse Indigo causes segfault In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=792 --- Comment #4 from Jon Schewe 2011-09-24 19:47:53 --- Created an attachment (id=581) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=581) hs_err_pid20597.log -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From bugzilla-daemon at icedtea.classpath.org Sat Sep 24 19:59:18 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 25 Sep 2011 02:59:18 +0000 Subject: [Bug 791] Icedtead7 1.14 build fails with libpng 1.5 in splashscreen_png.c In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=791 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Target Milestone|--- |2.0 --- Comment #1 from Andrew John Hughes 2011-09-25 02:59:17 --- This is already fixed in HEAD. 2.0 will be out soon. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Sun Sep 25 04:37:00 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 25 Sep 2011 11:37:00 +0000 Subject: [Bug 793] New: Firefox does not load java based applet via icedtea-plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=793 Summary: Firefox does not load java based applet via icedtea- plugin Product: IcedTea-Web Version: 1.1.1 Platform: 32-bit OS/Version: Linux Status: NEW Severity: minor Priority: P5 Component: Plugin AssignedTo: dbhole at redhat.com ReportedBy: christopher.penalver at gmx.com CC: unassigned at icedtea.classpath.org Downstream bug may be found at: https://bugs.launchpad.net/ubuntu/+source/icedtea-web/+bug/858827 1) lsb_release -rd Description: Ubuntu 11.04 Release: 11.04 2) apt-cache policy icedtea-plugin icedtea-plugin: Installed: 1.1.1-0ubuntu1~11.04.1 Candidate: 1.1.1-0ubuntu1~11.04.1 Version table: *** 1.1.1-0ubuntu1~11.04.1 0 500 http://us.archive.ubuntu.com/ubuntu/ natty-updates/main i386 Packages 500 http://security.ubuntu.com/ubuntu/ natty-security/main i386 Packages 100 /var/lib/dpkg/status 1.1~20110420-0ubuntu1 0 500 http://us.archive.ubuntu.com/ubuntu/ natty/main i386 Packages apt-cache policy firefox firefox: Installed: 6.0.2+build2+nobinonly-0ubuntu0.11.04.1 Candidate: 6.0.2+build2+nobinonly-0ubuntu0.11.04.1 Version table: *** 6.0.2+build2+nobinonly-0ubuntu0.11.04.1 0 500 http://us.archive.ubuntu.com/ubuntu/ natty-updates/main i386 Packages 500 http://security.ubuntu.com/ubuntu/ natty-security/main i386 Packages 100 /var/lib/dpkg/status 4.0+nobinonly-0ubuntu3 0 500 http://us.archive.ubuntu.com/ubuntu/ natty/main i386 Packages 3) What is expected to happen is when one goes to the website: http://www.dailyfx.com/charts/netdaniachart?symbol=USD/CAD it loads the java applet fine. 4) What happens instead is the graph does not load. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From ahughes at redhat.com Sun Sep 25 15:58:31 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Sun, 25 Sep 2011 23:58:31 +0100 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <20110923182031.GP26948@redhat.com> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B3E54.8030201@redhat.com> <20110922154919.GC26948@redhat.com> <20110923020925.GB5542@rivendell.middle-earth.co.uk> <20110923022125.GI26948@redhat.com> <20110923155728.GC5542@rivendell.middle-earth.co.uk> <20110923182031.GP26948@redhat.com> Message-ID: <20110925225831.GB7933@rivendell.middle-earth.co.uk> On 14:20 Fri 23 Sep , Deepak Bhole wrote: > * Dr Andrew John Hughes [2011-09-23 11:57]: > > On 22:21 Thu 22 Sep , Deepak Bhole wrote: > > > * Dr Andrew John Hughes [2011-09-22 22:09]: > > > > On 11:49 Thu 22 Sep , Deepak Bhole wrote: > > > > > * Pavel Tisnovsky [2011-09-22 09:53]: > > > > > > Deepak Bhole wrote: > > > > > > > * Pavel Tisnovsky [2011-09-22 08:37]: > > > > > > >> Greetings, > > > > > > >> > > > > > > >> there's a new IcedTea7 build error thrown when IcedTea7 HEAD is build on RHEL 5 x86_64. > > > > > > >> > > > > > > >> Config log & shell script used to build IcedTea7 is stored in an attachment. > > > > > > >> > > > > > > > > > > > > > > Is libattr-devel installed on the system? > > > > > > > > > > > > Nope (and ./configure did not complaint ;-). I've installed it and trying to build IcedTea7 again. > > > > > > > > > > > > Maybe it's the right moment to update the wiki page http://icedtea.classpath.org/wiki/BuildRequirements > > > > > > > > > > > > Do you think it's a good idea to split this page to IcedTea6 part and IcedTea7(8) part? > > > > > > > > > > > > > > > > Hi Pavel, > > > > > > > > > > Are the requirements radically different? From what I've seen, they are > > > > > very similar if not the same for v6 and 7. If we can maintain the same > > > > > page for both, I am all the more for it since it reduces changes of > > > > > pages getting out of sync. > > > > > > > > > > > > > You're wrong. NIO introduces a number of new dependencies including > > > > GIO and calls to extended attribute functions. > > > > > > > > > > Yeah I realized that after the conversation on IRC this morning. I was > > > going by the # of deps I had to add to the 1.7 spec file for Fedora > > > (none) vs 1.6. But clearly that was not adequate. > > > > > > > You should check out the recent IcedTea changes. There are a number of latent dependencies > > that, in upstream OpenJDK, don't get activated until a particular piece of runtime code is > > activated. With IcedTea, I've provided the option to build against these dependencies at > > runtime instead (as part of the general system library update for jpeg, png, etc.). > > > > Some probably also apply to 6, although they'll remain runtime there (do your 6 packages > > depend on Gtk+, Gnome-VFS and GConf?) > > > > They don't. I didn't know until yesterday that OpenJDK has certain > run-time only dependencies. I guess so far we've just lucked out that > nobody noticed (at least with Fedora) it because they happened to have > the necessary deps already installed :/ > It's probably more that they are installed as standard anyway on Fedora, if you use GNOME. They are designed upstream so that they build without any of the development headers needing to be in place at compile-time, so you only get a failure if you hit the right piece of code and cause the dlopen to be run. Even then, in most cases, it just appears like the feature doesn't work, rather than crashing out, if it fails. For 6: * Gtk+ is needed for the Gtk look and feel which is automatically turned on if GNOME is detected as running. It dlopens gtk+ and gthread libraries at runtime. * GConf is needed if system proxies are turned on (this is changed to GIO and GSettings in 7 as part of the bug I recently fixed, and I intend to backport that to 6 too and upstream it - it will still fall back to GConf). * GNOME-VFS is used to open a URL in java.awt.Desktop. Again, I've changed this to use GIO in IcedTea7. 7 also needs GIO and a number of extended attribute functions for NIO, which again only fail at runtime. This motivates the GIO change for proxies and GNOME-VFS, as it actually reduces dependencies in 7. The epoll system calls Here's a quick scan of dlopen calls in OpenJDK6: ../../../../jdk6/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c: if (dlopen("/usr/lib/libsendfile.so.1", RTLD_GLOBAL | RTLD_LAZY) != NULL) { ../../../../jdk6/jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c: gssLib = dlopen(libName, RTLD_NOW); ../../../../jdk6/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c: hModule = dlopen(libName, RTLD_LAZY); ../../../../jdk6/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c: void *hModule = dlopen(libName, RTLD_NOLOAD); ../../../../jdk6/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c: hModule = dlopen(libName, RTLD_LAZY); ../../../../jdk6/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c: hModule = dlopen(libraryNameStr, RTLD_NOW); ../../../../jdk6/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c: hModule = dlopen(libraryNameStr, RTLD_LAZY); ../../../../jdk6/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c: if (dlopen("libgconf-2.so", RTLD_GLOBAL | RTLD_LAZY) != NULL || ../../../../jdk6/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c: dlopen("libgconf-2.so.4", RTLD_GLOBAL | RTLD_LAZY) != NULL) { ../../../../jdk6/jdk/src/solaris/native/sun/awt/awt_UNIXToolkit.c: void* hSplashLib = dlopen(0, RTLD_LAZY); ../../../../jdk6/jdk/src/solaris/native/sun/awt/fontpath.c: libfontconfig = dlopen("libfontconfig.so.1", RTLD_LOCAL|RTLD_LAZY); ../../../../jdk6/jdk/src/solaris/native/sun/awt/fontpath.c: libfontconfig = dlopen("libfontconfig.so", RTLD_LOCAL|RTLD_LAZY); ../../../../jdk6/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c: libHandle = dlopen(XineramaLibName, RTLD_LAZY | RTLD_GLOBAL); ../../../../jdk6/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c: libHandle = dlopen(XineramaLibName, RTLD_LAZY | RTLD_GLOBAL); ../../../../jdk6/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c: void *pLibRandR = dlopen("libXrandr.so.2", RTLD_LAZY | RTLD_LOCAL); ../../../../jdk6/jdk/src/solaris/native/sun/awt/CUPSfuncs.c: void *handle = dlopen("libcups.so.2", RTLD_LAZY | RTLD_GLOBAL); ../../../../jdk6/jdk/src/solaris/native/sun/awt/CUPSfuncs.c: handle = dlopen("libcups.so", RTLD_LAZY | RTLD_GLOBAL); ../../../../jdk6/jdk/src/solaris/native/sun/awt/awt_Mlib.c: handle = dlopen("libmlib_image_v.so", RTLD_LAZY); ../../../../jdk6/jdk/src/solaris/native/sun/awt/awt_Mlib.c: handle = dlopen("libmlib_image.so", RTLD_LAZY); ../../../../jdk6/jdk/src/solaris/native/sun/awt/gtk2_interface.c: lib = dlopen(GTK2_LIB, RTLD_LAZY | RTLD_LOCAL); ../../../../jdk6/jdk/src/solaris/native/sun/awt/gtk2_interface.c: gtk2_libhandle = dlopen(GTK2_LIB, RTLD_LAZY | RTLD_LOCAL); ../../../../jdk6/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c: awtHandle = dlopen(buf, RTLD_LAZY | RTLD_GLOBAL); ../../../../jdk6/jdk/src/solaris/native/sun/xawt/awt_Desktop.c: vfs_handle = dlopen("libgnomevfs-2.so.0", RTLD_LAZY); ../../../../jdk6/jdk/src/solaris/native/sun/xawt/awt_Desktop.c: gnome_handle = dlopen("libgnome-2.so.0", RTLD_LAZY); ../../../../jdk6/jdk/src/solaris/native/sun/jdga/dgalock.c: handle = dlopen("libxinerama.so", RTLD_NOW); ../../../../jdk6/jdk/src/solaris/native/sun/jdga/dgalock.c: handle = dlopen(libName, RTLD_NOW); ../../../../jdk6/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h: OGL_LIB_HANDLE = dlopen(libGLPath, RTLD_LAZY | RTLD_LOCAL); \ ../../../../jdk6/jdk/src/solaris/native/java/io/UnixFileSystem_md.c: void *handle = dlopen(0, RTLD_LAZY); There are more for 7 (though the sendfile one seems to have been removed there). My recent work on 7, as well as moving the system library changes to the tree, also involved adding options to compile against these libraries and their proper headers at runtime. You can see this in the recent IcedTea7 changes which turns it on by default. There's also stuff like this in both 6 & 7: epoll_create_func = (epoll_create_t) dlsym(RTLD_DEFAULT, "epoll_create"); epoll_ctl_func = (epoll_ctl_t) dlsym(RTLD_DEFAULT, "epoll_ctl"); epoll_wait_func = (epoll_wait_t) dlsym(RTLD_DEFAULT, "epoll_wait"); if ((epoll_create_func == NULL) || (epoll_ctl_func == NULL) || (epoll_wait_func == NULL)) { JNU_ThrowInternalError(env, "unable to get address of epoll functions, pre-2.6 kernel?"); } which is instead now linked properly at compile-time using COMPILE_AGAINST_SYSCALLS. I don't think we're ever going to hit that one, but there is similiar stuff with *xattr calls returning an error number in NIO2. You can see why this is done in the Oracle environment where they want the binary to only depend on libc (even libstdc++ is statically linked), but we should make sure as much stuff works at *compile-time* as possible instead of waiting for users to hit failures at run-time. This is even more important when we don't yet have a TCK for 7. > > I'll be blogging about this shortly. > > > > Looking forward to reading about it in more detail! Good. I think it's interesting stuff. Now you also know why 7 has been taking a while; I wanted to get this in a good state before the first release and provide as much compile-time testing as possible. > > Cheers, > Deepak -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From aph at redhat.com Mon Sep 26 02:23:40 2011 From: aph at redhat.com (Andrew Haley) Date: Mon, 26 Sep 2011 10:23:40 +0100 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <20110925225831.GB7933@rivendell.middle-earth.co.uk> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B3E54.8030201@redhat.com> <20110922154919.GC26948@redhat.com> <20110923020925.GB5542@rivendell.middle-earth.co.uk> <20110923022125.GI26948@redhat.com> <20110923155728.GC5542@rivendell.middle-earth.co.uk> <20110923182031.GP26948@redhat.com> <20110925225831.GB7933@rivendell.middle-earth.co.uk> Message-ID: <4E80449C.4080606@redhat.com> On 09/25/2011 11:58 PM, Dr Andrew John Hughes wrote: > You can see why this is done in the Oracle environment where they > want the binary to only depend on libc (even libstdc++ is statically > linked), but we should make sure as much stuff works at > *compile-time* as possible instead of waiting for users to hit > failures at run-time. There is a counter-argument, though: Java itself doesn't depend on GUI toolkits, but some Java programs do. I don't think it's necessarily true that every library that Java could possibly use in certain application areas must be installed. On the other hand, run-time failures don't look good. We don't want to be in a situation where as soon as OpenJDK provides an API for Library X, every user of OpenJDK is forced to install Library X to satisfy dependencies. I don't think there is any simple answer. Andrew. From xranby at icedtea.classpath.org Mon Sep 26 04:53:45 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 26 Sep 2011 11:53:45 +0000 Subject: /hg/icedtea6: 2011-09-26 Xerxes Ranby Message-ID: changeset af642d6ae50e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=af642d6ae50e author: Xerxes Ranby date: Mon Sep 26 14:03:11 2011 +0200 2011-09-26 Xerxes Ranby Mark David Dumlao JamVM - Skip Java-reflection-related DelegatingClassLoaders, enables JamVM to run NetBeans. - Generic JNI stubs for common JNI method signatures. - Fix memory heap arguments in terms of gigabytes. * NEWS: Updated. * patches/jamvm/gb-memory-fix.patch: New patch contributed by Mark David Dumlao. * patches/jamvm/jmm_GetLongAttribute_201.patch: Replaced by upstream, Tidy-ups, changeset 106ffbb35fb9c185ba8c649441036d00e44c6a32. * Makefile.am (ICEDTEA_PATCHES): Apply new JamVM patch, remove upstreamed JamVM patch. (JAMVM_VERSION): Updated JamVM to 2011-09-24 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 19 +++++++++++++++++++ Makefile.am | 6 +++--- NEWS | 4 ++++ patches/jamvm/gb-memory-fix.patch | 24 ++++++++++++++++++++++++ patches/jamvm/jmm_GetLongAttribute_201.patch | 21 --------------------- 5 files changed, 50 insertions(+), 24 deletions(-) diffs (119 lines): diff -r a65a115e0fbc -r af642d6ae50e ChangeLog --- a/ChangeLog Wed Sep 21 14:48:54 2011 +0200 +++ b/ChangeLog Mon Sep 26 14:03:11 2011 +0200 @@ -1,3 +1,22 @@ +2011-09-26 Xerxes R??nby + Mark David Dumlao + + JamVM + - Skip Java-reflection-related DelegatingClassLoaders, + enables JamVM to run NetBeans. + - Generic JNI stubs for common JNI method signatures. + - Fix memory heap arguments in terms of gigabytes. + * NEWS: Updated. + * patches/jamvm/gb-memory-fix.patch: New patch contributed by + Mark David Dumlao. + * patches/jamvm/jmm_GetLongAttribute_201.patch: + Replaced by upstream, Tidy-ups, + changeset 106ffbb35fb9c185ba8c649441036d00e44c6a32. + * Makefile.am + (ICEDTEA_PATCHES): Apply new JamVM patch, remove upstreamed JamVM patch. + (JAMVM_VERSION): Updated JamVM to 2011-09-24 revision. + (JAMVM_SHA256SUM): Updated. + 2011-09-21 Pavel Tisnovsky * patches/jtreg-international-fonts.patch: diff -r a65a115e0fbc -r af642d6ae50e Makefile.am --- a/Makefile.am Wed Sep 21 14:48:54 2011 +0200 +++ b/Makefile.am Mon Sep 26 14:03:11 2011 +0200 @@ -11,8 +11,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz -JAMVM_VERSION = 12d05e620a9fda129925104bc848014f91d971db -JAMVM_SHA256SUM = b7e3999f5b46cfddcf717b2d06460d34167fe9eb3b306a311f1df6d31b99ef32 +JAMVM_VERSION = 310c491ddc14e92a6ffff27030a1a1821e6395a8 +JAMVM_SHA256SUM = b5174f59371017087139fd43d51074ad837ae29340220206ca06769c8329881a JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz @@ -401,7 +401,7 @@ if BUILD_JAMVM ICEDTEA_PATCHES += \ - patches/jamvm/jmm_GetLongAttribute_201.patch \ + patches/jamvm/gb-memory-fix.patch \ patches/jamvm/ignore-assertions-and-verify-options.patch endif diff -r a65a115e0fbc -r af642d6ae50e NEWS --- a/NEWS Wed Sep 21 14:48:54 2011 +0200 +++ b/NEWS Mon Sep 26 14:03:11 2011 +0200 @@ -386,6 +386,10 @@ - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. - LP827463: Fix OpenJDK enclosingMethodInfo(). - Add support for armhf. + - Skip Java-reflection-related DelegatingClassLoaders, + enables JamVM to run NetBeans. + - Generic JNI stubs for common JNI method signatures. + - Fix memory heap arguments in terms of gigabytes. - armhf: ensure stack is 8 byte aligned. - "Fix" handling of CLI bootclasspath options. - Fix for StackTraceElement checkin. diff -r a65a115e0fbc -r af642d6ae50e patches/jamvm/gb-memory-fix.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/jamvm/gb-memory-fix.patch Mon Sep 26 14:03:11 2011 +0200 @@ -0,0 +1,26 @@ +diff -Nru jamvm/jamvm/src/init.c jamvm-a95ca049d3bb257d730535a5d5ec3f73a943d0aa/src/init.c +--- jamvm.orig/jamvm/src/init.c 2011-03-25 17:36:12.000000000 +0800 ++++ jamvm/jamvm/src/init.c 2011-09-26 16:54:08.000000000 +0800 +@@ -123,6 +123,11 @@ + case '\0': + break; + ++ case 'G': ++ case 'g': ++ n *= GB; ++ break; ++ + case 'M': + case 'm': + n *= MB; +diff -Nru jamvm/jamvm/src/jam.h jamvm-a95ca049d3bb257d730535a5d5ec3f73a943d0aa/src/jam.h +--- jamvm.orig/jamvm/src/jam.h 2011-03-25 17:36:12.000000000 +0800 ++++ jamvm/jamvm/src/jam.h 2011-09-26 16:51:56.000000000 +0800 +@@ -734,6 +734,7 @@ + + #define KB 1024 + #define MB (KB*KB) ++#define GB (MB*KB) + + /* minimum allowable size of object heap */ + #define MIN_HEAP 4*KB diff -r a65a115e0fbc -r af642d6ae50e patches/jamvm/jmm_GetLongAttribute_201.patch --- a/patches/jamvm/jmm_GetLongAttribute_201.patch Wed Sep 21 14:48:54 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -Index: jamvm/jamvm/src/classlib/openjdk/management.c -=================================================================== ---- jamvm.orig/jamvm/src/classlib/openjdk/management.c 2011-08-09 23:39:21.067466386 +0200 -+++ jamvm/jamvm/src/classlib/openjdk/management.c 2011-08-09 23:43:21.987466384 +0200 -@@ -146,6 +146,9 @@ - case JMM_JVM_INIT_DONE_TIME_MS: - result = 0; - break; -+ case JMM_OS_PROCESS_ID: -+ result = getpid(); -+ break; - - case JMM_CLASS_LOADED_COUNT: - case JMM_CLASS_UNLOADED_COUNT: -@@ -153,7 +156,6 @@ - case JMM_THREAD_LIVE_COUNT: - case JMM_THREAD_PEAK_COUNT: - case JMM_THREAD_DAEMON_COUNT: -- case JMM_OS_PROCESS_ID: - - default: - UNIMPLEMENTED("jmm_GetLongAttribute: Unknown attribute %d", att); From xranby at icedtea.classpath.org Mon Sep 26 05:00:43 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 26 Sep 2011 12:00:43 +0000 Subject: /hg/icedtea7: 2011-09-26 Xerxes Ranby Message-ID: changeset ee3b02974ac6 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=ee3b02974ac6 author: Xerxes Ranby date: Mon Sep 26 14:10:17 2011 +0200 2011-09-26 Xerxes Ranby Mark David Dumlao JamVM - Skip Java-reflection-related DelegatingClassLoaders, enables JamVM to run NetBeans. - Generic JNI stubs for common JNI method signatures. - Fix memory heap arguments in terms of gigabytes. * NEWS: Updated. * patches/jamvm/gb-memory-fix.patch: New patch contributed by Mark David Dumlao. * patches/jamvm/jmm_GetLongAttribute_201.patch: Replaced by upstream, Tidy-ups, changeset 106ffbb35fb9c185ba8c649441036d00e44c6a32. * Makefile.am (ICEDTEA_PATCHES): Apply new JamVM patch, remove upstreamed JamVM patch. (JAMVM_VERSION): Updated JamVM to 2011-09-24 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 19 +++++++++++++++++++ Makefile.am | 6 +++--- NEWS | 4 ++++ patches/jamvm/gb-memory-fix.patch | 24 ++++++++++++++++++++++++ patches/jamvm/jmm_GetLongAttribute_201.patch | 21 --------------------- 5 files changed, 50 insertions(+), 24 deletions(-) diffs (119 lines): diff -r 48d7359c75f6 -r ee3b02974ac6 ChangeLog --- a/ChangeLog Fri Sep 23 17:30:26 2011 +0100 +++ b/ChangeLog Mon Sep 26 14:10:17 2011 +0200 @@ -1,3 +1,22 @@ +2011-09-26 Xerxes R??nby + Mark David Dumlao + + JamVM + - Skip Java-reflection-related DelegatingClassLoaders, + enables JamVM to run NetBeans. + - Generic JNI stubs for common JNI method signatures. + - Fix memory heap arguments in terms of gigabytes. + * NEWS: Updated. + * patches/jamvm/gb-memory-fix.patch: New patch contributed by + Mark David Dumlao. + * patches/jamvm/jmm_GetLongAttribute_201.patch: + Replaced by upstream, Tidy-ups, + changeset 106ffbb35fb9c185ba8c649441036d00e44c6a32. + * Makefile.am + (ICEDTEA_PATCHES): Apply new JamVM patch, remove upstreamed JamVM patch. + (JAMVM_VERSION): Updated JamVM to 2011-09-24 revision. + (JAMVM_SHA256SUM): Updated. + 2011-09-21 Andrew John Hughes PR717: Remove all non-bootstrap non-conditional diff -r 48d7359c75f6 -r ee3b02974ac6 Makefile.am --- a/Makefile.am Fri Sep 23 17:30:26 2011 +0100 +++ b/Makefile.am Mon Sep 26 14:10:17 2011 +0200 @@ -24,8 +24,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.bz2 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 -JAMVM_VERSION = 12d05e620a9fda129925104bc848014f91d971db -JAMVM_SHA256SUM = b7e3999f5b46cfddcf717b2d06460d34167fe9eb3b306a311f1df6d31b99ef32 +JAMVM_VERSION = 310c491ddc14e92a6ffff27030a1a1821e6395a8 +JAMVM_SHA256SUM = b5174f59371017087139fd43d51074ad837ae29340220206ca06769c8329881a JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz @@ -271,7 +271,7 @@ if BUILD_JAMVM ICEDTEA_PATCHES += \ patches/jamvm/remove-sun.misc.Perf-debug-code.patch \ - patches/jamvm/jmm_GetLongAttribute_201.patch \ + patches/jamvm/gb-memory-fix.patch \ patches/jamvm/ignore-assertions-and-verify-options.patch endif diff -r 48d7359c75f6 -r ee3b02974ac6 NEWS --- a/NEWS Fri Sep 23 17:30:26 2011 +0100 +++ b/NEWS Mon Sep 26 14:10:17 2011 +0200 @@ -37,6 +37,10 @@ - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. - LP827463: Fix OpenJDK enclosingMethodInfo(). - Add support for armhf. + - Skip Java-reflection-related DelegatingClassLoaders, + enables JamVM to run NetBeans. + - Generic JNI stubs for common JNI method signatures. + - Fix memory heap arguments in terms of gigabytes. - armhf: ensure stack is 8 byte aligned. - "Fix" handling of CLI bootclasspath options. - Fix for StackTraceElement checkin. diff -r 48d7359c75f6 -r ee3b02974ac6 patches/jamvm/gb-memory-fix.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/jamvm/gb-memory-fix.patch Mon Sep 26 14:10:17 2011 +0200 @@ -0,0 +1,26 @@ +diff -Nru jamvm/jamvm/src/init.c jamvm-a95ca049d3bb257d730535a5d5ec3f73a943d0aa/src/init.c +--- jamvm.orig/jamvm/src/init.c 2011-03-25 17:36:12.000000000 +0800 ++++ jamvm/jamvm/src/init.c 2011-09-26 16:54:08.000000000 +0800 +@@ -123,6 +123,11 @@ + case '\0': + break; + ++ case 'G': ++ case 'g': ++ n *= GB; ++ break; ++ + case 'M': + case 'm': + n *= MB; +diff -Nru jamvm/jamvm/src/jam.h jamvm-a95ca049d3bb257d730535a5d5ec3f73a943d0aa/src/jam.h +--- jamvm.orig/jamvm/src/jam.h 2011-03-25 17:36:12.000000000 +0800 ++++ jamvm/jamvm/src/jam.h 2011-09-26 16:51:56.000000000 +0800 +@@ -734,6 +734,7 @@ + + #define KB 1024 + #define MB (KB*KB) ++#define GB (MB*KB) + + /* minimum allowable size of object heap */ + #define MIN_HEAP 4*KB diff -r 48d7359c75f6 -r ee3b02974ac6 patches/jamvm/jmm_GetLongAttribute_201.patch --- a/patches/jamvm/jmm_GetLongAttribute_201.patch Fri Sep 23 17:30:26 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -Index: jamvm/jamvm/src/classlib/openjdk/management.c -=================================================================== ---- jamvm.orig/jamvm/src/classlib/openjdk/management.c 2011-08-09 23:39:21.067466386 +0200 -+++ jamvm/jamvm/src/classlib/openjdk/management.c 2011-08-09 23:43:21.987466384 +0200 -@@ -146,6 +146,9 @@ - case JMM_JVM_INIT_DONE_TIME_MS: - result = 0; - break; -+ case JMM_OS_PROCESS_ID: -+ result = getpid(); -+ break; - - case JMM_CLASS_LOADED_COUNT: - case JMM_CLASS_UNLOADED_COUNT: -@@ -153,7 +156,6 @@ - case JMM_THREAD_LIVE_COUNT: - case JMM_THREAD_PEAK_COUNT: - case JMM_THREAD_DAEMON_COUNT: -- case JMM_OS_PROCESS_ID: - - default: - UNIMPLEMENTED("jmm_GetLongAttribute: Unknown attribute %d", att); From xranby at icedtea.classpath.org Mon Sep 26 05:12:25 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 26 Sep 2011 12:12:25 +0000 Subject: /hg/icedtea: JamVM: Updated to 2011-09-24 revision, Fix memory h... Message-ID: changeset 9344881ce5c3 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=9344881ce5c3 author: Xerxes Ranby date: Mon Sep 26 14:21:56 2011 +0200 JamVM: Updated to 2011-09-24 revision, Fix memory heap arguments in terms of gigabytes. 2011-09-26 Xerxes Ranby Mark David Dumlao JamVM - Skip Java-reflection-related DelegatingClassLoaders, enables JamVM to run NetBeans. - Generic JNI stubs for common JNI method signatures. - Fix memory heap arguments in terms of gigabytes. * NEWS: Updated. * patches/jamvm/gb-memory-fix.patch: New patch contributed by Mark David Dumlao. * patches/jamvm/jmm_GetLongAttribute_201.patch: Replaced by upstream, Tidy-ups, changeset 106ffbb35fb9c185ba8c649441036d00e44c6a32. * Makefile.am (ICEDTEA_PATCHES): Apply new JamVM patch, remove upstreamed JamVM patch. (JAMVM_VERSION): Updated JamVM to 2011-09-24 revision. (JAMVM_SHA256SUM): Updated. diffstat: ChangeLog | 19 +++++++++++++++++++ Makefile.am | 6 +++--- NEWS | 4 ++++ patches/jamvm/gb-memory-fix.patch | 24 ++++++++++++++++++++++++ patches/jamvm/jmm_GetLongAttribute_201.patch | 21 --------------------- 5 files changed, 50 insertions(+), 24 deletions(-) diffs (119 lines): diff -r 71b9632774f8 -r 9344881ce5c3 ChangeLog --- a/ChangeLog Mon Sep 05 13:01:15 2011 +0200 +++ b/ChangeLog Mon Sep 26 14:21:56 2011 +0200 @@ -1,3 +1,22 @@ +2011-09-26 Xerxes R??nby + Mark David Dumlao + + JamVM + - Skip Java-reflection-related DelegatingClassLoaders, + enables JamVM to run NetBeans. + - Generic JNI stubs for common JNI method signatures. + - Fix memory heap arguments in terms of gigabytes. + * NEWS: Updated. + * patches/jamvm/gb-memory-fix.patch: New patch contributed by + Mark David Dumlao. + * patches/jamvm/jmm_GetLongAttribute_201.patch: + Replaced by upstream, Tidy-ups, + changeset 106ffbb35fb9c185ba8c649441036d00e44c6a32. + * Makefile.am + (ICEDTEA_PATCHES): Apply new JamVM patch, remove upstreamed JamVM patch. + (JAMVM_VERSION): Updated JamVM to 2011-09-24 revision. + (JAMVM_SHA256SUM): Updated. + 2011-09-05 Xerxes R??nby JamVM diff -r 71b9632774f8 -r 9344881ce5c3 Makefile.am --- a/Makefile.am Mon Sep 05 13:01:15 2011 +0200 +++ b/Makefile.am Mon Sep 26 14:21:56 2011 +0200 @@ -24,8 +24,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.bz2 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 -JAMVM_VERSION = 12d05e620a9fda129925104bc848014f91d971db -JAMVM_SHA256SUM = b7e3999f5b46cfddcf717b2d06460d34167fe9eb3b306a311f1df6d31b99ef32 +JAMVM_VERSION = 310c491ddc14e92a6ffff27030a1a1821e6395a8 +JAMVM_SHA256SUM = b5174f59371017087139fd43d51074ad837ae29340220206ca06769c8329881a JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz @@ -309,7 +309,7 @@ if BUILD_JAMVM ICEDTEA_PATCHES += \ patches/jamvm/remove-sun.misc.Perf-debug-code.patch \ - patches/jamvm/jmm_GetLongAttribute_201.patch \ + patches/jamvm/gb-memory-fix.patch \ patches/jamvm/ignore-assertions-and-verify-options.patch endif diff -r 71b9632774f8 -r 9344881ce5c3 NEWS --- a/NEWS Mon Sep 05 13:01:15 2011 +0200 +++ b/NEWS Mon Sep 26 14:21:56 2011 +0200 @@ -19,6 +19,10 @@ - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. - LP827463: Fix OpenJDK enclosingMethodInfo(). - Add support for armhf. + - Skip Java-reflection-related DelegatingClassLoaders, + enables JamVM to run NetBeans. + - Generic JNI stubs for common JNI method signatures. + - Fix memory heap arguments in terms of gigabytes. - armhf: ensure stack is 8 byte aligned. - "Fix" handling of CLI bootclasspath options. - Fix for StackTraceElement checkin. diff -r 71b9632774f8 -r 9344881ce5c3 patches/jamvm/gb-memory-fix.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/jamvm/gb-memory-fix.patch Mon Sep 26 14:21:56 2011 +0200 @@ -0,0 +1,26 @@ +diff -Nru jamvm/jamvm/src/init.c jamvm-a95ca049d3bb257d730535a5d5ec3f73a943d0aa/src/init.c +--- jamvm.orig/jamvm/src/init.c 2011-03-25 17:36:12.000000000 +0800 ++++ jamvm/jamvm/src/init.c 2011-09-26 16:54:08.000000000 +0800 +@@ -123,6 +123,11 @@ + case '\0': + break; + ++ case 'G': ++ case 'g': ++ n *= GB; ++ break; ++ + case 'M': + case 'm': + n *= MB; +diff -Nru jamvm/jamvm/src/jam.h jamvm-a95ca049d3bb257d730535a5d5ec3f73a943d0aa/src/jam.h +--- jamvm.orig/jamvm/src/jam.h 2011-03-25 17:36:12.000000000 +0800 ++++ jamvm/jamvm/src/jam.h 2011-09-26 16:51:56.000000000 +0800 +@@ -734,6 +734,7 @@ + + #define KB 1024 + #define MB (KB*KB) ++#define GB (MB*KB) + + /* minimum allowable size of object heap */ + #define MIN_HEAP 4*KB diff -r 71b9632774f8 -r 9344881ce5c3 patches/jamvm/jmm_GetLongAttribute_201.patch --- a/patches/jamvm/jmm_GetLongAttribute_201.patch Mon Sep 05 13:01:15 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -Index: jamvm/jamvm/src/classlib/openjdk/management.c -=================================================================== ---- jamvm.orig/jamvm/src/classlib/openjdk/management.c 2011-08-09 23:39:21.067466386 +0200 -+++ jamvm/jamvm/src/classlib/openjdk/management.c 2011-08-09 23:43:21.987466384 +0200 -@@ -146,6 +146,9 @@ - case JMM_JVM_INIT_DONE_TIME_MS: - result = 0; - break; -+ case JMM_OS_PROCESS_ID: -+ result = getpid(); -+ break; - - case JMM_CLASS_LOADED_COUNT: - case JMM_CLASS_UNLOADED_COUNT: -@@ -153,7 +156,6 @@ - case JMM_THREAD_LIVE_COUNT: - case JMM_THREAD_PEAK_COUNT: - case JMM_THREAD_DAEMON_COUNT: -- case JMM_OS_PROCESS_ID: - - default: - UNIMPLEMENTED("jmm_GetLongAttribute: Unknown attribute %d", att); From bugzilla-daemon at icedtea.classpath.org Mon Sep 26 06:40:37 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Sep 2011 13:40:37 +0000 Subject: [Bug 792] Running eclipse Indigo causes segfault In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=792 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dbhole at redhat.com Status|NEW |RESOLVED Resolution| |INVALID --- Comment #5 from Deepak Bhole 2011-09-26 13:40:36 --- Hi Jon. This is an Eclipse SWT/WebKit problem. The err files show no OpenJDK code on the stack outside of reflection classes. Please re-file this on the Eclipse bugzilla as there is nothing we can do about it. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. From omajid at icedtea.classpath.org Mon Sep 26 08:44:17 2011 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Mon, 26 Sep 2011 15:44:17 +0000 Subject: /hg/icedtea-web: Add support for client authentication certificates Message-ID: changeset 6e78f0a85d4b in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=6e78f0a85d4b author: Lars Herschke date: Mon Sep 26 11:43:40 2011 -0400 Add support for client authentication certificates 2011-09-26 Lars Herschke * netx/net/sourceforge/jnlp/resources/Messages.properties: Add CVExportPasswordMessage, CVImportPasswordMessage and CVPasswordTitle. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Initialize SSLContext with the user's client certificates. * netx/net/sourceforge/jnlp/security/CertificateUtils.java (addPKCS12ToKeyStore, addPKCS12ToKeyStore, dumpPKCS12): New methods. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java (getPasswords): New method. (ImportButtonListener.actionPerformed): Import client certificates in PKCS12 format. (ExportButtonListener.actionPerformed): Export client certificates in PKCS12 format. diffstat: ChangeLog | 16 +++ NEWS | 1 + netx/net/sourceforge/jnlp/resources/Messages.properties | 3 + netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 6 +- netx/net/sourceforge/jnlp/security/CertificateUtils.java | 49 ++++++++++ netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 38 ++++++- 6 files changed, 108 insertions(+), 5 deletions(-) diffs (227 lines): diff -r 16c81f4dcf12 -r 6e78f0a85d4b ChangeLog --- a/ChangeLog Fri Sep 23 12:05:43 2011 -0400 +++ b/ChangeLog Mon Sep 26 11:43:40 2011 -0400 @@ -1,3 +1,19 @@ +2011-09-26 Lars Herschke + + * netx/net/sourceforge/jnlp/resources/Messages.properties: Add + CVExportPasswordMessage, CVImportPasswordMessage and + CVPasswordTitle. + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): + Initialize SSLContext with the user's client certificates. + * netx/net/sourceforge/jnlp/security/CertificateUtils.java + (addPKCS12ToKeyStore, addPKCS12ToKeyStore, dumpPKCS12): New methods. + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java + (getPasswords): New method. + (ImportButtonListener.actionPerformed): Import client certificates + in PKCS12 format. + (ExportButtonListener.actionPerformed): Export client certificates + in PKCS12 format. + 2011-09-23 Omair Majid RH738814: Access denied at ssl handshake diff -r 16c81f4dcf12 -r 6e78f0a85d4b NEWS --- a/NEWS Fri Sep 23 12:05:43 2011 -0400 +++ b/NEWS Mon Sep 26 11:43:40 2011 -0400 @@ -27,6 +27,7 @@ - PR789: typo in jrunscript.sh - RH734081: Javaws cannot use proxy settings from Firefox - RH738814: Access denied at ssl handshake + - Support for authenticating using client certificates New in release 1.1 (2011-XX-XX): * Security updates diff -r 16c81f4dcf12 -r 6e78f0a85d4b netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Sep 23 12:05:43 2011 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Mon Sep 26 11:43:40 2011 -0400 @@ -242,9 +242,12 @@ CVCertificateType=Certificate Type CVDetails=Details CVExport=Export +CVExportPasswordMessage=Enter password to protect key file: CVImport=Import +CVImportPasswordMessage=Enter password to access file: CVIssuedBy=Issued By CVIssuedTo=Issued To +CVPasswordTitle=Authentication Required CVRemove=Remove CVRemoveConfirmMessage=Are you sure you want to remove the selected certificate? CVRemoveConfirmTitle=Confirmation - Remove Certificate? diff -r 16c81f4dcf12 -r 6e78f0a85d4b netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Fri Sep 23 12:05:43 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Mon Sep 26 11:43:40 2011 -0400 @@ -29,6 +29,7 @@ import javax.jnlp.*; import javax.naming.ConfigurationException; import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; @@ -225,8 +226,11 @@ try { SSLSocketFactory sslSocketFactory; SSLContext context = SSLContext.getInstance("SSL"); + KeyStore ks = KeyStores.getKeyStore(KeyStores.Level.USER, KeyStores.Type.CLIENT_CERTS); + KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); + kmf.init(ks, KeyStores.getPassword()); TrustManager[] trust = new TrustManager[] { VariableX509TrustManager.getInstance() }; - context.init(null, trust, null); + context.init(kmf.getKeyManagers(), trust, null); sslSocketFactory = context.getSocketFactory(); HttpsURLConnection.setDefaultSSLSocketFactory(sslSocketFactory); diff -r 16c81f4dcf12 -r 6e78f0a85d4b netx/net/sourceforge/jnlp/security/CertificateUtils.java --- a/netx/net/sourceforge/jnlp/security/CertificateUtils.java Fri Sep 23 12:05:43 2011 -0400 +++ b/netx/net/sourceforge/jnlp/security/CertificateUtils.java Mon Sep 26 11:43:40 2011 -0400 @@ -38,12 +38,15 @@ package net.sourceforge.jnlp.security; import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; import java.math.BigInteger; import java.security.InvalidKeyException; +import java.security.Key; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; @@ -117,6 +120,41 @@ ks.setCertificateEntry(alias, cert); } + public static void addPKCS12ToKeyStore(File file, KeyStore ks, char[] password) + throws Exception { + BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); + KeyStore keyStore = KeyStore.getInstance("PKCS12"); + keyStore.load(bis, password); + + Enumeration aliasList = keyStore.aliases(); + + while (aliasList.hasMoreElements()) { + String alias = aliasList.nextElement(); + Certificate[] certChain = keyStore.getCertificateChain(alias); + Key key = keyStore.getKey(alias, password); + addPKCS12ToKeyStore(certChain, key, ks); + } + } + + public static void addPKCS12ToKeyStore(Certificate[] certChain, Key key, KeyStore ks) + throws KeyStoreException { + String alias = null; + + // does this certificate already exist? + alias = ks.getCertificateAlias(certChain[0]); + if (alias != null) { + return; + } + + // create a unique alias for this new certificate + Random random = new Random(); + do { + alias = new BigInteger(20, random).toString(); + } while (ks.getCertificate(alias) != null); + + ks.setKeyEntry(alias, key, KeyStores.getPassword(), certChain); + } + /** * Checks whether an X509Certificate is already in one of the keystores * @param c the certificate @@ -177,4 +215,15 @@ encoder.encodeBuffer(cert.getEncoded(), out); out.println(X509Factory.END_CERT); } + + public static void dumpPKCS12(String alias, File file, KeyStore ks, char[] password) + throws Exception { + Certificate[] certChain = ks.getCertificateChain(alias); + Key key = ks.getKey(alias, KeyStores.getPassword()); + BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file)); + KeyStore keyStore = KeyStore.getInstance("PKCS12"); + keyStore.load(null, null); + keyStore.setKeyEntry(alias, key, password, certChain); + keyStore.store(bos, password); + } } diff -r 16c81f4dcf12 -r 6e78f0a85d4b netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java --- a/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java Fri Sep 23 12:05:43 2011 -0400 +++ b/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java Mon Sep 26 11:43:40 2011 -0400 @@ -66,6 +66,7 @@ import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; +import javax.swing.JPasswordField; import javax.swing.JScrollPane; import javax.swing.JTabbedPane; import javax.swing.JTable; @@ -100,6 +101,7 @@ new CertificateType(KeyStores.Type.JSSE_CA_CERTS), new CertificateType(KeyStores.Type.CERTS), new CertificateType(KeyStores.Type.JSSE_CERTS), + new CertificateType(KeyStores.Type.CLIENT_CERTS) }; JTabbedPane tabbedPane; @@ -301,6 +303,18 @@ } } + private char[] getPassword(final String label) { + JPasswordField jpf = new JPasswordField(); + int result = JOptionPane.showConfirmDialog(parent, + new Object[]{label, jpf}, R("CVPasswordTitle"), + JOptionPane.OK_CANCEL_OPTION, + JOptionPane.INFORMATION_MESSAGE); + if (result == JOptionPane.OK_OPTION) + return jpf.getPassword(); + else + return null; + } + /** Allows storing KeyStores.Types in a JComponent */ private static class CertificateType { private final KeyStores.Type type; @@ -364,7 +378,17 @@ if (returnVal == JFileChooser.APPROVE_OPTION) { try { KeyStore ks = keyStore; - CertificateUtils.addToKeyStore(chooser.getSelectedFile(), ks); + if (currentKeyStoreType == KeyStores.Type.CLIENT_CERTS) { + char[] password = getPassword(R("CVImportPasswordMessage")); + if (password != null) { + CertificateUtils.addPKCS12ToKeyStore( + chooser.getSelectedFile(), ks, password); + } else { + return; + } + } else { + CertificateUtils.addToKeyStore(chooser.getSelectedFile(), ks); + } File keyStoreFile = new File(KeyStores .getKeyStoreLocation(currentKeyStoreLevel, currentKeyStoreType)); if (!keyStoreFile.isFile()) { @@ -408,9 +432,15 @@ String alias = keyStore.getCertificateAlias(certs .get(selectedRow)); if (alias != null) { - Certificate c = keyStore.getCertificate(alias); - PrintStream ps = new PrintStream(chooser.getSelectedFile().getAbsolutePath()); - CertificateUtils.dump(c, ps); + if (currentKeyStoreType == KeyStores.Type.CLIENT_CERTS) { + char[] password = getPassword(R("CVExportPasswordMessage")); + if (password != null) + CertificateUtils.dumpPKCS12(alias, chooser.getSelectedFile(), keyStore, password); + } else { + Certificate c = keyStore.getCertificate(alias); + PrintStream ps = new PrintStream(chooser.getSelectedFile().getAbsolutePath()); + CertificateUtils.dump(c, ps); + } repopulateTables(); } } From omajid at redhat.com Mon Sep 26 10:54:19 2011 From: omajid at redhat.com (Omair Majid) Date: Mon, 26 Sep 2011 13:54:19 -0400 Subject: /hg/icedtea-web: 4 new changesets In-Reply-To: References: Message-ID: <4E80BC4B.1030006@redhat.com> On 09/22/2011 12:05 PM, jvanek at icedtea.classpath.org wrote: > changeset c438d6a9c7a9 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c438d6a9c7a9 > author: Jiri Vanek > date: Thu Sep 22 17:53:48 2011 +0200 > > added first signed reproducer as example and testing read properties > signed behaviour. > > > changeset 9b2205c224d4 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=9b2205c224d4 > author: Jiri Vanek > date: Thu Sep 22 18:01:24 2011 +0200 > > Added test (into signed reproducers) which is trying to missuse > xtrustAll by reflection and to laod unsigned code. This test pass, > if loading unsigned jar will fail (because accessing of inner netx > classes is avaiable by with reflection). > > > diffstat: > > ChangeLog | 55 +++++ > Makefile.am | 100 +++++++-- > acinclude.m4 | 58 +++++ > configure.ac | 2 + > netx/net/sourceforge/jnlp/runtime/Boot.java | 3 + > netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 3 + > netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 12 + > netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 4 + > tests/jnlp_tests/README | 12 +- > tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java | 4 +- > 10 files changed, 221 insertions(+), 32 deletions(-) > Looking at the diffstat, nothing was added to tests/jnlp_tests/signed/. In fact, that directory does not even exist in the current HEAD. Because the signed directory does not exist, the makefile creates incorrect files: junit-jnlp-dist-signed.txt: cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ If singed dir is not present, this creates a junit-jnlp-dist-signed.txt that contains a list of files in $(abs_top_builddir). Running this "test" shows lots of output that is quite meaningless. Could you please add the missing files? Thanks, Omair From ahughes at redhat.com Mon Sep 26 12:04:42 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Mon, 26 Sep 2011 20:04:42 +0100 Subject: IcedTea7 HEAD build error on RHEL 5 x86_64 In-Reply-To: <4E80449C.4080606@redhat.com> References: <4E7B2C01.4020500@redhat.com> <20110922131613.GB26948@redhat.com> <4E7B3E54.8030201@redhat.com> <20110922154919.GC26948@redhat.com> <20110923020925.GB5542@rivendell.middle-earth.co.uk> <20110923022125.GI26948@redhat.com> <20110923155728.GC5542@rivendell.middle-earth.co.uk> <20110923182031.GP26948@redhat.com> <20110925225831.GB7933@rivendell.middle-earth.co.uk> <4E80449C.4080606@redhat.com> Message-ID: <20110926190442.GA29033@rivendell.middle-earth.co.uk> On 10:23 Mon 26 Sep , Andrew Haley wrote: > On 09/25/2011 11:58 PM, Dr Andrew John Hughes wrote: > > > You can see why this is done in the Oracle environment where they > > want the binary to only depend on libc (even libstdc++ is statically > > linked), but we should make sure as much stuff works at > > *compile-time* as possible instead of waiting for users to hit > > failures at run-time. > > There is a counter-argument, though: Java itself doesn't depend on GUI > toolkits, but some Java programs do. I don't think it's necessarily > true that every library that Java could possibly use in certain > application areas must be installed. On the other hand, run-time > failures don't look good. > Well, we now have the option of either whereas before we were forced to look for pretty much everything at run-time. There are, of course, different circumstances which necessitate a different mix of options. >From a developer's perspective, I'd prefer to make use of the compiler and have it perform some checks at compile-time, rather than leaving everything to run-time as if I was using some interpreted language. In that sense, you can think of it like having -Werror on for development and off for release. FWIW, enabling use of the proper Gtk+ headers has already thrown up a number of warnings about type mismatches. That doesn't mean distros have to depend on everything. With binary distros, you also have the option to separate libraries into different packages. I believe Debian does this to provide a minimal headless install. It's not like there's a standard policy for this now. It's probably less likely that you'll use sound than a GUI toolkit, yet ALSA is required at compile-time. Likewise, the X libraries are required at compile-time. Gtk+ is not much on top of that and it's needed by the plugin anyway. > We don't want to be in a situation where as soon as OpenJDK provides > an API for Library X, every user of OpenJDK is forced to install > Library X to satisfy dependencies. > There's no forcing going on. If you don't want, say Gtk+ at compile-time, you can --disable-system-gtk and take the risk that the Gtk look and feel won't work. > I don't think there is any simple answer. > > Andrew. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From ahughes at redhat.com Mon Sep 26 12:10:35 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Mon, 26 Sep 2011 20:10:35 +0100 Subject: /hg/icedtea-web: 4 new changesets In-Reply-To: <4E80BC4B.1030006@redhat.com> References: <4E80BC4B.1030006@redhat.com> Message-ID: <20110926191035.GB29033@rivendell.middle-earth.co.uk> On 13:54 Mon 26 Sep , Omair Majid wrote: > On 09/22/2011 12:05 PM, jvanek at icedtea.classpath.org wrote: > > > changeset c438d6a9c7a9 in /hg/icedtea-web > > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c438d6a9c7a9 > > author: Jiri Vanek > > date: Thu Sep 22 17:53:48 2011 +0200 > > > > added first signed reproducer as example and testing read properties > > signed behaviour. > > > > > > changeset 9b2205c224d4 in /hg/icedtea-web > > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=9b2205c224d4 > > author: Jiri Vanek > > date: Thu Sep 22 18:01:24 2011 +0200 > > > > Added test (into signed reproducers) which is trying to missuse > > xtrustAll by reflection and to laod unsigned code. This test pass, > > if loading unsigned jar will fail (because accessing of inner netx > > classes is avaiable by with reflection). > > > > > > diffstat: > > > > ChangeLog | 55 +++++ > > Makefile.am | 100 +++++++-- > > acinclude.m4 | 58 +++++ > > configure.ac | 2 + > > netx/net/sourceforge/jnlp/runtime/Boot.java | 3 + > > netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 3 + > > netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 12 + > > netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 4 + > > tests/jnlp_tests/README | 12 +- > > tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java | 4 +- > > 10 files changed, 221 insertions(+), 32 deletions(-) > > > > Looking at the diffstat, nothing was added to tests/jnlp_tests/signed/. > In fact, that directory does not even exist in the current HEAD. > > Because the signed directory does not exist, the makefile creates > incorrect files: > > junit-jnlp-dist-signed.txt: > cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ > find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > > $(abs_top_builddir)/$@ > > If singed dir is not present, this creates a junit-jnlp-dist-signed.txt > that contains a list of files in $(abs_top_builddir). Running this > "test" shows lots of output that is quite meaningless. > > Could you please add the missing files? > I see four changesets here. Have they all been reviewed? > Thanks, > Omair -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From bugzilla-daemon at icedtea.classpath.org Mon Sep 26 12:20:26 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Sep 2011 19:20:26 +0000 Subject: [Bug 793] Firefox does not load java based applet via icedtea-plugin In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=793 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- CC|unassigned at icedtea.classpath| |.org | --- Comment #1 from Deepak Bhole 2011-09-26 19:20:26 --- Can you try this with 1.1.2? I am unable to reproduce it with either 1.1.2 or HEAD: http://people.redhat.com/dbhole/public/dailyfx.jpg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From omajid at redhat.com Mon Sep 26 12:25:59 2011 From: omajid at redhat.com (Omair Majid) Date: Mon, 26 Sep 2011 15:25:59 -0400 Subject: /hg/icedtea-web: 4 new changesets In-Reply-To: <20110926191035.GB29033@rivendell.middle-earth.co.uk> References: <4E80BC4B.1030006@redhat.com> <20110926191035.GB29033@rivendell.middle-earth.co.uk> Message-ID: <4E80D1C7.1030509@redhat.com> On 09/26/2011 03:10 PM, Dr Andrew John Hughes wrote: > On 13:54 Mon 26 Sep , Omair Majid wrote: >> On 09/22/2011 12:05 PM, jvanek at icedtea.classpath.org wrote: >> >>> changeset c438d6a9c7a9 in /hg/icedtea-web >>> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c438d6a9c7a9 >>> author: Jiri Vanek >>> date: Thu Sep 22 17:53:48 2011 +0200 >>> >>> added first signed reproducer as example and testing read properties >>> signed behaviour. >>> >>> >>> changeset 9b2205c224d4 in /hg/icedtea-web >>> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=9b2205c224d4 >>> author: Jiri Vanek >>> date: Thu Sep 22 18:01:24 2011 +0200 >>> >>> Added test (into signed reproducers) which is trying to missuse >>> xtrustAll by reflection and to laod unsigned code. This test pass, >>> if loading unsigned jar will fail (because accessing of inner netx >>> classes is avaiable by with reflection). >>> >>> >>> diffstat: >>> >>> ChangeLog | 55 +++++ >>> Makefile.am | 100 +++++++-- >>> acinclude.m4 | 58 +++++ >>> configure.ac | 2 + >>> netx/net/sourceforge/jnlp/runtime/Boot.java | 3 + >>> netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 3 + >>> netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 12 + >>> netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 4 + >>> tests/jnlp_tests/README | 12 +- >>> tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java | 4 +- >>> 10 files changed, 221 insertions(+), 32 deletions(-) >>> >> >> Looking at the diffstat, nothing was added to tests/jnlp_tests/signed/. >> In fact, that directory does not even exist in the current HEAD. >> >> Because the signed directory does not exist, the makefile creates >> incorrect files: >> >> junit-jnlp-dist-signed.txt: >> cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ >> find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//"> >> $(abs_top_builddir)/$@ >> >> If singed dir is not present, this creates a junit-jnlp-dist-signed.txt >> that contains a list of files in $(abs_top_builddir). Running this >> "test" shows lots of output that is quite meaningless. >> >> Could you please add the missing files? >> > > I see four changesets here. Have they all been reviewed? > Yes, I went over the patches [1] and everything looked fine to me. Cheers, Omair [1] http://thread.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/15675 From ahughes at redhat.com Mon Sep 26 15:57:53 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Mon, 26 Sep 2011 23:57:53 +0100 Subject: /hg/icedtea7: 2011-09-26 Xerxes Ranby In-Reply-To: References: Message-ID: <20110926225753.GD29033@rivendell.middle-earth.co.uk> On 12:00 Mon 26 Sep , xranby at icedtea.classpath.org wrote: > changeset ee3b02974ac6 in /hg/icedtea7 > details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=ee3b02974ac6 > author: Xerxes Ranby > date: Mon Sep 26 14:10:17 2011 +0200 > > 2011-09-26 Xerxes Ranby Mark David > Dumlao > > JamVM > - Skip Java-reflection-related DelegatingClassLoaders, > enables JamVM to run NetBeans. > - Generic JNI stubs for common JNI method signatures. > - Fix memory heap arguments in terms of gigabytes. > * NEWS: Updated. > * patches/jamvm/gb-memory-fix.patch: New patch contributed by > Mark David Dumlao. > * patches/jamvm/jmm_GetLongAttribute_201.patch: Replaced by > upstream, Tidy-ups, changeset > 106ffbb35fb9c185ba8c649441036d00e44c6a32. > * Makefile.am (ICEDTEA_PATCHES): Apply new JamVM patch, remove > upstreamed JamVM patch. (JAMVM_VERSION): Updated JamVM to > 2011-09-24 revision. (JAMVM_SHA256SUM): Updated. > Can you please make sure to have a summary as the first line? Having your name as the first line makes pages like http://icedtea.classpath.org/hg/icedtea7/ unusable. Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From ahughes at redhat.com Mon Sep 26 17:38:44 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Tue, 27 Sep 2011 01:38:44 +0100 Subject: [icedtea-web] RFC: PR618 - Can't install OpenDJ, JavaWebStart fails with Input stream is null error. In-Reply-To: <4E776361.3080304@redhat.com> References: <4E776361.3080304@redhat.com> Message-ID: <20110927003844.GE29033@rivendell.middle-earth.co.uk> On 11:44 Mon 19 Sep , Omair Majid wrote: > Hi, > > The attached patch fixes PR618. There is an old thread [1] that traces > the evolution of this patch. > > The patch tires to make sure that resources marked as 'lazy' are > searched too if a resource is not found. > > ChangeLog > 2011-09-19 Omair Majid > > PR618 > * NEWS: Update. > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > (getResource): Rename to ... > (findResource): New method. > (findResources): If resource can not be found, search in lazy > resources. > (findResourcesBySearching): New method. > > Any thoughts or comments? > Sorry, I thought I replied to this. My only comment was as to the addition of @Override; I don't think this is necessary and it can cause issues with older compilers (there's an issue with this, IcedTea6 1.8 and the last security patch for instance). Otherwise, it's good to go. > Cheers, > Omair > > [1] > http://thread.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/11869 -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From andrew at icedtea.classpath.org Mon Sep 26 17:48:13 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 27 Sep 2011 00:48:13 +0000 Subject: /hg/icedtea7: Check for headers required for syscalls. Message-ID: changeset cfd5af6eb76c in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=cfd5af6eb76c author: Andrew John Hughes date: Tue Sep 27 01:47:55 2011 +0100 Check for headers required for syscalls. 2011-09-27 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_SYSCALLS): Include checks for required headers: sys/epoll.h and attr/xattr.h. diffstat: ChangeLog | 7 +++++++ acinclude.m4 | 2 ++ 2 files changed, 9 insertions(+), 0 deletions(-) diffs (26 lines): diff -r ee3b02974ac6 -r cfd5af6eb76c ChangeLog --- a/ChangeLog Mon Sep 26 14:10:17 2011 +0200 +++ b/ChangeLog Tue Sep 27 01:47:55 2011 +0100 @@ -1,3 +1,10 @@ +2011-09-27 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_SYSCALLS): Include checks + for required headers: sys/epoll.h and + attr/xattr.h. + 2011-09-26 Xerxes R??nby Mark David Dumlao diff -r ee3b02974ac6 -r cfd5af6eb76c acinclude.m4 --- a/acinclude.m4 Mon Sep 26 14:10:17 2011 +0200 +++ b/acinclude.m4 Tue Sep 27 01:47:55 2011 +0100 @@ -2163,6 +2163,8 @@ dnl Check for syscalls AC_CHECK_FUNCS([openat64 fstatat64 fgetxattr fsetxattr fremovexattr flistxattr unlinkat renameat futimesat fdopendir epoll_create epoll_ctl epoll_wait],, [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 or use --disable-compile-against-syscalls if necessary.")]) fi AM_CONDITIONAL(USE_SYSCALL_COMPILATION, test x"${ENABLE_SYSCALL_COMPILATION}" = "xyes") AC_SUBST(ENABLE_SYSCALL_COMPILATION) From andrew at icedtea.classpath.org Mon Sep 26 17:51:37 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 27 Sep 2011 00:51:37 +0000 Subject: /hg/icedtea7: Always quote using '[' and ']' in macros. Message-ID: changeset b11497e41b7c in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=b11497e41b7c author: Andrew John Hughes date: Tue Sep 27 01:51:32 2011 +0100 Always quote using '[' and ']' in macros. 2011-09-27 Andrew John Hughes * acinclude.m4: Always quote using '[' and ']' in macro calls. (IT_CHECK_FOR_JPEG): Replace quotation marks with '[' and ']'. (IT_CHECK_FOR_GIF): Likewise. (IT_CHECK_FOR_CUPS): Likewise. (IT_CHECK_FOR_SYSCALLS): Likewise. diffstat: ChangeLog | 10 ++++++++++ acinclude.m4 | 14 +++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diffs (65 lines): diff -r cfd5af6eb76c -r b11497e41b7c ChangeLog --- a/ChangeLog Tue Sep 27 01:47:55 2011 +0100 +++ b/ChangeLog Tue Sep 27 01:51:32 2011 +0100 @@ -1,3 +1,13 @@ +2011-09-27 Andrew John Hughes + + * acinclude.m4: + Always quote using '[' and ']' in macro calls. + (IT_CHECK_FOR_JPEG): Replace quotation marks + with '[' and ']'. + (IT_CHECK_FOR_GIF): Likewise. + (IT_CHECK_FOR_CUPS): Likewise. + (IT_CHECK_FOR_SYSCALLS): Likewise. + 2011-09-27 Andrew John Hughes * acinclude.m4: diff -r cfd5af6eb76c -r b11497e41b7c acinclude.m4 --- a/acinclude.m4 Tue Sep 27 01:47:55 2011 +0100 +++ b/acinclude.m4 Tue Sep 27 01:51:32 2011 +0100 @@ -1997,9 +1997,9 @@ if test x"${ENABLE_SYSTEM_JPEG}" = "xyes"; then dnl Check for JPEG headers and libraries. AC_CHECK_LIB([jpeg], [main], - , [AC_MSG_ERROR("Could not find JPEG library; install JPEG or build with --disable-system-jpeg to use the in-tree copy.")]) + , [AC_MSG_ERROR([Could not find JPEG library; install JPEG or build with --disable-system-jpeg to use the in-tree copy.])]) AC_CHECK_HEADER([jpeglib.h], - , [AC_MSG_ERROR("Could not find JPEG header; install JPEG or build with --disable-system-jpeg to use the in-tree copy.")]) + , [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) fi @@ -2048,9 +2048,9 @@ if test x"${ENABLE_SYSTEM_GIF}" = "xyes"; then dnl Check for GIF headers and libraries. AC_CHECK_LIB([gif], [main], - , [AC_MSG_ERROR("Could not find GIF library; install GIF or build with --disable-system-gif to use the in-tree copy.")]) + , [AC_MSG_ERROR([Could not find GIF library; install GIF or build with --disable-system-gif to use the in-tree copy.])]) AC_CHECK_HEADER([gif_lib.h], - , [AC_MSG_ERROR("Could not find GIF header; install GIF or build with --disable-system-gif to use the in-tree copy.")]) + , [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) fi @@ -2140,9 +2140,9 @@ [ dnl Check for CUPS headers and libraries. AC_CHECK_LIB([cups], [cupsServer], - , [AC_MSG_ERROR("Could not find CUPS library; install CUPS.")]) + , [AC_MSG_ERROR([Could not find CUPS library; install CUPS.])]) AC_CHECK_HEADERS([cups/cups.h cups/ppd.h], - , [AC_MSG_ERROR("Could not find CUPS headers; install CUPS (including cups-devel on binary distros).")]) + , [AC_MSG_ERROR([Could not find CUPS headers; install CUPS (including cups-devel on binary distros).])]) CUPS_LIBS="-lcups" AC_SUBST(CUPS_LIBS) ]) @@ -2164,7 +2164,7 @@ AC_CHECK_FUNCS([openat64 fstatat64 fgetxattr fsetxattr fremovexattr flistxattr unlinkat renameat futimesat fdopendir epoll_create epoll_ctl epoll_wait],, [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 or use --disable-compile-against-syscalls if necessary.")]) + , [AC_MSG_ERROR([Could not find required system headers; install the appropriate files or use --disable-compile-against-syscalls if necessary.])]) fi AM_CONDITIONAL(USE_SYSCALL_COMPILATION, test x"${ENABLE_SYSCALL_COMPILATION}" = "xyes") AC_SUBST(ENABLE_SYSCALL_COMPILATION) From ahughes at redhat.com Mon Sep 26 18:14:40 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Tue, 27 Sep 2011 02:14:40 +0100 Subject: /hg/icedtea-web: 4 new changesets In-Reply-To: <4E80D1C7.1030509@redhat.com> References: <4E80BC4B.1030006@redhat.com> <20110926191035.GB29033@rivendell.middle-earth.co.uk> <4E80D1C7.1030509@redhat.com> Message-ID: <20110927011440.GG29033@rivendell.middle-earth.co.uk> On 15:25 Mon 26 Sep , Omair Majid wrote: > On 09/26/2011 03:10 PM, Dr Andrew John Hughes wrote: > > On 13:54 Mon 26 Sep , Omair Majid wrote: > >> On 09/22/2011 12:05 PM, jvanek at icedtea.classpath.org wrote: > >> > >>> changeset c438d6a9c7a9 in /hg/icedtea-web > >>> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c438d6a9c7a9 > >>> author: Jiri Vanek > >>> date: Thu Sep 22 17:53:48 2011 +0200 > >>> > >>> added first signed reproducer as example and testing read properties > >>> signed behaviour. > >>> > >>> > >>> changeset 9b2205c224d4 in /hg/icedtea-web > >>> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=9b2205c224d4 > >>> author: Jiri Vanek > >>> date: Thu Sep 22 18:01:24 2011 +0200 > >>> > >>> Added test (into signed reproducers) which is trying to missuse > >>> xtrustAll by reflection and to laod unsigned code. This test pass, > >>> if loading unsigned jar will fail (because accessing of inner netx > >>> classes is avaiable by with reflection). > >>> > >>> > >>> diffstat: > >>> > >>> ChangeLog | 55 +++++ > >>> Makefile.am | 100 +++++++-- > >>> acinclude.m4 | 58 +++++ > >>> configure.ac | 2 + > >>> netx/net/sourceforge/jnlp/runtime/Boot.java | 3 + > >>> netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 3 + > >>> netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 12 + > >>> netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 4 + > >>> tests/jnlp_tests/README | 12 +- > >>> tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java | 4 +- > >>> 10 files changed, 221 insertions(+), 32 deletions(-) > >>> > >> > >> Looking at the diffstat, nothing was added to tests/jnlp_tests/signed/. > >> In fact, that directory does not even exist in the current HEAD. > >> > >> Because the signed directory does not exist, the makefile creates > >> incorrect files: > >> > >> junit-jnlp-dist-signed.txt: > >> cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ > >> find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//"> > >> $(abs_top_builddir)/$@ > >> > >> If singed dir is not present, this creates a junit-jnlp-dist-signed.txt > >> that contains a list of files in $(abs_top_builddir). Running this > >> "test" shows lots of output that is quite meaningless. > >> > >> Could you please add the missing files? > >> > > > > I see four changesets here. Have they all been reviewed? > > > > Yes, I went over the patches [1] and everything looked fine to me. > > Cheers, > Omair > > [1] > http://thread.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/15675 Yes, I saw that. I don't see why it resulted in four changesets rather than one. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From mark at klomp.org Tue Sep 27 01:09:37 2011 From: mark at klomp.org (Mark Wielaard) Date: Tue, 27 Sep 2011 10:09:37 +0200 Subject: extend configure error message to suggest package to install (epoll/xattr) Message-ID: <1317110978.3361.3.camel@springer.wildebeest.org> Hi, Currently configure tests for epoll and xattr support, but then gives a very generic error message: configure: error: Could not find required system headers; install the appropriate files or use --disable-compile-against-syscalls if necessary. This patch makes the error message a bit more verbose with hints to the packages to install like with some of the other checks: configure: 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. Patch OK for icedtea7? 2011-09-27 Mark Wielaard * acinclude.m4: Add devel package suggestions for epoll/xattr check failure. Thanks, Mark P.S. I have also install libattr1-dev on the x86_64 buildslave so it should start building again: http://builder.classpath.org/icedtea/buildbot/builders/icedtea7-squeeze-x86_64-quick/ -------------- next part -------------- A non-text attachment was scrubbed... Name: epoll-xattr.patch Type: text/x-patch Size: 1021 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110927/1d684475/epoll-xattr.patch From ptisnovs at redhat.com Tue Sep 27 01:42:30 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Tue, 27 Sep 2011 10:42:30 +0200 Subject: extend configure error message to suggest package to install (epoll/xattr) In-Reply-To: <1317110978.3361.3.camel@springer.wildebeest.org> References: <1317110978.3361.3.camel@springer.wildebeest.org> Message-ID: <4E818C76.4020904@redhat.com> Hi Mark, this patch seems to be very useful, thank you. I'm ok with them ;-) Pavel Mark Wielaard wrote: > Hi, > > Currently configure tests for epoll and xattr support, but then gives a > very generic error message: > > configure: error: Could not find required system headers; > install the appropriate files or use > --disable-compile-against-syscalls if necessary. > > This patch makes the error message a bit more verbose with hints to the > packages to install like with some of the other checks: > > configure: 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. > > Patch OK for icedtea7? > > 2011-09-27 Mark Wielaard > > * acinclude.m4: Add devel package suggestions for epoll/xattr > check failure. > > Thanks, > > Mark > > P.S. I have also install libattr1-dev on the x86_64 buildslave so it > should start building again: > http://builder.classpath.org/icedtea/buildbot/builders/icedtea7-squeeze-x86_64-quick/ > From mark at icedtea.classpath.org Tue Sep 27 01:43:30 2011 From: mark at icedtea.classpath.org (mark at icedtea.classpath.org) Date: Tue, 27 Sep 2011 08:43:30 +0000 Subject: /hg/icedtea7: acinclude.m4: Add devel package suggestions for ep... Message-ID: changeset 426efa8c5ec4 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=426efa8c5ec4 author: Mark Wielaard date: Tue Sep 27 10:43:05 2011 +0200 acinclude.m4: Add devel package suggestions for epoll/xattr check failure. diffstat: ChangeLog | 5 +++++ acinclude.m4 | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) diffs (24 lines): diff -r b11497e41b7c -r 426efa8c5ec4 ChangeLog --- a/ChangeLog Tue Sep 27 01:51:32 2011 +0100 +++ b/ChangeLog Tue Sep 27 10:43:05 2011 +0200 @@ -1,3 +1,8 @@ +2011-09-27 Mark Wielaard + + * acinclude.m4: Add devel package suggestions for epoll/xattr + check failure. + 2011-09-27 Andrew John Hughes * acinclude.m4: diff -r b11497e41b7c -r 426efa8c5ec4 acinclude.m4 --- a/acinclude.m4 Tue Sep 27 01:51:32 2011 +0100 +++ b/acinclude.m4 Tue Sep 27 10:43:05 2011 +0200 @@ -2164,7 +2164,7 @@ AC_CHECK_FUNCS([openat64 fstatat64 fgetxattr fsetxattr fremovexattr flistxattr unlinkat renameat futimesat fdopendir epoll_create epoll_ctl epoll_wait],, [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 or use --disable-compile-against-syscalls if necessary.])]) + , [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.])]) fi AM_CONDITIONAL(USE_SYSCALL_COMPILATION, test x"${ENABLE_SYSCALL_COMPILATION}" = "xyes") AC_SUBST(ENABLE_SYSCALL_COMPILATION) From omajid at redhat.com Tue Sep 27 06:39:38 2011 From: omajid at redhat.com (Omair Majid) Date: Tue, 27 Sep 2011 09:39:38 -0400 Subject: [icedtea-web] RFC: PR618 - Can't install OpenDJ, JavaWebStart fails with Input stream is null error. In-Reply-To: <20110927003844.GE29033@rivendell.middle-earth.co.uk> References: <4E776361.3080304@redhat.com> <20110927003844.GE29033@rivendell.middle-earth.co.uk> Message-ID: <4E81D21A.1020103@redhat.com> On 09/26/2011 08:38 PM, Dr Andrew John Hughes wrote: > On 11:44 Mon 19 Sep , Omair Majid wrote: >> Hi, >> >> The attached patch fixes PR618. There is an old thread [1] that traces >> the evolution of this patch. >> >> The patch tires to make sure that resources marked as 'lazy' are >> searched too if a resource is not found. >> >> ChangeLog >> 2011-09-19 Omair Majid >> >> PR618 >> * NEWS: Update. >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> (getResource): Rename to ... >> (findResource): New method. >> (findResources): If resource can not be found, search in lazy >> resources. >> (findResourcesBySearching): New method. >> >> Any thoughts or comments? >> > > Sorry, I thought I replied to this. > No worries! > My only comment was as to the addition of @Override; I don't think this > is necessary and it can cause issues with older compilers (there's an > issue with this, IcedTea6 1.8 and the last security patch for instance). > Unless I am mistaken, this particular @Override should be fine. Some older (1.5) compilers assume that @Override can not be used on methods that are implementing a method declared in an interface. But all 1.5+ compilers should work if a method marked as @Override is overriding a method in a superclass (which is what findResource and findResources are doing). The bug you mentioned above was caused because I accidentally added @Override to a method implementing a method (retrieve) declared in an interface (URLJarFileCallBack). An advantage of @Override is that it serves as a sanity check and causes an error if the superclass changes and the method in the superclass is renamed or never called. I would be more than happy to change the patch if you insist, though. > Otherwise, it's good to go. > Thanks, Omair From bugzilla-daemon at icedtea.classpath.org Tue Sep 27 14:55:46 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Sep 2011 21:55:46 +0000 Subject: [Bug 794] New: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=794 Summary: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest Product: IcedTea-Web Version: unspecified Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P5 Component: General AssignedTo: dbhole at redhat.com ReportedBy: dbhole at redhat.com CC: unassigned at icedtea.classpath.org Apps like the latest version of Elluminate no longer work with IcedTea-Web. This is due to the fact that IcedTea-Web attempts to load Class-Path elements even though Web Start does not support them. The Class-Path manifest element should only be honoured for the plug-in. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From dbhole at redhat.com Tue Sep 27 15:07:59 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 27 Sep 2011 18:07:59 -0400 Subject: [icedtea-web] RFC: Patch to fix PR794 (Class-Path element processing) Message-ID: <20110927220758.GL16658@redhat.com> Hi, Attached patch fixes PR794: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=794 ChangeLog: 2011-09-27 Deepak Bhole PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest. * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java (retrieve): Blank out the Class-Path elements in manifest. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Only load Class-Path elements if this is an applet. Add a security mapping for jars from the Class-Path. Okay for HEAD and 1.1? 1.0 needs a fix as well, but it is slightly different and not a priority so I will do it later. Cheers, Deepak -------------- next part -------------- diff -r 0a1733685325 NEWS --- a/NEWS Fri Sep 23 12:14:39 2011 -0400 +++ b/NEWS Tue Sep 27 18:02:12 2011 -0400 @@ -11,6 +11,8 @@ New in release 1.1.3 (2011-XX-XX): * Plugin - PR782: Support building against npapi-sdk as well +* Common + - PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest New in release 1.1.2 (2011-08-31): * Plugin diff -r 0a1733685325 netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java --- a/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Fri Sep 23 12:14:39 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Tue Sep 27 18:02:12 2011 -0400 @@ -94,7 +94,24 @@ if (UrlUtils.isLocalFile(localUrl)) { // if it is known to us, just return the cached file - return new JarFile(localUrl.getPath()); + JarFile returnFile = new JarFile(localUrl.getPath()); + + try { + + // Blank out the class-path because: + // 1) Web Start does not support it + // 2) For the plug-in, we want to cache files from class-path so we do it manually + returnFile.getManifest().getMainAttributes().putValue("Class-Path", ""); + + if (JNLPRuntime.isDebug()) { + System.err.println("Class-Path attribute cleared for " + returnFile.getName()); + } + + } catch (NullPointerException npe) { + // Discard NPE here. Maybe there was no manifest, maybe there were no attributes, etc. + } + + return returnFile; } else { // throw new IllegalStateException("a non-local file in cache"); return null; diff -r 0a1733685325 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Sep 23 12:14:39 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Sep 27 18:02:12 2011 -0400 @@ -669,6 +669,7 @@ // add jar File localFile = tracker.getCacheFile(jar.getLocation()); try { + SecurityDesc jarSecurity = file.getSecurity(); URL location = jar.getLocation(); // non-cacheable, use source location if (localFile != null) { // TODO: Should be toURI().toURL() @@ -736,8 +737,6 @@ CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); addURL(fakeRemote); - SecurityDesc jarSecurity = file.getSecurity(); - if (file instanceof PluginBridge) { URL codebase = null; @@ -779,7 +778,15 @@ JarFile jarFile = new JarFile(localFile.getAbsolutePath()); Manifest mf = jarFile.getManifest(); - classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); + + if (file instanceof PluginBridge) { + for (String classpath: getClassPathsFromManifest(mf, jar.getLocation().getPath())) { + URL codebaseURL = file.getCodeBase(); + jarLocationSecurityMap.put(new URL(codebaseURL.getProtocol() + "://" + codebaseURL.getHost() + classpath), jarSecurity); + classpaths.add(classpath); + } + } + JarIndex index = JarIndex.getJarIndex(jarFile, null); if (index != null) jarIndexes.add(index); From omajid at redhat.com Tue Sep 27 18:07:01 2011 From: omajid at redhat.com (Omair Majid) Date: Tue, 27 Sep 2011 21:07:01 -0400 Subject: [icedtea-web] RFC: Patch to fix PR794 (Class-Path element processing) In-Reply-To: <20110927220758.GL16658@redhat.com> References: <20110927220758.GL16658@redhat.com> Message-ID: <4E827335.3090005@redhat.com> On 09/27/2011 06:07 PM, Deepak Bhole wrote: > Hi, > > Attached patch fixes PR794: > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=794 > > ChangeLog: > 2011-09-27 Deepak Bhole > > PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path > element in the manifest. > * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java > (retrieve): Blank out the Class-Path elements in manifest. > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > (activateJars): Only load Class-Path elements if this is an applet. Add a > security mapping for jars from the Class-Path. > > Okay for HEAD and 1.1? > While the overall idea looks fine to me, I have a few concerns noted inline below. > diff -r 0a1733685325 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Sep 23 12:14:39 2011 -0400 > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Sep 27 18:02:12 2011 -0400 > @@ -779,7 +778,15 @@ > > JarFile jarFile = new JarFile(localFile.getAbsolutePath()); > Manifest mf = jarFile.getManifest(); > - classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); > + > + if (file instanceof PluginBridge) { > + for (String classpath: getClassPathsFromManifest(mf, jar.getLocation().getPath())) { > + URL codebaseURL = file.getCodeBase(); > + jarLocationSecurityMap.put(new URL(codebaseURL.getProtocol() + "://" + codebaseURL.getHost() + classpath), jarSecurity); I have a concern about this line here ^ Is this jar being verified before we grant it permissions? It's not obvious from the patch that we are. Also, a nitpick: we are ignoring any possible port numbers in codebaseURL. Other code in this class does something along the lines of: new URL(codebaseURL, classpath) Thanks for tracking down the cause of this bug and fixing it! Cheers, Omair From dbhole at redhat.com Wed Sep 28 11:57:19 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 28 Sep 2011 14:57:19 -0400 Subject: [icedtea-web] RFC: Patch to fix PR794 (Class-Path element processing) In-Reply-To: <4E827335.3090005@redhat.com> References: <20110927220758.GL16658@redhat.com> <4E827335.3090005@redhat.com> Message-ID: <20110928185719.GD2717@redhat.com> * Omair Majid [2011-09-27 21:07]: > On 09/27/2011 06:07 PM, Deepak Bhole wrote: > >Hi, > > > >Attached patch fixes PR794: > >http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=794 > > > >ChangeLog: > >2011-09-27 Deepak Bhole > > > > PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path > > element in the manifest. > > * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java > > (retrieve): Blank out the Class-Path elements in manifest. > > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > > (activateJars): Only load Class-Path elements if this is an applet. Add a > > security mapping for jars from the Class-Path. > > > >Okay for HEAD and 1.1? > > > > While the overall idea looks fine to me, I have a few concerns noted > inline below. > > >diff -r 0a1733685325 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > >--- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Sep 23 12:14:39 2011 -0400 > >+++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Sep 27 18:02:12 2011 -0400 > >@@ -779,7 +778,15 @@ > > > > JarFile jarFile = new JarFile(localFile.getAbsolutePath()); > > Manifest mf = jarFile.getManifest(); > >- classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); > >+ > >+ if (file instanceof PluginBridge) { > >+ for (String classpath: getClassPathsFromManifest(mf, jar.getLocation().getPath())) { > >+ URL codebaseURL = file.getCodeBase(); > >+ jarLocationSecurityMap.put(new URL(codebaseURL.getProtocol() + "://" + codebaseURL.getHost() + classpath), jarSecurity); > > I have a concern about this line here ^ > > Is this jar being verified before we grant it permissions? It's not > obvious from the patch that we are. > Ah, I thought addNewJar was already doing it. New patch attached. It adds the right permissions and does verification. > Also, a nitpick: we are ignoring any possible port numbers in > codebaseURL. Other code in this class does something along the lines > of: > > new URL(codebaseURL, classpath) > Fixed. New ChangeLog: 2011-09-27 Deepak Bhole PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest. * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java (retrieve): Blank out the Class-Path elements in manifest. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Only load Class-Path elements if this is an applet. (addNewJar): Add the right permissions for the cached jar file and verify signatures. Thanks, Deepak -------------- next part -------------- diff -r 0a1733685325 NEWS --- a/NEWS Fri Sep 23 12:14:39 2011 -0400 +++ b/NEWS Wed Sep 28 14:53:24 2011 -0400 @@ -11,6 +11,8 @@ New in release 1.1.3 (2011-XX-XX): * Plugin - PR782: Support building against npapi-sdk as well +* Common + - PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest New in release 1.1.2 (2011-08-31): * Plugin diff -r 0a1733685325 netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java --- a/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Fri Sep 23 12:14:39 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Wed Sep 28 14:53:24 2011 -0400 @@ -94,7 +94,24 @@ if (UrlUtils.isLocalFile(localUrl)) { // if it is known to us, just return the cached file - return new JarFile(localUrl.getPath()); + JarFile returnFile = new JarFile(localUrl.getPath()); + + try { + + // Blank out the class-path because: + // 1) Web Start does not support it + // 2) For the plug-in, we want to cache files from class-path so we do it manually + returnFile.getManifest().getMainAttributes().putValue("Class-Path", ""); + + if (JNLPRuntime.isDebug()) { + System.err.println("Class-Path attribute cleared for " + returnFile.getName()); + } + + } catch (NullPointerException npe) { + // Discard NPE here. Maybe there was no manifest, maybe there were no attributes, etc. + } + + return returnFile; } else { // throw new IllegalStateException("a non-local file in cache"); return null; diff -r 0a1733685325 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Sep 23 12:14:39 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Sep 28 14:53:24 2011 -0400 @@ -779,7 +779,11 @@ JarFile jarFile = new JarFile(localFile.getAbsolutePath()); Manifest mf = jarFile.getManifest(); - classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); + + if (file instanceof PluginBridge) { + classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); + } + JarIndex index = JarIndex.getJarIndex(jarFile, null); if (index != null) jarIndexes.add(index); @@ -1094,7 +1098,7 @@ * is downloaded. * @param desc the JARDesc for the new jar */ - private void addNewJar(JARDesc desc) { + private void addNewJar(final JARDesc desc) { available.add(desc); @@ -1104,10 +1108,80 @@ JNLPRuntime.getDefaultUpdatePolicy() ); - URL remoteURL = desc.getLocation(); - URL cachedUrl = tracker.getCacheURL(remoteURL); - addURL(remoteURL); - CachedJarFileCallback.getInstance().addMapping(remoteURL, cachedUrl); + // Give read permissions to the cached jar file + AccessController.doPrivileged(new PrivilegedAction() { + public Void run() { + Permission p = CacheUtil.getReadPermission(desc.getLocation(), + desc.getVersion()); + + resourcePermissions.add(p); + + return null; + } + }); + + final URL remoteURL = desc.getLocation(); + final URL cachedUrl = tracker.getCacheURL(remoteURL); // blocks till download + + available.remove(desc); // Resource downloaded. Remove from available list. + + try { + + // Verify if needed + + final JarSigner signer = new JarSigner(); + final List jars = new ArrayList(); + jars.add(desc); + + // Decide what level of security this jar should have + // The verification and security setting functions rely on + // having AllPermissions as those actions normally happen + // during initialization. We therefore need to do those + // actions as privileged. + + Exception verificationResult = AccessController.doPrivileged(new PrivilegedAction() { + public Exception run() { + try { + signer.verifyJars(jars, tracker); + + if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { + checkTrustWithUser(signer); + } + + final SecurityDesc security; + if (signer.anyJarsSigned()) { + security = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + file.getCodeBase().getHost()); + } else { + security = new SecurityDesc(file, + SecurityDesc.SANDBOX_PERMISSIONS, + file.getCodeBase().getHost()); + } + + jarLocationSecurityMap.put(remoteURL, security); + + } catch (Exception e) { + return e; + } + + return null; + } + }); + + if (verificationResult != null) + throw verificationResult; + + addURL(remoteURL); + CachedJarFileCallback.getInstance().addMapping(remoteURL, cachedUrl); + + } catch (Exception e) { + // Do nothing. This code is called by loadClass which cannot + // throw additional exceptions. So instead, just ignore it. + // Exception => jar will not get added to classpath, which will + // result in CNFE from loadClass. + e.printStackTrace(); + } } /** From omajid at redhat.com Wed Sep 28 12:17:59 2011 From: omajid at redhat.com (Omair Majid) Date: Wed, 28 Sep 2011 15:17:59 -0400 Subject: [icedtea-web] RFC: Patch to fix PR794 (Class-Path element processing) In-Reply-To: <20110928185719.GD2717@redhat.com> References: <20110927220758.GL16658@redhat.com> <4E827335.3090005@redhat.com> <20110928185719.GD2717@redhat.com> Message-ID: <4E8372E7.9080001@redhat.com> On 09/28/2011 02:57 PM, Deepak Bhole wrote: > * Omair Majid [2011-09-27 21:07]: >> On 09/27/2011 06:07 PM, Deepak Bhole wrote: >>> Hi, >>> >>> Attached patch fixes PR794: >>> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=794 >>> >>> ChangeLog: >>> 2011-09-27 Deepak Bhole >>> >>> PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path >>> element in the manifest. >>> * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java >>> (retrieve): Blank out the Class-Path elements in manifest. >>> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> (activateJars): Only load Class-Path elements if this is an applet. Add a >>> security mapping for jars from the Class-Path. >>> >>> Okay for HEAD and 1.1? >>> >> >> While the overall idea looks fine to me, I have a few concerns noted >> inline below. >> >>> diff -r 0a1733685325 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Sep 23 12:14:39 2011 -0400 >>> +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Sep 27 18:02:12 2011 -0400 >>> @@ -779,7 +778,15 @@ >>> >>> JarFile jarFile = new JarFile(localFile.getAbsolutePath()); >>> Manifest mf = jarFile.getManifest(); >>> - classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); >>> + >>> + if (file instanceof PluginBridge) { >>> + for (String classpath: getClassPathsFromManifest(mf, jar.getLocation().getPath())) { >>> + URL codebaseURL = file.getCodeBase(); >>> + jarLocationSecurityMap.put(new URL(codebaseURL.getProtocol() + "://" + codebaseURL.getHost() + classpath), jarSecurity); >> >> I have a concern about this line here ^ >> >> Is this jar being verified before we grant it permissions? It's not >> obvious from the patch that we are. >> > > Ah, I thought addNewJar was already doing it. > > New patch attached. It adds the right permissions and does verification. > >> Also, a nitpick: we are ignoring any possible port numbers in >> codebaseURL. Other code in this class does something along the lines >> of: >> >> new URL(codebaseURL, classpath) >> > > Fixed. > > New ChangeLog: > 2011-09-27 Deepak Bhole > > PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path > element in the manifest. > * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java > (retrieve): Blank out the Class-Path elements in manifest. > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > (activateJars): Only load Class-Path elements if this is an applet. > (addNewJar): Add the right permissions for the cached jar file and verify > signatures. > Looks good to me! Cheers, Omair From dbhole at icedtea.classpath.org Wed Sep 28 12:35:45 2011 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 28 Sep 2011 19:35:45 +0000 Subject: /hg/release/icedtea-web-1.1: PR794: IcedTea-Web does not work if... Message-ID: changeset a0b951436a6d in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=a0b951436a6d author: Deepak Bhole date: Wed Sep 28 15:28:14 2011 -0400 PR794: IcedTea-Web does not work if a Web Start app jar has a Class- Path element in the manifest. diffstat: ChangeLog | 11 + NEWS | 2 + netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java | 19 ++- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 79 +++++++++++- 4 files changed, 104 insertions(+), 7 deletions(-) diffs (169 lines): diff -r 0a1733685325 -r a0b951436a6d ChangeLog --- a/ChangeLog Fri Sep 23 12:14:39 2011 -0400 +++ b/ChangeLog Wed Sep 28 15:28:14 2011 -0400 @@ -1,3 +1,14 @@ +2011-09-28 Deepak Bhole + + PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path + element in the manifest. + * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java + (retrieve): Blank out the Class-Path elements in manifest. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (activateJars): Only load Class-Path elements if this is an applet. + (addNewJar): Add the right permissions for the cached jar file and verify + signatures. + 2011-09-23 Omair Majid RH738814: Access denied at ssl handshake diff -r 0a1733685325 -r a0b951436a6d NEWS --- a/NEWS Fri Sep 23 12:14:39 2011 -0400 +++ b/NEWS Wed Sep 28 15:28:14 2011 -0400 @@ -11,6 +11,8 @@ New in release 1.1.3 (2011-XX-XX): * Plugin - PR782: Support building against npapi-sdk as well +* Common + - PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest New in release 1.1.2 (2011-08-31): * Plugin diff -r 0a1733685325 -r a0b951436a6d netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java --- a/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Fri Sep 23 12:14:39 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Wed Sep 28 15:28:14 2011 -0400 @@ -94,7 +94,24 @@ if (UrlUtils.isLocalFile(localUrl)) { // if it is known to us, just return the cached file - return new JarFile(localUrl.getPath()); + JarFile returnFile = new JarFile(localUrl.getPath()); + + try { + + // Blank out the class-path because: + // 1) Web Start does not support it + // 2) For the plug-in, we want to cache files from class-path so we do it manually + returnFile.getManifest().getMainAttributes().putValue("Class-Path", ""); + + if (JNLPRuntime.isDebug()) { + System.err.println("Class-Path attribute cleared for " + returnFile.getName()); + } + + } catch (NullPointerException npe) { + // Discard NPE here. Maybe there was no manifest, maybe there were no attributes, etc. + } + + return returnFile; } else { // throw new IllegalStateException("a non-local file in cache"); return null; diff -r 0a1733685325 -r a0b951436a6d netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Sep 23 12:14:39 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Sep 28 15:28:14 2011 -0400 @@ -32,6 +32,7 @@ import java.security.PermissionCollection; import java.security.Permissions; import java.security.PrivilegedAction; +import java.security.PrivilegedExceptionAction; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; @@ -779,7 +780,11 @@ JarFile jarFile = new JarFile(localFile.getAbsolutePath()); Manifest mf = jarFile.getManifest(); - classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); + + if (file instanceof PluginBridge) { + classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); + } + JarIndex index = JarIndex.getJarIndex(jarFile, null); if (index != null) jarIndexes.add(index); @@ -1094,7 +1099,7 @@ * is downloaded. * @param desc the JARDesc for the new jar */ - private void addNewJar(JARDesc desc) { + private void addNewJar(final JARDesc desc) { available.add(desc); @@ -1104,10 +1109,72 @@ JNLPRuntime.getDefaultUpdatePolicy() ); - URL remoteURL = desc.getLocation(); - URL cachedUrl = tracker.getCacheURL(remoteURL); - addURL(remoteURL); - CachedJarFileCallback.getInstance().addMapping(remoteURL, cachedUrl); + // Give read permissions to the cached jar file + AccessController.doPrivileged(new PrivilegedAction() { + public Void run() { + Permission p = CacheUtil.getReadPermission(desc.getLocation(), + desc.getVersion()); + + resourcePermissions.add(p); + + return null; + } + }); + + final URL remoteURL = desc.getLocation(); + final URL cachedUrl = tracker.getCacheURL(remoteURL); // blocks till download + + available.remove(desc); // Resource downloaded. Remove from available list. + + try { + + // Verify if needed + + final JarSigner signer = new JarSigner(); + final List jars = new ArrayList(); + jars.add(desc); + + // Decide what level of security this jar should have + // The verification and security setting functions rely on + // having AllPermissions as those actions normally happen + // during initialization. We therefore need to do those + // actions as privileged. + + AccessController.doPrivileged(new PrivilegedExceptionAction() { + public Void run() throws Exception { + signer.verifyJars(jars, tracker); + + if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { + checkTrustWithUser(signer); + } + + final SecurityDesc security; + if (signer.anyJarsSigned()) { + security = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + file.getCodeBase().getHost()); + } else { + security = new SecurityDesc(file, + SecurityDesc.SANDBOX_PERMISSIONS, + file.getCodeBase().getHost()); + } + + jarLocationSecurityMap.put(remoteURL, security); + + return null; + } + }); + + addURL(remoteURL); + CachedJarFileCallback.getInstance().addMapping(remoteURL, cachedUrl); + + } catch (Exception e) { + // Do nothing. This code is called by loadClass which cannot + // throw additional exceptions. So instead, just ignore it. + // Exception => jar will not get added to classpath, which will + // result in CNFE from loadClass. + e.printStackTrace(); + } } /** From dbhole at icedtea.classpath.org Wed Sep 28 12:35:51 2011 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 28 Sep 2011 19:35:51 +0000 Subject: /hg/icedtea-web: PR794: IcedTea-Web does not work if a Web Start... Message-ID: changeset 477780fe79ae in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=477780fe79ae author: Deepak Bhole date: Wed Sep 28 15:28:14 2011 -0400 PR794: IcedTea-Web does not work if a Web Start app jar has a Class- Path element in the manifest. diffstat: ChangeLog | 11 + NEWS | 1 + netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java | 19 ++- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 79 +++++++++++- 4 files changed, 103 insertions(+), 7 deletions(-) diffs (168 lines): diff -r 6e78f0a85d4b -r 477780fe79ae ChangeLog --- a/ChangeLog Mon Sep 26 11:43:40 2011 -0400 +++ b/ChangeLog Wed Sep 28 15:28:14 2011 -0400 @@ -1,3 +1,14 @@ +2011-09-28 Deepak Bhole + + PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path + element in the manifest. + * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java + (retrieve): Blank out the Class-Path elements in manifest. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (activateJars): Only load Class-Path elements if this is an applet. + (addNewJar): Add the right permissions for the cached jar file and verify + signatures. + 2011-09-26 Lars Herschke * netx/net/sourceforge/jnlp/resources/Messages.properties: Add diff -r 6e78f0a85d4b -r 477780fe79ae NEWS --- a/NEWS Mon Sep 26 11:43:40 2011 -0400 +++ b/NEWS Wed Sep 28 15:28:14 2011 -0400 @@ -25,6 +25,7 @@ - PR742: IcedTea-Web checks certs only upto 1 level deep before declaring them untrusted. - PR769: IcedTea-Web does not work with some ssl sites with OpenJDK7 - PR789: typo in jrunscript.sh + - PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest - RH734081: Javaws cannot use proxy settings from Firefox - RH738814: Access denied at ssl handshake - Support for authenticating using client certificates diff -r 6e78f0a85d4b -r 477780fe79ae netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java --- a/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Mon Sep 26 11:43:40 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Wed Sep 28 15:28:14 2011 -0400 @@ -94,7 +94,24 @@ if (UrlUtils.isLocalFile(localUrl)) { // if it is known to us, just return the cached file - return new JarFile(localUrl.getPath()); + JarFile returnFile = new JarFile(localUrl.getPath()); + + try { + + // Blank out the class-path because: + // 1) Web Start does not support it + // 2) For the plug-in, we want to cache files from class-path so we do it manually + returnFile.getManifest().getMainAttributes().putValue("Class-Path", ""); + + if (JNLPRuntime.isDebug()) { + System.err.println("Class-Path attribute cleared for " + returnFile.getName()); + } + + } catch (NullPointerException npe) { + // Discard NPE here. Maybe there was no manifest, maybe there were no attributes, etc. + } + + return returnFile; } else { // throw new IllegalStateException("a non-local file in cache"); return null; diff -r 6e78f0a85d4b -r 477780fe79ae netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Sep 26 11:43:40 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Sep 28 15:28:14 2011 -0400 @@ -35,6 +35,7 @@ import java.security.PermissionCollection; import java.security.Permissions; import java.security.PrivilegedAction; +import java.security.PrivilegedExceptionAction; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; @@ -1019,7 +1020,11 @@ JarFile jarFile = new JarFile(localFile.getAbsolutePath()); Manifest mf = jarFile.getManifest(); - classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); + + if (file instanceof PluginBridge) { + classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); + } + JarIndex index = JarIndex.getJarIndex(jarFile, null); if (index != null) jarIndexes.add(index); @@ -1334,7 +1339,7 @@ * is downloaded. * @param desc the JARDesc for the new jar */ - private void addNewJar(JARDesc desc) { + private void addNewJar(final JARDesc desc) { available.add(desc); @@ -1344,10 +1349,72 @@ JNLPRuntime.getDefaultUpdatePolicy() ); - URL remoteURL = desc.getLocation(); - URL cachedUrl = tracker.getCacheURL(remoteURL); - addURL(remoteURL); - CachedJarFileCallback.getInstance().addMapping(remoteURL, cachedUrl); + // Give read permissions to the cached jar file + AccessController.doPrivileged(new PrivilegedAction() { + public Void run() { + Permission p = CacheUtil.getReadPermission(desc.getLocation(), + desc.getVersion()); + + resourcePermissions.add(p); + + return null; + } + }); + + final URL remoteURL = desc.getLocation(); + final URL cachedUrl = tracker.getCacheURL(remoteURL); // blocks till download + + available.remove(desc); // Resource downloaded. Remove from available list. + + try { + + // Verify if needed + + final JarSigner signer = new JarSigner(); + final List jars = new ArrayList(); + jars.add(desc); + + // Decide what level of security this jar should have + // The verification and security setting functions rely on + // having AllPermissions as those actions normally happen + // during initialization. We therefore need to do those + // actions as privileged. + + AccessController.doPrivileged(new PrivilegedExceptionAction() { + public Void run() throws Exception { + signer.verifyJars(jars, tracker); + + if (signer.anyJarsSigned() && !signer.getAlreadyTrustPublisher()) { + checkTrustWithUser(signer); + } + + final SecurityDesc security; + if (signer.anyJarsSigned()) { + security = new SecurityDesc(file, + SecurityDesc.ALL_PERMISSIONS, + file.getCodeBase().getHost()); + } else { + security = new SecurityDesc(file, + SecurityDesc.SANDBOX_PERMISSIONS, + file.getCodeBase().getHost()); + } + + jarLocationSecurityMap.put(remoteURL, security); + + return null; + } + }); + + addURL(remoteURL); + CachedJarFileCallback.getInstance().addMapping(remoteURL, cachedUrl); + + } catch (Exception e) { + // Do nothing. This code is called by loadClass which cannot + // throw additional exceptions. So instead, just ignore it. + // Exception => jar will not get added to classpath, which will + // result in CNFE from loadClass. + e.printStackTrace(); + } } /** From dbhole at redhat.com Wed Sep 28 12:53:26 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 28 Sep 2011 15:53:26 -0400 Subject: [icedtea-web] RFC: Patch to fix PR794 (Class-Path element processing) In-Reply-To: <4E8372E7.9080001@redhat.com> References: <20110927220758.GL16658@redhat.com> <4E827335.3090005@redhat.com> <20110928185719.GD2717@redhat.com> <4E8372E7.9080001@redhat.com> Message-ID: <20110928195325.GE2717@redhat.com> * Omair Majid [2011-09-28 15:18]: > On 09/28/2011 02:57 PM, Deepak Bhole wrote: > >* Omair Majid [2011-09-27 21:07]: > > Looks good to me! > Thanks! Committed to 1.1 and HEAD. Attached is a partial patch for application to 1.0. It only blanks the manifest so that Elluminate will work again. The plug-in in 1.0.x never supported classpaths in manifest anyway, so this should have no effect there. ChangeLog: 2011-09-28 Deepak Bhole PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest. * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java (retrieve): Blank out the Class-Path elements in manifest. Okay for 1.0? Deepak -------------- next part -------------- diff -r 09c15e374a75 NEWS --- a/NEWS Fri Aug 05 11:52:15 2011 -0400 +++ b/NEWS Wed Sep 28 15:43:49 2011 -0400 @@ -11,8 +11,9 @@ New in release 1.0.5 (2011-XX-XX): * Plugin - PR749: sun.applet.PluginStreamHandler#handleMessage(String) really slow -Common +* Common - PR768: Signed applets/Web Start apps don't work with OpenJDK7 and up + - PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest New in release 1.0.4 (2011-07-20): * Security updates: diff -r 09c15e374a75 netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java --- a/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Fri Aug 05 11:52:15 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Wed Sep 28 15:43:49 2011 -0400 @@ -94,7 +94,24 @@ if (UrlUtils.isLocalFile(localUrl)) { // if it is known to us, just return the cached file - return new JarFile(localUrl.getPath()); + JarFile returnFile = new JarFile(localUrl.getPath()); + + try { + + // Blank out the class-path because Web Start does not support + // it and the plug-in does not support manifest classpaths in + // icedtea-web 1.0.x + returnFile.getManifest().getMainAttributes().putValue("Class-Path", ""); + + if (JNLPRuntime.isDebug()) { + System.err.println("Class-Path attribute cleared for " + returnFile.getName()); + } + + } catch (NullPointerException npe) { + // Discard NPE here. Maybe there was no manifest, maybe there were no attributes, etc. + } + + return returnFile; } else { // throw new IllegalStateException("a non-local file in cache"); return null; From omajid at redhat.com Wed Sep 28 12:55:43 2011 From: omajid at redhat.com (Omair Majid) Date: Wed, 28 Sep 2011 15:55:43 -0400 Subject: [icedtea-web] RFC: Patch to fix PR794 (Class-Path element processing) In-Reply-To: <20110928195325.GE2717@redhat.com> References: <20110927220758.GL16658@redhat.com> <4E827335.3090005@redhat.com> <20110928185719.GD2717@redhat.com> <4E8372E7.9080001@redhat.com> <20110928195325.GE2717@redhat.com> Message-ID: <4E837BBF.2070001@redhat.com> On 09/28/2011 03:53 PM, Deepak Bhole wrote: > * Omair Majid [2011-09-28 15:18]: >> On 09/28/2011 02:57 PM, Deepak Bhole wrote: >>> * Omair Majid [2011-09-27 21:07]: >> >> Looks good to me! >> > > Thanks! Committed to 1.1 and HEAD. > > Attached is a partial patch for application to 1.0. > > It only blanks the manifest so that Elluminate will work again. The > plug-in in 1.0.x never supported classpaths in manifest anyway, so this > should have no effect there. > > ChangeLog: > 2011-09-28 Deepak Bhole > > PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path > element in the manifest. > * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java > (retrieve): Blank out the Class-Path elements in manifest. > > Okay for 1.0? > There is some funny spacing in the patch, but the changes themselves look fine to me. Cheers, Omair From omajid at redhat.com Wed Sep 28 12:59:49 2011 From: omajid at redhat.com (Omair Majid) Date: Wed, 28 Sep 2011 15:59:49 -0400 Subject: [icedtea-web] RFC: make getMainClass()'s return value consistent for AppletDesc and ApplicationDesc Message-ID: <4E837CB5.3070707@redhat.com> Hi, The attached patch makes the getMainClass() methods of AppletDesc and ApplicationDesc return consistent values: class names in the dot-separated form ("foo.bar.Baz", not "foo/bar/Baz"). This makes JNLPClassLoader.checkForMain() work correctly with applets since it assumes class names are in the right form. All places that are calling AppletDesc.getMainClass() actually expect the same behaviour; they were previously manipulating the result. I would like to commit this patch to HEAD. Any thoughts or comments? ChangeLog: 2011-09-28 Omair Majid * netx/net/sourceforge/jnlp/AppletDesc.java (getMainClass): Clarify the return value in javadoc. * netx/net/sourceforge/jnlp/Launcher.java (createApplet, createAppletObject): Do not replace '/' with '.'. * netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge): Ensure class name is in the dot-separated from. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (checkForMain): Ensure that the name is an exact match. Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-web-consistent-main-class-name.patch Type: text/x-patch Size: 3328 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110928/f80607e9/icedtea-web-consistent-main-class-name.patch From dbhole at icedtea.classpath.org Wed Sep 28 13:06:13 2011 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 28 Sep 2011 20:06:13 +0000 Subject: /hg/release/icedtea-web-1.0: PR794: IcedTea-Web does not work if... Message-ID: changeset c93e44ff65f8 in /hg/release/icedtea-web-1.0 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.0?cmd=changeset;node=c93e44ff65f8 author: Deepak Bhole date: Wed Sep 28 16:06:02 2011 -0400 PR794: IcedTea-Web does not work if a Web Start app jar has a Class- Path element in the manifest. diffstat: ChangeLog | 7 ++++ NEWS | 3 +- netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java | 19 +++++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diffs (57 lines): diff -r 09c15e374a75 -r c93e44ff65f8 ChangeLog --- a/ChangeLog Fri Aug 05 11:52:15 2011 -0400 +++ b/ChangeLog Wed Sep 28 16:06:02 2011 -0400 @@ -1,3 +1,10 @@ +2011-09-28 Deepak Bhole + + PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path + element in the manifest. + * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java + (retrieve): Blank out the Class-Path elements in manifest. + 2011-08-05 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java diff -r 09c15e374a75 -r c93e44ff65f8 NEWS --- a/NEWS Fri Aug 05 11:52:15 2011 -0400 +++ b/NEWS Wed Sep 28 16:06:02 2011 -0400 @@ -11,8 +11,9 @@ New in release 1.0.5 (2011-XX-XX): * Plugin - PR749: sun.applet.PluginStreamHandler#handleMessage(String) really slow -Common +* Common - PR768: Signed applets/Web Start apps don't work with OpenJDK7 and up + - PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest New in release 1.0.4 (2011-07-20): * Security updates: diff -r 09c15e374a75 -r c93e44ff65f8 netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java --- a/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Fri Aug 05 11:52:15 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Wed Sep 28 16:06:02 2011 -0400 @@ -94,7 +94,24 @@ if (UrlUtils.isLocalFile(localUrl)) { // if it is known to us, just return the cached file - return new JarFile(localUrl.getPath()); + JarFile returnFile = new JarFile(localUrl.getPath()); + + try { + + // Blank out the class-path because Web Start does not support + // it and the plug-in does not support manifest classpaths in + // icedtea-web 1.0.x + returnFile.getManifest().getMainAttributes().putValue("Class-Path", ""); + + if (JNLPRuntime.isDebug()) { + System.err.println("Class-Path attribute cleared for " + returnFile.getName()); + } + + } catch (NullPointerException npe) { + // Discard NPE here. Maybe there was no manifest, maybe there were no attributes, etc. + } + + return returnFile; } else { // throw new IllegalStateException("a non-local file in cache"); return null; From dbhole at redhat.com Wed Sep 28 13:06:30 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 28 Sep 2011 16:06:30 -0400 Subject: [icedtea-web] RFC: Patch to fix PR794 (Class-Path element processing) In-Reply-To: <4E837BBF.2070001@redhat.com> References: <20110927220758.GL16658@redhat.com> <4E827335.3090005@redhat.com> <20110928185719.GD2717@redhat.com> <4E8372E7.9080001@redhat.com> <20110928195325.GE2717@redhat.com> <4E837BBF.2070001@redhat.com> Message-ID: <20110928200629.GF2717@redhat.com> * Omair Majid [2011-09-28 15:55]: > On 09/28/2011 03:53 PM, Deepak Bhole wrote: > >* Omair Majid [2011-09-28 15:18]: > >>On 09/28/2011 02:57 PM, Deepak Bhole wrote: > >>>* Omair Majid [2011-09-27 21:07]: > >> > >>Looks good to me! > >> > > > >Thanks! Committed to 1.1 and HEAD. > > > >Attached is a partial patch for application to 1.0. > > > >It only blanks the manifest so that Elluminate will work again. The > >plug-in in 1.0.x never supported classpaths in manifest anyway, so this > >should have no effect there. > > > >ChangeLog: > >2011-09-28 Deepak Bhole > > > > PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path > > element in the manifest. > > * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java > > (retrieve): Blank out the Class-Path elements in manifest. > > > >Okay for 1.0? > > > > There is some funny spacing in the patch, but the changes themselves > look fine to me. > Doh! Sorry, vi had messed things up. Fixed and pushed. Thanks again! Cheers, Deepak > Cheers, > Omair > From bugzilla-daemon at icedtea.classpath.org Wed Sep 28 13:11:19 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Sep 2011 20:11:19 +0000 Subject: [Bug 795] New: Allow icedtea-web's JRE to be configured at runtime Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=795 Summary: Allow icedtea-web's JRE to be configured at runtime Product: IcedTea-Web Version: unspecified Platform: all OS/Version: Linux Status: NEW Severity: enhancement Priority: P5 Component: Plugin AssignedTo: dbhole at redhat.com ReportedBy: drazzib at drazzib.com CC: unassigned at icedtea.classpath.org Hi, Right now, icedtea-web plugin hard code expected JRE during compile time via ICEDTEA_WEB_JRE define : launcher/java_md.c: snprintf(libjava, MAXPATHLEN, ICEDTEA_WEB_JRE "/lib/%s/" JAVA_DLL, arch); launcher/java_md.c: printf(ICEDTEA_WEB_JRE "/lib/%s/" JAVA_DLL "\n", arch); launcher/java_md.c: strncpy(path, ICEDTEA_WEB_JRE, pathsize); plugin/icedteanp/IcedTeaNPPlugin.cc: command_line[cmd_num++] = g_strdup_printf("%s/lib/rt.jar", ICEDTEA_WEB_JRE); plugin/icedteanp/IcedTeaNPPlugin.cc: command_line[cmd_num++] = g_strdup_printf("%s/lib/rt.jar", ICEDTEA_WEB_JRE); plugin/icedteanp/IcedTeaNPPlugin.cc: filename = g_strdup(ICEDTEA_WEB_JRE); It would be great to be able to configure this at runtime (via some property file ?) : for example, it'll allow to build this plugin only once but use it with openjdk-6 or openjdk-7. Cheers, -- Damien Raude-Morvan -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Wed Sep 28 13:29:14 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Sep 2011 20:29:14 +0000 Subject: [Bug 795] Allow icedtea-web's JRE to be configured at runtime In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=795 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ahughes at redhat.com --- Comment #1 from Andrew John Hughes 2011-09-28 20:29:13 --- Couldn't JAVA_HOME be used? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From dbhole at icedtea.classpath.org Wed Sep 28 13:41:05 2011 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 28 Sep 2011 20:41:05 +0000 Subject: /hg/release/icedtea-web-1.1: 3 new changesets Message-ID: changeset 3352c0b0d9bb in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=3352c0b0d9bb author: Deepak Bhole date: Wed Sep 28 16:18:50 2011 -0400 Prepare to release 1.1.3 changeset e71b5729383f in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=e71b5729383f author: Deepak Bhole date: Wed Sep 28 16:27:15 2011 -0400 Added tag icedtea-web-1.1.3 for changeset 3352c0b0d9bb changeset 9ba6b6a5d241 in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=9ba6b6a5d241 author: Deepak Bhole date: Wed Sep 28 16:28:18 2011 -0400 Prepare for 1.1.4 diffstat: .hgtags | 1 + ChangeLog | 10 ++++++++++ NEWS | 4 +++- configure.ac | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) diffs (48 lines): diff -r a0b951436a6d -r 9ba6b6a5d241 .hgtags --- a/.hgtags Wed Sep 28 15:28:14 2011 -0400 +++ b/.hgtags Wed Sep 28 16:28:18 2011 -0400 @@ -2,3 +2,4 @@ ff05275397cad39391677d22a077a013a1203afa icedtea-web-1.1 44535ca475930d6f6a307b852ccb3f3aa97f0887 icedtea-web-1.1.1 4443143761dbd3294bfd0d9096121ca55c035d1b icedtea-web-1.1.2 +3352c0b0d9bb990ec4dd89baadc2ef11bc8eed28 icedtea-web-1.1.3 diff -r a0b951436a6d -r 9ba6b6a5d241 ChangeLog --- a/ChangeLog Wed Sep 28 15:28:14 2011 -0400 +++ b/ChangeLog Wed Sep 28 16:28:18 2011 -0400 @@ -1,3 +1,13 @@ +2011-09-28 Deepak Bhole + + * NEWS: Prepare for 1.1.4 + * configure.ac: Same + +2011-09-28 Deepak Bhole + + * NEWS: Prepare to release 1.1.3 + * configure.ac: Same + 2011-09-28 Deepak Bhole PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path diff -r a0b951436a6d -r 9ba6b6a5d241 NEWS --- a/NEWS Wed Sep 28 15:28:14 2011 -0400 +++ b/NEWS Wed Sep 28 16:28:18 2011 -0400 @@ -8,7 +8,9 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.1.3 (2011-XX-XX): +New in release 1.1.4 (2011-XX-XX): + +New in release 1.1.3 (2011-09-28): * Plugin - PR782: Support building against npapi-sdk as well * Common diff -r a0b951436a6d -r 9ba6b6a5d241 configure.ac --- a/configure.ac Wed Sep 28 15:28:14 2011 -0400 +++ b/configure.ac Wed Sep 28 16:28:18 2011 -0400 @@ -1,4 +1,4 @@ -AC_INIT([icedtea-web],[1.1.3pre],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) +AC_INIT([icedtea-web],[1.1.4pre],[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]) From dbhole at icedtea.classpath.org Wed Sep 28 13:41:20 2011 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 28 Sep 2011 20:41:20 +0000 Subject: /hg/release/icedtea-web-1.0: 3 new changesets Message-ID: changeset ef67e5cb533c in /hg/release/icedtea-web-1.0 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.0?cmd=changeset;node=ef67e5cb533c author: Deepak Bhole date: Wed Sep 28 16:09:03 2011 -0400 Prepare to release 1.0.5 changeset ffa389f67c34 in /hg/release/icedtea-web-1.0 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.0?cmd=changeset;node=ffa389f67c34 author: Deepak Bhole date: Wed Sep 28 16:28:39 2011 -0400 Added tag icedtea-web-1.0.5 for changeset ef67e5cb533c changeset 574e571c53ae in /hg/release/icedtea-web-1.0 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.0?cmd=changeset;node=574e571c53ae author: Deepak Bhole date: Wed Sep 28 16:29:29 2011 -0400 Prepare for 1.0.6 diffstat: .hgtags | 1 + ChangeLog | 10 ++++++++++ NEWS | 4 +++- configure.ac | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) diffs (48 lines): diff -r c93e44ff65f8 -r 574e571c53ae .hgtags --- a/.hgtags Wed Sep 28 16:06:02 2011 -0400 +++ b/.hgtags Wed Sep 28 16:29:29 2011 -0400 @@ -4,3 +4,4 @@ de51c15ae614f5877373d82a8fa492325d4d6db8 icedtea-web-1.0.2 1cff369667f834dba0d9f01722245c3004947647 icedtea-web-1.0.3 99a3760950c668b7da194ac3705e13d4677b3ef7 icedtea-web-1.0.4 +ef67e5cb533c98c1cf9b71e6a8dd86bebe9bc482 icedtea-web-1.0.5 diff -r c93e44ff65f8 -r 574e571c53ae ChangeLog --- a/ChangeLog Wed Sep 28 16:06:02 2011 -0400 +++ b/ChangeLog Wed Sep 28 16:29:29 2011 -0400 @@ -1,3 +1,13 @@ +2011-09-28 Deepak Bhole + + * configure.ac: Prepare for 1.0.6 + * NEWS: Same + +2011-09-28 Deepak Bhole + + * configure.ac: Prepare to release 1.0.5 + * NEWS: Same + 2011-09-28 Deepak Bhole PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path diff -r c93e44ff65f8 -r 574e571c53ae NEWS --- a/NEWS Wed Sep 28 16:06:02 2011 -0400 +++ b/NEWS Wed Sep 28 16:29:29 2011 -0400 @@ -8,7 +8,9 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.0.5 (2011-XX-XX): +New in release 1.0.6 (2011-XX-XX): + +New in release 1.0.5 (2011-09-28): * Plugin - PR749: sun.applet.PluginStreamHandler#handleMessage(String) really slow * Common diff -r c93e44ff65f8 -r 574e571c53ae configure.ac --- a/configure.ac Wed Sep 28 16:06:02 2011 -0400 +++ b/configure.ac Wed Sep 28 16:29:29 2011 -0400 @@ -1,4 +1,4 @@ -AC_INIT([icedtea-web],[1.0.5pre],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) +AC_INIT([icedtea-web],[1.0.6pre],[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]) From dbhole at redhat.com Wed Sep 28 13:41:26 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 28 Sep 2011 16:41:26 -0400 Subject: IcedTea-Web 1.0.5 and 1.1.3 released (fixes for Elluminate and others)! Message-ID: <20110928204125.GG2717@redhat.com> IcedTea-Web 1.0.5 and 1.1.3 have been released and are available for download now: IcedTea-Web 1.0.5 IcedTea-Web 1.1.3 These are maintenance releases and the main motivation for pushing the releases is to make Elluminate work again. Fixes in 1.0.5: Plug-in: PR749: sun.applet.PluginStreamHandler#handleMessage(String) really slow Common: PR768: Signed applets/Web Start apps don?t work with OpenJDK7 and up PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest (e.g. Elluminate) Fixes in 1.1.3: Plug-in: PR782: Support building against npapi-sdk as well Common: PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest (e.g. Elluminate) Build instructions are here: http://icedtea.classpath.org/wiki/IcedTea-Web#Building_IcedTea-Web SHA256 sums: ccfed2fc6fadf6ce42df43558252b0f02a8f5ed99c24e3eb64b4ca0e0d82a6c2 icedtea-web-1.0.5.tar.gz 012390dfa8bb9a4b17b30640dfc21011c848f5017d2a21d945e933f5d514edb3 icedtea-web-1.1.3.tar.gz Thanks to Omair Majid for help with this release! Cheers, Deepak From dbhole at redhat.com Wed Sep 28 13:43:52 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 28 Sep 2011 16:43:52 -0400 Subject: IcedTea-Web 1.0.5 and 1.1.3 released (fixes for Elluminate and others)! In-Reply-To: <20110928204125.GG2717@redhat.com> References: <20110928204125.GG2717@redhat.com> Message-ID: <20110928204351.GH2717@redhat.com> * Deepak Bhole [2011-09-28 16:42]: > IcedTea-Web 1.0.5 and 1.1.3 have been released and are available for download > now: > > IcedTea-Web 1.0.5 > IcedTea-Web 1.1.3 > And this is why copying and pasting the blog entry as it is a bad idea :) Links for the tarballs: http://icedtea.classpath.org/download/source/icedtea-web-1.0.5.tar.gz http://icedtea.classpath.org/download/source/icedtea-web-1.1.3.tar.gz Cheers, Deepak From andrew at icedtea.classpath.org Wed Sep 28 13:44:48 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 28 Sep 2011 20:44:48 +0000 Subject: /hg/icedtea7: PR790: Include JAXP, JAF and JAXWS in the source t... Message-ID: changeset 8d011581534d in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=8d011581534d author: Andrew John Hughes date: Wed Sep 28 21:44:40 2011 +0100 PR790: Include JAXP, JAF and JAXWS in the source tree. 2011-09-27 Andrew John Hughes PR790: Include JAXP, JAF and JAXWS sources directly in OpenJDK tree, removing the need for drop tarballs. * INSTALL: Remove drop zip options. * Makefile.am: (JAXP_CHANGESET): Updated to bring in JAXP sources. (JAXP_SHA256SUM): Likewise. (JAXWS_CHANGESET): Likewise for JAXWS. (JAXWS_SHA256SUM): Likewise. (JAXWS_DROP_URL): Removed. (JAXWS_DROP_ZIP): Likewise. (JAXWS_DROP_SHA256SUM): Likewise. (JAF_DROP_URL): Likewise. (JAF_DROP_ZIP): Likewise. (JAF_DROP_SHA256SUM): Likewise. (JAXP_DROP_URL): Likewise. (JAXP_DROP_ZIP): Likewise. (JAXP_DROP_SHA256SUM): Likewise. (JAXWS): Fix path to point into source tree. (NEED_JAXWS_SRC): Removed; always available now. (OPENJDK_BOOT_TREE): Remove reference to patch-jaxws. (ICEDTEA_BOOT_PATCHES): Move dtdtype patch to here. (ICEDTEA_ENV): Drop ALT_DROPS_DIR. (.PHONY): Drop clean-drops. (download): Drop download-drops. (clean-download): Drop clean-drops. (download-jaxp-drop): Removed. (clean-download-jaxp-drop): Likewise. (download-jaf-drop): Likewise. (clean-download-jaf-drop): Likewise. (download-jaxws-drop): Likewise. (clean- download-jaxws-drop): Likewise. (download-drops): Likewise. (clean-drops): Likewise. (extract): Drop clean-extract- jaxws. (extract-jaxws): Removed. (clean-extract- jaxws): Removed. (clean-clone-boot): No more patch-jaxws stamp. (patch-jaxws): Removed. (clean-patch-jaxws): Removed. * NEWS: Updated. * acinclude.m4: (IT_WITH_JAXP_DROP_ZIP): Likewise. (IT_WITH_JAF_DROP_ZIP): Likewise. (IT_WITH_JAXWS_DROP_ZIP): Likewise. * configure.ac: Don't call drop macros. * patches/boot/jaxws-getdtdtype.patch: Updated to apply to openjdk-boot tree. diffstat: ChangeLog | 50 ++++++++ INSTALL | 3 - Makefile.am | 218 ++--------------------------------- NEWS | 1 + acinclude.m4 | 63 ---------- configure.ac | 3 - patches/boot/jaxws-getdtdtype.patch | 4 +- 7 files changed, 69 insertions(+), 273 deletions(-) diffs (truncated from 536 to 500 lines): diff -r 426efa8c5ec4 -r 8d011581534d ChangeLog --- a/ChangeLog Tue Sep 27 10:43:05 2011 +0200 +++ b/ChangeLog Wed Sep 28 21:44:40 2011 +0100 @@ -1,3 +1,53 @@ +2011-09-27 Andrew John Hughes + + PR790: Include JAXP, JAF and JAXWS sources directly + in OpenJDK tree, removing the need for drop tarballs. + * INSTALL: Remove drop zip options. + * Makefile.am: + (JAXP_CHANGESET): Updated to bring in JAXP sources. + (JAXP_SHA256SUM): Likewise. + (JAXWS_CHANGESET): Likewise for JAXWS. + (JAXWS_SHA256SUM): Likewise. + (JAXWS_DROP_URL): Removed. + (JAXWS_DROP_ZIP): Likewise. + (JAXWS_DROP_SHA256SUM): Likewise. + (JAF_DROP_URL): Likewise. + (JAF_DROP_ZIP): Likewise. + (JAF_DROP_SHA256SUM): Likewise. + (JAXP_DROP_URL): Likewise. + (JAXP_DROP_ZIP): Likewise. + (JAXP_DROP_SHA256SUM): Likewise. + (JAXWS): Fix path to point into source tree. + (NEED_JAXWS_SRC): Removed; always available now. + (OPENJDK_BOOT_TREE): Remove reference to patch-jaxws. + (ICEDTEA_BOOT_PATCHES): Move dtdtype patch to here. + (ICEDTEA_ENV): Drop ALT_DROPS_DIR. + (.PHONY): Drop clean-drops. + (download): Drop download-drops. + (clean-download): Drop clean-drops. + (download-jaxp-drop): Removed. + (clean-download-jaxp-drop): Likewise. + (download-jaf-drop): Likewise. + (clean-download-jaf-drop): Likewise. + (download-jaxws-drop): Likewise. + (clean-download-jaxws-drop): Likewise. + (download-drops): Likewise. + (clean-drops): Likewise. + (extract): Drop clean-extract-jaxws. + (extract-jaxws): Removed. + (clean-extract-jaxws): Removed. + (clean-clone-boot): No more patch-jaxws stamp. + (patch-jaxws): Removed. + (clean-patch-jaxws): Removed. + * NEWS: Updated. + * acinclude.m4: + (IT_WITH_JAXP_DROP_ZIP): Likewise. + (IT_WITH_JAF_DROP_ZIP): Likewise. + (IT_WITH_JAXWS_DROP_ZIP): Likewise. + * configure.ac: Don't call drop macros. + * patches/boot/jaxws-getdtdtype.patch: + Updated to apply to openjdk-boot tree. + 2011-09-27 Mark Wielaard * acinclude.m4: Add devel package suggestions for epoll/xattr diff -r 426efa8c5ec4 -r 8d011581534d INSTALL --- a/INSTALL Tue Sep 27 10:43:05 2011 +0200 +++ b/INSTALL Wed Sep 28 21:44:40 2011 +0100 @@ -145,9 +145,6 @@ * --with-jdk-src-zip: Specify the location of the JDK tarball to avoid downloading. * --with-langtools-src-zip: Specify the location of the langtools tarball to avoid downloading. * --with-alt-jar: Use the specified jar binary in the second stage rather than the one just built. -* --with-jaxp-drop-zip: Specify the location of the JAXP source drop zip file to avoid downloading. -* --with-jaf-drop-zip: Specify the location of the JAF source drop zip file to avoid downloading. -* --with-jaxws-drop-zip: Specify the location of the JAXWS source drop zip file to avoid downloading. * --with-cacao-home: Specify the location of an installed CACAO to use rather than downloading and building one. * --with-cacao-src-zip: Specify the location of a CACAO tarball to avoid downloading. diff -r 426efa8c5ec4 -r 8d011581534d Makefile.am --- a/Makefile.am Tue Sep 27 10:43:05 2011 +0200 +++ b/Makefile.am Wed Sep 28 21:44:40 2011 +0100 @@ -4,16 +4,16 @@ CORBA_CHANGESET = d034cc90ecc2 HOTSPOT_CHANGESET = 7693eb0fce1f -JAXP_CHANGESET = c40983d6ae70 -JAXWS_CHANGESET = 83db5e316798 +JAXP_CHANGESET = b8d01501956a +JAXWS_CHANGESET = e6cd09c7ef22 JDK_CHANGESET = 7ec1845521ed LANGTOOLS_CHANGESET = fb7fb3071b64 OPENJDK_CHANGESET = 3defd24c2671 CORBA_SHA256SUM = 06e7778aa1670f064e2c9fef7bdedc66fc679262ab8ee7aee018329e1ec787a8 HOTSPOT_SHA256SUM = 6b2c9b21918183a383ab380c57f70d4be6199df0e2127bb762a20b6eca39e3a2 -JAXP_SHA256SUM = 6ab0cab1965edb28e4093b55436abd04fbffe0b0251016043c75246c4ee9dc2d -JAXWS_SHA256SUM = 5567c90ce2857016365b2e346783a3b16ec0e76b80586a0371f601b4fed01f21 +JAXP_SHA256SUM = 4e9c1a2f240cee406d56832e2e7be254a87b511ee781463a95da4f000c188181 +JAXWS_SHA256SUM = 3d13408b4a81111fd88fce043ca2c96c4d31da9aa812a8d608b56248ecac4aca JDK_SHA256SUM = 843e7ccd4c2bad5c96aaa983e34f1eb27510229f138115fa0951e05358c50b2b LANGTOOLS_SHA256SUM = 9ddc00ec50fd2f5e331dc2bc10da4e23b69bf644eb92d50b39a2003c18fb5aa1 OPENJDK_SHA256SUM = 4043a75c2c4385dd735f8dbbf2369311ce1b951217c9dbe9bba9609e24eb291e @@ -30,16 +30,6 @@ JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz -JAXWS_DROP_URL = http://icedtea.classpath.org/download/drops -JAXWS_DROP_ZIP = jdk7-jaxws2_2_4-b03-2011_05_27.zip -JAXWS_DROP_SHA256SUM = 05ae7259b75d0f2307276d61ece1887fcd437cb4ecda42fab8c22d4b537effd6 -JAF_DROP_URL = http://icedtea.classpath.org/download/drops -JAF_DROP_ZIP = jdk7-jaf-2010_08_19.zip -JAF_DROP_SHA256SUM = e6aefedfdbb4673e8019583d1344fb162b94e1b10382c362364dbbfd5889c09e -JAXP_DROP_URL = http://icedtea.classpath.org/download/drops -JAXP_DROP_ZIP = jaxp145_01.zip -JAXP_DROP_SHA256SUM = c5924c6188988e2e8397ee5143bd8eaa062569d052567afd2ac9326a54a848cb - ICEDTEA_PREFIX = icedtea7-forest ICEDTEA_HG_URL = http://icedtea.classpath.org/hg/$(ICEDTEA_PREFIX) OPENJDK_HG_URL = http://hg.openjdk.java.net/jdk7/jdk7 @@ -80,7 +70,7 @@ SOLARIS = openjdk-boot/jdk/src/solaris/classes LANGTOOLS = openjdk-boot/langtools/src/share/classes CORBA = openjdk-boot/corba/src/share/classes -JAXWS = $(BUILD_OUTPUT_DIR)/jaxws/drop/jaxws_src/src +JAXWS = openjdk-boot/jaxws/sources/jaxws_src/src PULSE_JAVA_DIR = $(abs_top_srcdir)/pulseaudio PULSE_JAVA_NATIVE_SRCDIR = $(PULSE_JAVA_DIR)/src/native @@ -93,12 +83,10 @@ PULSE_JAVA_CLASS_DIR = $(PULSE_JAVA_BUILDDIR)/classes if DTDTYPE_QNAME -NEED_JAXWS_SRC = true JAXWS_COND = $(JAXWS) endif if LACKS_JAVAX_ANNOTATION_RESOURCE -NEED_JAXWS_SRC = true JAXWS_COND = $(JAXWS) endif @@ -237,7 +225,7 @@ # Target to ensure a patched OpenJDK bootstrap tree containing # Zero & Shark, any other overlays and the bootstrapping patches # is available in $(abs_top_builddir)/openjdk-boot -OPENJDK_BOOT_TREE = stamps/patch-jaxws.stamp +OPENJDK_BOOT_TREE = stamps/patch-boot.stamp # Sources list @@ -372,12 +360,12 @@ ICEDTEA_BOOT_PATCHES += patches/boot/compile-for-7.patch endif +if DTDTYPE_QNAME +ICEDTEA_BOOT_PATCHES += patches/boot/jaxws-getdtdtype.patch +endif + ICEDTEA_BOOT_PATCHES += $(DISTRIBUTION_BOOT_PATCHES) -# Patches for JAXWS - -JAXWS_PATCHES = patches/boot/jaxws-getdtdtype.patch - # OpenJDK build environment. if ZERO_BUILD ICEDTEA_ZERO_BUILD = true @@ -438,7 +426,6 @@ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" \ DISABLE_INTREE_EC="true" \ - ALT_DROPS_DIR="$(abs_top_builddir)/drops" \ ALT_OUTPUTDIR="$(BUILD_OUTPUT_DIR)" \ VERBOSE="$(VERBOSE)" \ STATIC_CXX="false" \ @@ -776,7 +763,7 @@ clean-bootstrap-directory-symlink-stage1 icedtea icedtea-debug \ clean-icedtea icedtea-stage2 clean-icedtea-boot \ clean-rt hotspot hotspot-helper clean-jtreg clean-jtreg-reports \ - clean-drops jtregcheck clean-remove-intree-libraries \ + jtregcheck clean-remove-intree-libraries \ clean-jamvm clean-extract-jamvm clean-add-jamvm clean-add-jamvm-debug \ clean-extract-hotspot clean-sanitise-openjdk @@ -823,101 +810,14 @@ # Download OpenJDK sources. -stamps/download.stamp: stamps/download-drops.stamp stamps/download-openjdk.stamp \ +stamps/download.stamp: stamps/download-openjdk.stamp \ stamps/download-cacao.stamp stamps/download-jamvm.stamp mkdir -p stamps touch $@ -clean-download: clean-drops clean-download-openjdk clean-download-cacao clean-download-jamvm +clean-download: clean-download-openjdk clean-download-cacao clean-download-jamvm rm -f stamps/download.stamp -stamps/download-jaxp-drop.stamp: - mkdir -p drops -if USE_ALT_JAXP_DROP_ZIP - ln -sf $(ALT_JAXP_DROP_ZIP) drops/$(JAXP_DROP_ZIP) -endif - if ! echo "$(JAXP_DROP_SHA256SUM) drops/$(JAXP_DROP_ZIP)" \ - | $(SHA256SUM) --check ; \ - then \ - if [ -f drops/$(JAXP_DROP_ZIP) ] ; \ - then \ - mv drops/$(JAXP_DROP_ZIP) drops/$(JAXP_DROP_ZIP).old ; \ - fi ; \ - $(WGET) $(JAXP_DROP_URL)/$(JAXP_DROP_ZIP) -O drops/$(JAXP_DROP_ZIP); \ - if ! echo "$(JAXP_DROP_SHA256SUM) drops/$(JAXP_DROP_ZIP)" \ - | $(SHA256SUM) --check ; \ - then echo "ERROR: Bad download of jaxp drop zip"; false; \ - fi; \ - fi ; - mkdir -p stamps - touch $@ - -clean-download-jaxp-drop: - rm -f drops/$(JAXP_DROP_ZIP) - rm -f stamps/download-jaxp-drop.stamp - -stamps/download-jaf-drop.stamp: - mkdir -p drops -if USE_ALT_JAF_DROP_ZIP - ln -sf $(ALT_JAF_DROP_ZIP) drops/$(JAF_DROP_ZIP) -endif - if ! echo "$(JAF_DROP_SHA256SUM) drops/$(JAF_DROP_ZIP)" \ - | $(SHA256SUM) --check ; \ - then \ - if [ -f drops/$(JAF_DROP_ZIP) ] ; \ - then \ - mv drops/$(JAF_DROP_ZIP) drops/$(JAF_DROP_ZIP).old ; \ - fi ; \ - $(WGET) $(JAF_DROP_URL)/$(JAF_DROP_ZIP) -O drops/$(JAF_DROP_ZIP); \ - if ! echo "$(JAF_DROP_SHA256SUM) drops/$(JAF_DROP_ZIP)" \ - | $(SHA256SUM) --check ; \ - then echo "ERROR: Bad download of jaf drop zip"; false; \ - fi; \ - fi ; - mkdir -p stamps - touch $@ - -clean-download-jaf-drop: - rm -f drops/$(JAF_DROP_ZIP) - rm -f stamps/download-jaf-drop.stamp - -stamps/download-jaxws-drop.stamp: - mkdir -p drops -if USE_ALT_JAXWS_DROP_ZIP - ln -sf $(ALT_JAXWS_DROP_ZIP) drops/$(JAXWS_DROP_ZIP) -endif - if ! echo "$(JAXWS_DROP_SHA256SUM) drops/$(JAXWS_DROP_ZIP)" \ - | $(SHA256SUM) --check ; \ - then \ - if [ -f drops/$(JAXWS_DROP_ZIP) ] ; \ - then \ - mv drops/$(JAXWS_DROP_ZIP) drops/$(JAXWS_DROP_ZIP).old ; \ - fi ; \ - $(WGET) $(JAXWS_DROP_URL)/$(JAXWS_DROP_ZIP) -O drops/$(JAXWS_DROP_ZIP); \ - if ! echo "$(JAXWS_DROP_SHA256SUM) drops/$(JAXWS_DROP_ZIP)" \ - | $(SHA256SUM) --check ; \ - then echo "ERROR: Bad download of jaxws drop zip"; false; \ - fi; \ - fi ; - mkdir -p stamps - touch $@ - -clean-download-jaxws-drop: - rm -f drops/$(JAXWS_DROP_ZIP) - rm -f stamps/download-jaxws-drop.stamp - -stamps/download-drops.stamp: stamps/download-jaxp-drop.stamp \ - stamps/download-jaxws-drop.stamp stamps/download-jaf-drop.stamp - mkdir -p stamps - touch $@ - -clean-drops: clean-download-jaxp-drop clean-download-jaf-drop \ - clean-download-jaxws-drop - if [ -e drops ] ; then \ - rmdir drops ; \ - fi - rm -f stamps/download-drops.stamp - stamps/download-openjdk.stamp: stamps/hgforest.stamp if !OPENJDK_SRC_DIR_FOUND if USE_CLOSURES @@ -1147,14 +1047,12 @@ rm -f stamps/download-jamvm.stamp stamps/extract.stamp: stamps/extract-openjdk.stamp \ - stamps/extract-cacao.stamp stamps/extract-jaxws.stamp \ - stamps/remove-intree-libraries.stamp stamps/extract-jamvm.stamp \ - stamps/extract-hotspot.stamp stamps/sanitise-openjdk.stamp + stamps/extract-cacao.stamp stamps/remove-intree-libraries.stamp \ + stamps/extract-jamvm.stamp stamps/extract-hotspot.stamp stamps/sanitise-openjdk.stamp mkdir -p stamps touch $@ -clean-extract: clean-extract-openjdk clean-extract-cacao clean-extract-jaxws \ - clean-extract-jamvm +clean-extract: clean-extract-openjdk clean-extract-cacao clean-extract-jamvm rm -f stamps/extract.stamp stamps/extract-openjdk.stamp: stamps/download-openjdk.stamp @@ -1326,27 +1224,6 @@ clean-extract-jamvm: clean-jamvm rm -f stamps/extract-jamvm.stamp -stamps/extract-jaxws.stamp: stamps/download-jaxws-drop.stamp \ - stamps/download-jaf-drop.stamp stamps/sanitise-openjdk.stamp - set -e ; \ - if test "x$(NEED_JAXWS_SRC)" = "xtrue"; then \ - (cd openjdk/jaxws ; \ - $(ANT) -Ddrops.dir=$(abs_top_builddir)/drops \ - -Doutput.dir=$(BUILD_OUTPUT_DIR)/jaxws \ - source ; ) \ - fi - mkdir -p stamps - touch $@ - -clean-extract-jaxws: - if [ -d $(BUILD_OUTPUT_DIR)/jaxws ] ; then \ - (cd openjdk/jaxws ; \ - $(ANT) -Doutput.dir=$(BUILD_OUTPUT_DIR)/jaxws clobber ; \ - cd ../../); \ - fi - mkdir -p stamps - rm -f stamps/extract-jaxws.stamp - stamps/remove-intree-libraries.stamp: stamps/sanitise-openjdk.stamp sh $(abs_top_builddir)/remove-intree-libraries.sh touch stamps/remove-intree-libraries.stamp @@ -1563,7 +1440,6 @@ clean-clone-boot: rm -rf openjdk-boot rm -f stamps/patch-boot.stamp - rm -f stamps/patch-jaxws.stamp rm -f stamps/clone-boot.stamp stamps/patch-boot.stamp: stamps/clone-boot.stamp @@ -1617,64 +1493,6 @@ rm -f stamps/patch-boot.stamp ; \ fi -stamps/patch-jaxws.stamp: stamps/patch-boot.stamp - mkdir -p stamps - rm -f stamps/patch-jaxws.stamp.tmp - touch stamps/patch-jaxws.stamp.tmp -if DTDTYPE_QNAME - set -e ; \ - (cd $(BOOT_BUILD_OUTPUT_DIR)/jaxws; \ - all_patches_ok=yes; \ - for p in $(JAXWS_PATCHES) ; \ - do \ - if test x$${all_patches_ok} = "xyes" \ - && echo Checking $$p \ - && $(PATCH) -l -p0 --dry-run -s -t -f \ - -F 0 < $(abs_top_srcdir)/$$p ; \ - then \ - echo Applying $$p ; \ - $(PATCH) -l -p0 < $(abs_top_srcdir)/$$p ; \ - if ! grep "^\* $$(basename $$p)" $(abs_top_srcdir)/HACKING \ - >> $(abs_top_builddir)/stamps/patch-jaxws.stamp.tmp ; \ - then \ - echo "* $$(basename $$p): UNDOCUMENTED" \ - >> $(abs_top_builddir)/stamps/patch-jaxws.stamp.tmp ; \ - fi ; \ - else \ - test x$${all_patches_ok} = "xyes" && all_patches_ok=$$p ; \ - fi ; \ - done ; \ - if ! test x$${all_patches_ok} = "xyes"; then \ - echo ERROR patch $${all_patches_ok} FAILED! ; \ - echo WARNING make clean-patch-jaxws before retrying a fix ; \ - exit 2; \ - fi ) -endif - mv stamps/patch-jaxws.stamp.tmp stamps/patch-jaxws.stamp - -clean-patch-jaxws: -if DTDTYPE_QNAME - if [ -e stamps/patch-jaxws.stamp ] ; then \ - all_patches_ok=yes; \ - cd $(BOOT_BUILD_OUTPUT_DIR)/jaxws; \ - for p in $(JAXWS_PATCHES) ; \ - do \ - echo Checking $$p ; \ - if $(PATCH) -l -p0 -R --dry-run -s -t -f < $(abs_top_srcdir)/$$p ; \ - then \ - echo Reverting $$p ; \ - $(PATCH) -l -p0 -R < $(abs_top_srcdir)/$$p ; \ - else \ - all_patches_ok=no ; \ - fi ; \ - done ; \ - if ! test x$${all_patches_ok} = "xyes" ; then \ - echo "WARNING Not all patches reverted cleanly" ; \ - fi ; \ - fi -endif - rm -f stamps/patch-jaxws.stamp - # Bootstrap Directory Targets # =========================== @@ -2518,8 +2336,6 @@ download-cacao: stamps/download-cacao.stamp -download-drops: stamps/download-drops.stamp - download-jamvm: stamps/download-jamvm.stamp download-jaf-drop: stamps/download-jaf-drop.stamp @@ -2566,8 +2382,6 @@ patch-fsg: stamps/patch-fsg.stamp -patch-jaxws: stamps/patch-jaxws.stamp - pulse-java: $(PULSE_JAVA_TARGET) rewriter: stamps/rewriter.stamp diff -r 426efa8c5ec4 -r 8d011581534d NEWS --- a/NEWS Tue Sep 27 10:43:05 2011 +0200 +++ b/NEWS Wed Sep 28 21:44:40 2011 +0100 @@ -19,6 +19,7 @@ - PR586: Add missing sources to src.zip. - PR717: All non-bootstrap non-conditional patches in IcedTea7 should be in the forest or dropped. - PR767: Annotation Processing Filer.getResource() always throws FileNotFoundException + - PR790: Re-include JAXP and JAXWS in the source tree - G356743: Support building against libpng 1.5. - S7070134: Hotspot crashes with sigsegv from PorterStemmer - S7044738: Loop unroll optimization causes incorrect result diff -r 426efa8c5ec4 -r 8d011581534d acinclude.m4 --- a/acinclude.m4 Tue Sep 27 10:43:05 2011 +0200 +++ b/acinclude.m4 Wed Sep 28 21:44:40 2011 +0100 @@ -1076,69 +1076,6 @@ AC_SUBST(ALT_LANGTOOLS_SRC_ZIP) ]) -AC_DEFUN([IT_WITH_JAXP_DROP_ZIP], -[ - AC_MSG_CHECKING([for a JAXP drop zip]) - AC_ARG_WITH([jaxp-drop-zip], - [AS_HELP_STRING(--with-jaxp-drop-zip=PATH,specify the location of the JAXP drop zip)], - [ - ALT_JAXP_DROP_ZIP=${withval} - if test "x${ALT_JAXP_DROP_ZIP}" = "xno"; then - ALT_JAXP_DROP_ZIP="not specified" - elif ! test -f ${ALT_JAXP_DROP_ZIP} ; then - AC_MSG_ERROR([Invalid JAXP drop zip specified: ${ALT_JAXP_DROP_ZIP}]) - fi - ], - [ - ALT_JAXP_DROP_ZIP="not specified" - ]) - AM_CONDITIONAL(USE_ALT_JAXP_DROP_ZIP, test "x${ALT_JAXP_DROP_ZIP}" != "xnot specified") - AC_MSG_RESULT(${ALT_JAXP_DROP_ZIP}) - AC_SUBST(ALT_JAXP_DROP_ZIP) -]) - -AC_DEFUN([IT_WITH_JAF_DROP_ZIP], -[ - AC_MSG_CHECKING([for a JAF drop zip]) - AC_ARG_WITH([jaf-drop-zip], - [AS_HELP_STRING(--with-jaf-drop-zip=PATH,specify the location of the JAF drop zip)], - [ - ALT_JAF_DROP_ZIP=${withval} - if test "x${ALT_JAF_DROP_ZIP}" = "xno"; then - ALT_JAF_DROP_ZIP="not specified" - elif ! test -f ${ALT_JAF_DROP_ZIP} ; then - AC_MSG_ERROR([Invalid JAF drop zip specified: ${ALT_JAF_DROP_ZIP}]) - fi - ], - [ - ALT_JAF_DROP_ZIP="not specified" - ]) - AM_CONDITIONAL(USE_ALT_JAF_DROP_ZIP, test "x${ALT_JAF_DROP_ZIP}" != "xnot specified") - AC_MSG_RESULT(${ALT_JAF_DROP_ZIP}) - AC_SUBST(ALT_JAF_DROP_ZIP) -]) - -AC_DEFUN([IT_WITH_JAXWS_DROP_ZIP], -[ - AC_MSG_CHECKING([for a JAXWS drop zip]) - AC_ARG_WITH([jaxws-drop-zip], - [AS_HELP_STRING(--with-jaxws-drop-zip=PATH,specify the location of the JAXWS drop zip)], - [ - ALT_JAXWS_DROP_ZIP=${withval} - if test "x${ALT_JAXWS_DROP_ZIP}" = "xno"; then - ALT_JAXWS_DROP_ZIP="not specified" - elif ! test -f ${ALT_JAXWS_DROP_ZIP} ; then - AC_MSG_ERROR([Invalid JAXWS drop zip specified: ${ALT_JAXWS_DROP_ZIP}]) - fi - ], - [ - ALT_JAXWS_DROP_ZIP="not specified" - ]) - AM_CONDITIONAL(USE_ALT_JAXWS_DROP_ZIP, test "x${ALT_JAXWS_DROP_ZIP}" != "xnot specified") - AC_MSG_RESULT(${ALT_JAXWS_DROP_ZIP}) - AC_SUBST(ALT_JAXWS_DROP_ZIP) -]) - AC_DEFUN([IT_WITH_HG_REVISION], [ From bugzilla-daemon at icedtea.classpath.org Wed Sep 28 13:45:16 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Sep 2011 20:45:16 +0000 Subject: [Bug 790] Re-include JAXP and JAXWS in the source tree In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=790 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Andrew John Hughes 2011-09-28 20:45:16 --- http://icedtea.classpath.org/hg/icedtea7/rev/8d011581534d -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Wed Sep 28 13:45:17 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Sep 2011 20:45:17 +0000 Subject: [Bug 712] [TRACKER] IcedTea7 2.0 release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=712 Bug 712 depends on bug 790, which changed state. Bug 790 Summary: Re-include JAXP and JAXWS in the source tree http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=790 What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From ddadacha at redhat.com Wed Sep 28 14:03:23 2011 From: ddadacha at redhat.com (Danesh Dadachanji) Date: Wed, 28 Sep 2011 17:03:23 -0400 Subject: [icedtea-web] RFC: make getMainClass()'s return value consistent for AppletDesc and ApplicationDesc In-Reply-To: <4E837CB5.3070707@redhat.com> References: <4E837CB5.3070707@redhat.com> Message-ID: <4E838B9B.2050204@redhat.com> On 28/09/11 03:59 PM, Omair Majid wrote: > Hi, > > The attached patch makes the getMainClass() methods of AppletDesc and > ApplicationDesc return consistent values: class names in the > dot-separated form ("foo.bar.Baz", not "foo/bar/Baz"). > > This makes JNLPClassLoader.checkForMain() work correctly with applets > since it assumes class names are in the right form. > > All places that are calling AppletDesc.getMainClass() actually expect > the same behaviour; they were previously manipulating the result. > > I would like to commit this patch to HEAD. Any thoughts or comments? > > ChangeLog: > 2011-09-28 Omair Majid > > * netx/net/sourceforge/jnlp/AppletDesc.java (getMainClass): Clarify > the return value in javadoc. > * netx/net/sourceforge/jnlp/Launcher.java > (createApplet, createAppletObject): Do not replace '/' with '.'. > * netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge): > Ensure class name is in the dot-separated from. > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > (checkForMain): Ensure that the name is an exact match. > > Cheers, > Omair Hi, Looks good for HEAD! Regards, Danesh From andrew at icedtea.classpath.org Wed Sep 28 15:08:02 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 28 Sep 2011 22:08:02 +0000 Subject: /hg/icedtea7: 3 new changesets Message-ID: changeset 04bf32baa40f in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=04bf32baa40f author: Andrew John Hughes date: Wed Sep 28 21:55:51 2011 +0100 Update list of JDKs to check. Only check for IcedTea6 VMs when not bootstrapping until PR716 is fixed. 2011-09-27 Andrew John Hughes * acinclude.m4: (AC_CHECK_FOR_JDK): Look for IcedTea7 JDKs. Don't check for IcedTea6 JDKs when bootstrapping until PR716 is fixed. changeset e4c9d9bd4a99 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=e4c9d9bd4a99 author: Andrew John Hughes date: Wed Sep 28 23:07:27 2011 +0100 Remove patch directories that no longer exist, in order to fix make distcheck. 2011-09-27 Andrew John Hughes * Makefile.am: (EXTRA_DIST): Remove patch directories that no longer exist. changeset 05ed8db6b216 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=05ed8db6b216 author: Andrew John Hughes date: Wed Sep 28 23:07:52 2011 +0100 Added tag icedtea-2.0-branchpoint for changeset e4c9d9bd4a99 diffstat: .hgtags | 1 + ChangeLog | 13 +++++++++++++ Makefile.am | 2 -- acinclude.m4 | 8 +++++--- 4 files changed, 19 insertions(+), 5 deletions(-) diffs (60 lines): diff -r 8d011581534d -r 05ed8db6b216 .hgtags --- a/.hgtags Wed Sep 28 21:44:40 2011 +0100 +++ b/.hgtags Wed Sep 28 23:07:52 2011 +0100 @@ -30,3 +30,4 @@ d96a0228b79286eea28af85707fd8ccc42cbed84 icedtea-1.12 13b9a6c006730355f1441c69649775e7cebd8aa0 icedtea-1.13 1b47f8cc8c754841c63dfcddc41a11f1b012bddd icedtea-1.14 +e4c9d9bd4a99ee2993e6737a84ccb9792fa7c4d1 icedtea-2.0-branchpoint diff -r 8d011581534d -r 05ed8db6b216 ChangeLog --- a/ChangeLog Wed Sep 28 21:44:40 2011 +0100 +++ b/ChangeLog Wed Sep 28 23:07:52 2011 +0100 @@ -1,3 +1,16 @@ +2011-09-27 Andrew John Hughes + + * Makefile.am: + (EXTRA_DIST): Remove patch directories that + no longer exist. + +2011-09-27 Andrew John Hughes + + * acinclude.m4: + (AC_CHECK_FOR_JDK): Look for IcedTea7 JDKs. + Don't check for IcedTea6 JDKs when bootstrapping + until PR716 is fixed. + 2011-09-27 Andrew John Hughes PR790: Include JAXP, JAF and JAXWS sources directly diff -r 8d011581534d -r 05ed8db6b216 Makefile.am --- a/Makefile.am Wed Sep 28 21:44:40 2011 +0100 +++ b/Makefile.am Wed Sep 28 23:07:52 2011 +0100 @@ -706,9 +706,7 @@ EXTRA_DIST = $(GENERATED_FILES) $(top_srcdir)/patches/*.patch \ $(top_srcdir)/patches/boot/*.patch \ $(top_srcdir)/patches/cacao/*.patch \ - $(top_srcdir)/patches/debian/*.patch \ $(top_srcdir)/patches/jamvm/*.patch \ - $(top_srcdir)/patches/security/*.patch \ tools-copy contrib overlays \ javaws.png javaws.desktop \ jconsole.desktop policytool.desktop \ diff -r 8d011581534d -r 05ed8db6b216 acinclude.m4 --- a/acinclude.m4 Wed Sep 28 21:44:40 2011 +0100 +++ b/acinclude.m4 Wed Sep 28 23:07:52 2011 +0100 @@ -1138,10 +1138,12 @@ if test -z "${SYSTEM_JDK_DIR}"; then if test "x${enable_bootstrap}" = "xyes"; then BOOTSTRAP_VMS="/usr/lib/jvm/java-gcj /usr/lib/jvm/gcj-jdk /usr/lib/jvm/cacao"; + else + ICEDTEA6_VMS="/usr/lib/jvm/icedtea6 /usr/lib/jvm/java-6-openjdk" fi - for dir in ${BOOTSTRAP_VMS} /usr/lib/jvm/java-openjdk \ - /usr/lib/jvm/icedtea6 /usr/lib/jvm/java-6-openjdk \ - /usr/lib/jvm/openjdk /usr/lib/jvm/java-icedtea ; do + ICEDTEA7_VMS="/usr/lib/jvm/icedtea7 /usr/lib/jvm/java-1.7.0-openjdk" + for dir in ${BOOTSTRAP_VMS} ${ICEDTEA7_VMS} ${ICEDTEA6_VMS} \ + /usr/lib/jvm/java-openjdk /usr/lib/jvm/openjdk /usr/lib/jvm/java-icedtea ; do if test -d $dir; then SYSTEM_JDK_DIR=$dir break From omajid at icedtea.classpath.org Wed Sep 28 15:19:52 2011 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 28 Sep 2011 22:19:52 +0000 Subject: /hg/icedtea-web: Make getMainClass()'s return value consistent f... Message-ID: changeset fb883fdc9331 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=fb883fdc9331 author: Omair Majid date: Wed Sep 28 18:17:13 2011 -0400 Make getMainClass()'s return value consistent for AppletDesc and ApplicationDesc 2011-09-28 Omair Majid * netx/net/sourceforge/jnlp/AppletDesc.java (getMainClass): Clarify the return value in javadoc. * netx/net/sourceforge/jnlp/Launcher.java (createApplet, createAppletObject): Do not replace '/' with '.'. * netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge): Ensure that the class name is in the dot-separated from. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (checkForMain): Ensure that the name is an exact match. diffstat: ChangeLog | 11 +++++++++++ netx/net/sourceforge/jnlp/AppletDesc.java | 2 +- netx/net/sourceforge/jnlp/Launcher.java | 8 -------- netx/net/sourceforge/jnlp/PluginBridge.java | 4 +++- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 5 ++--- 5 files changed, 17 insertions(+), 13 deletions(-) diffs (91 lines): diff -r 477780fe79ae -r fb883fdc9331 ChangeLog --- a/ChangeLog Wed Sep 28 15:28:14 2011 -0400 +++ b/ChangeLog Wed Sep 28 18:17:13 2011 -0400 @@ -1,3 +1,14 @@ +2011-09-28 Omair Majid + + * netx/net/sourceforge/jnlp/AppletDesc.java (getMainClass): Clarify the + return value in javadoc. + * netx/net/sourceforge/jnlp/Launcher.java + (createApplet, createAppletObject): Do not replace '/' with '.'. + * netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge): Ensure that + the class name is in the dot-separated from. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (checkForMain): Ensure that the name is an exact match. + 2011-09-28 Deepak Bhole PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path diff -r 477780fe79ae -r fb883fdc9331 netx/net/sourceforge/jnlp/AppletDesc.java --- a/netx/net/sourceforge/jnlp/AppletDesc.java Wed Sep 28 15:28:14 2011 -0400 +++ b/netx/net/sourceforge/jnlp/AppletDesc.java Wed Sep 28 18:17:13 2011 -0400 @@ -73,7 +73,7 @@ } /** - * Returns the main class name + * Returns the main class name in the dot-separated form (eg: foo.bar.Baz) */ public String getMainClass() { return mainClass; diff -r 477780fe79ae -r fb883fdc9331 netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Wed Sep 28 15:28:14 2011 -0400 +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Sep 28 18:17:13 2011 -0400 @@ -704,10 +704,6 @@ ThreadGroup group = Thread.currentThread().getThreadGroup(); String appletName = file.getApplet().getMainClass(); - - //Classloader chokes if there's '/' in the path to the main class. - //Must replace with '.' instead. - appletName = appletName.replace('/', '.'); Class appletClass = loader.loadClass(appletName); Applet applet = (Applet) appletClass.newInstance(); @@ -744,10 +740,6 @@ } String appletName = file.getApplet().getMainClass(); - - //Classloader chokes if there's '/' in the path to the main class. - //Must replace with '.' instead. - appletName = appletName.replace('/', '.'); Class appletClass = loader.loadClass(appletName); Applet applet = (Applet) appletClass.newInstance(); diff -r 477780fe79ae -r fb883fdc9331 netx/net/sourceforge/jnlp/PluginBridge.java --- a/netx/net/sourceforge/jnlp/PluginBridge.java Wed Sep 28 15:28:14 2011 -0400 +++ b/netx/net/sourceforge/jnlp/PluginBridge.java Wed Sep 28 18:17:13 2011 -0400 @@ -133,7 +133,9 @@ if (main.endsWith(".class")) main = main.substring(0, main.length() - 6); - launchType = new AppletDesc(name, main, documentBase, width, + // the class name should be of the form foo.bar.Baz not foo/bar/Baz + String mainClass = main.replace('/', '.'); + launchType = new AppletDesc(name, mainClass, documentBase, width, height, atts); if (main.endsWith(".class")) //single class file only diff -r 477780fe79ae -r fb883fdc9331 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Sep 28 15:28:14 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Sep 28 18:17:13 2011 -0400 @@ -580,6 +580,7 @@ mainClass = ad.getMainClass(); } else return; + String desiredJarEntryName = mainClass + ".class"; for (int i = 0; i < jars.size(); i++) { @@ -599,9 +600,7 @@ while (entries.hasMoreElements()) { je = entries.nextElement(); String jeName = je.getName().replaceAll("/", "."); - - if (!jeName.startsWith(mainClass + "$Inner") - && (jeName.startsWith(mainClass) && jeName.endsWith(".class"))) { + if (jeName.equals(desiredJarEntryName)) { foundMainJar = true; verifySignedJNLP(jars.get(i), jarFile); break; From omajid at redhat.com Wed Sep 28 15:20:17 2011 From: omajid at redhat.com (Omair Majid) Date: Wed, 28 Sep 2011 18:20:17 -0400 Subject: [icedtea-web] RFC: make getMainClass()'s return value consistent for AppletDesc and ApplicationDesc In-Reply-To: <4E838B9B.2050204@redhat.com> References: <4E837CB5.3070707@redhat.com> <4E838B9B.2050204@redhat.com> Message-ID: <4E839DA1.5010804@redhat.com> On 09/28/2011 05:03 PM, Danesh Dadachanji wrote: > On 28/09/11 03:59 PM, Omair Majid wrote: >> Hi, >> >> The attached patch makes the getMainClass() methods of AppletDesc and >> ApplicationDesc return consistent values: class names in the >> dot-separated form ("foo.bar.Baz", not "foo/bar/Baz"). >> >> This makes JNLPClassLoader.checkForMain() work correctly with applets >> since it assumes class names are in the right form. >> >> All places that are calling AppletDesc.getMainClass() actually expect >> the same behaviour; they were previously manipulating the result. >> >> I would like to commit this patch to HEAD. Any thoughts or comments? >> >> ChangeLog: >> 2011-09-28 Omair Majid >> >> * netx/net/sourceforge/jnlp/AppletDesc.java (getMainClass): Clarify >> the return value in javadoc. >> * netx/net/sourceforge/jnlp/Launcher.java >> (createApplet, createAppletObject): Do not replace '/' with '.'. >> * netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge): >> Ensure class name is in the dot-separated from. >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> (checkForMain): Ensure that the name is an exact match. >> >> Cheers, >> Omair > > Hi, > > Looks good for HEAD! > Thanks for the review! I have pushed the changeset. Cheers, Omair From ahughes at redhat.com Wed Sep 28 15:58:17 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 28 Sep 2011 23:58:17 +0100 Subject: IcedTea7 2.0 Branched for Release Message-ID: <20110928225817.GE10619@rivendell.middle-earth.co.uk> IcedTea7 2.0 has now branched for release. I plan to do the release on Monday evening here in the UK, pending major issues. A number of features new since 1.14: * PR717: All non-bootstrap non-conditional patches in IcedTea7 should be in the forest or dropped. The only patches now in IcedTea7 are either conditional or necessary to bootstrap. The other patches have been either moved to the forest or removed because they were no longer required. * Convert to optional system library usage via USE_SYSTEM_ZLIB/JPEG/PNG/GIF. The old libraries.patch is now upstream in the form of USE_SYSTEM_ZLIB/JPEG/PNG/GIF. It also has also been joined by some friends: USE_SYSTEM_GTK/CUPS/FONTCONFIG/GIO which relate to libraries formally used by dlopen/dlsym calls, but which can now optionally be linked at runtime to reduce the risk of issues. More on this in an upcoming blog. * PR790: Re-include JAXP and JAXWS in the source tree Previously, the JAXP and JAXWS repository tarballs were fairly useless as all they contained was build machinery, with the actual code being in another tarball. Not only did this increase the amount of build machinery and downloading required, it also made it harder to patch the sources. The sources have now been restored to the OpenJDK tree (a facility provided by the upstream build code) and the drop machinery in IcedTea7 removed. * Allow the compiler used to be overridden by setting BUILD_GCC/BUILD_CPP. This is a more general version of the gcc-suffix patch. BUILD_GCC and BUILD_CPP can be set to any arbitrary C/C++ compiler and IcedTea7 defaults to using $(CC) and $(CXX). System dependency updates: * IcedTea7 now works with Linux 3.0+ and libpng 1.5+ Please test prior to release. The release branch is currently: http://icedtea.classpath.org/people/andrew/icedtea7-2.0 with a corresponding forest: http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/ http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/corba http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/jaxp http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/jaxws http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/hotspot http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/jdk http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/langtools mjw, please move these to the top-level. Happy hacking, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From ahughes at redhat.com Wed Sep 28 16:12:30 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Sep 2011 00:12:30 +0100 Subject: [icedtea-web] RFC: PR618 - Can't install OpenDJ, JavaWebStart fails with Input stream is null error. In-Reply-To: <4E81D21A.1020103@redhat.com> References: <4E776361.3080304@redhat.com> <20110927003844.GE29033@rivendell.middle-earth.co.uk> <4E81D21A.1020103@redhat.com> Message-ID: <20110928231230.GH10619@rivendell.middle-earth.co.uk> On 09:39 Tue 27 Sep , Omair Majid wrote: > On 09/26/2011 08:38 PM, Dr Andrew John Hughes wrote: > > On 11:44 Mon 19 Sep , Omair Majid wrote: > >> Hi, > >> > >> The attached patch fixes PR618. There is an old thread [1] that traces > >> the evolution of this patch. > >> > >> The patch tires to make sure that resources marked as 'lazy' are > >> searched too if a resource is not found. > >> > >> ChangeLog > >> 2011-09-19 Omair Majid > >> > >> PR618 > >> * NEWS: Update. > >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > >> (getResource): Rename to ... > >> (findResource): New method. > >> (findResources): If resource can not be found, search in lazy > >> resources. > >> (findResourcesBySearching): New method. > >> > >> Any thoughts or comments? > >> > > > > Sorry, I thought I replied to this. > > > > No worries! > > > My only comment was as to the addition of @Override; I don't think this > > is necessary and it can cause issues with older compilers (there's an > > issue with this, IcedTea6 1.8 and the last security patch for instance). > > > > Unless I am mistaken, this particular @Override should be fine. Some > older (1.5) compilers assume that @Override can not be used on methods > that are implementing a method declared in an interface. But all 1.5+ > compilers should work if a method marked as @Override is overriding a > method in a superclass (which is what findResource and findResources are > doing). > > The bug you mentioned above was caused because I accidentally added > @Override to a method implementing a method (retrieve) declared in an > interface (URLJarFileCallBack). > > An advantage of @Override is that it serves as a sanity check and causes > an error if the superclass changes and the method in the superclass is > renamed or never called. > No, no problem with it then. Please commit. > I would be more than happy to change the patch if you insist, though. > > > Otherwise, it's good to go. > > > > Thanks, > Omair -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From ahughes at redhat.com Wed Sep 28 17:19:51 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Sep 2011 01:19:51 +0100 Subject: IcedTea7 2.0 Branched for Release In-Reply-To: <20110928225817.GE10619@rivendell.middle-earth.co.uk> References: <20110928225817.GE10619@rivendell.middle-earth.co.uk> Message-ID: <20110929001951.GK10619@rivendell.middle-earth.co.uk> On 23:58 Wed 28 Sep , Dr Andrew John Hughes wrote: > IcedTea7 2.0 has now branched for release. I plan to do the release > on Monday evening here in the UK, pending major issues. > > A number of features new since 1.14: > > * PR717: All non-bootstrap non-conditional patches in IcedTea7 should be in the forest or dropped. > The only patches now in IcedTea7 are either conditional or necessary to bootstrap. > The other patches have been either moved to the forest or removed because they were > no longer required. > * Convert to optional system library usage via USE_SYSTEM_ZLIB/JPEG/PNG/GIF. > The old libraries.patch is now upstream in the form of USE_SYSTEM_ZLIB/JPEG/PNG/GIF. > It also has also been joined by some friends: USE_SYSTEM_GTK/CUPS/FONTCONFIG/GIO which > relate to libraries formally used by dlopen/dlsym calls, but which can now optionally > be linked at runtime to reduce the risk of issues. More on this in an upcoming blog. > * PR790: Re-include JAXP and JAXWS in the source tree > Previously, the JAXP and JAXWS repository tarballs were fairly useless as all they contained > was build machinery, with the actual code being in another tarball. Not only did this > increase the amount of build machinery and downloading required, it also made it harder > to patch the sources. The sources have now been restored to the OpenJDK tree (a facility > provided by the upstream build code) and the drop machinery in IcedTea7 removed. > * Allow the compiler used to be overridden by setting BUILD_GCC/BUILD_CPP. > This is a more general version of the gcc-suffix patch. BUILD_GCC and BUILD_CPP can > be set to any arbitrary C/C++ compiler and IcedTea7 defaults to using $(CC) and $(CXX). > > System dependency updates: > > * IcedTea7 now works with Linux 3.0+ and libpng 1.5+ > > Please test prior to release. The release branch is currently: > > http://icedtea.classpath.org/people/andrew/icedtea7-2.0 > > with a corresponding forest: > > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/ > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/corba > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/jaxp > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/jaxws > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/hotspot > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/jdk > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/langtools > > mjw, please move these to the top-level. > > Happy hacking, > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and IcedTea > http://www.gnu.org/software/classpath > http://icedtea.classpath.org > PGP Key: F5862A37 (https://keys.indymedia.org/) > Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 A pre-release tarball is now available, made against the branchpoint after a make distcheck: http://icedtea.classpath.org/download/source/icedtea-2.0pre.tar.gz aacbacbafd5baaea3653d6f5ecd6f56ebb679ecf186e6f061c3674209df81490 icedtea-2.0pre.tar.gz It's signed with my new public key: http://icedtea.classpath.org/download/source/icedtea-2.0pre.tar.gz.sig pub 4096R/248BDC07 2011-09-28 [expires: 2012-09-27] uid Dr Andrew John Hughes uid Dr Andrew John Hughes sub 4096R/954E386D 2011-09-28 [expires: 2012-09-27] -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From bugzilla-daemon at icedtea.classpath.org Thu Sep 29 01:50:49 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Sep 2011 08:50:49 +0000 Subject: [Bug 781] Can't build icedtea7-hg with icedtea6: "Error occurred during initialization of VM" In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=781 --- Comment #2 from Bernhard Rosenkr?nzer 2011-09-29 08:50:48 --- Created an attachment (id=582) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=582) config.log Not doing anything in particular... If I patch the Makefile to not run test_gamma, it proceeds and produces a finished build. However, any attempt to run the resulting JDK results in "Error occurred during initialization of VM"... $ /usr/java/icedtea7-2.0/bin/java -version Error occurred during initialization of VM ?MZ: ???XZ.class $ /usr/java/icedtea7-2.0/bin/jar -version Error occurred during initialization of VM ?1.: ???:..class Since the error occurs even in bits and pieces that shouldn't necessarily launch a VM (jar, ...), I tend to think something is going seriously wrong with one of the libraries (libjli.so?) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From ahughes at redhat.com Thu Sep 29 03:37:05 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Sep 2011 11:37:05 +0100 Subject: IcedTea7 2.0 Branched for Release In-Reply-To: <20110929001951.GK10619@rivendell.middle-earth.co.uk> References: <20110928225817.GE10619@rivendell.middle-earth.co.uk> <20110929001951.GK10619@rivendell.middle-earth.co.uk> Message-ID: <20110929103704.GM10619@rivendell.middle-earth.co.uk> On 01:19 Thu 29 Sep , Dr Andrew John Hughes wrote: > On 23:58 Wed 28 Sep , Dr Andrew John Hughes wrote: > > IcedTea7 2.0 has now branched for release. I plan to do the release > > on Monday evening here in the UK, pending major issues. > > > > A number of features new since 1.14: > > > > * PR717: All non-bootstrap non-conditional patches in IcedTea7 should be in the forest or dropped. > > The only patches now in IcedTea7 are either conditional or necessary to bootstrap. > > The other patches have been either moved to the forest or removed because they were > > no longer required. > > * Convert to optional system library usage via USE_SYSTEM_ZLIB/JPEG/PNG/GIF. > > The old libraries.patch is now upstream in the form of USE_SYSTEM_ZLIB/JPEG/PNG/GIF. > > It also has also been joined by some friends: USE_SYSTEM_GTK/CUPS/FONTCONFIG/GIO which > > relate to libraries formally used by dlopen/dlsym calls, but which can now optionally > > be linked at runtime to reduce the risk of issues. More on this in an upcoming blog. > > * PR790: Re-include JAXP and JAXWS in the source tree > > Previously, the JAXP and JAXWS repository tarballs were fairly useless as all they contained > > was build machinery, with the actual code being in another tarball. Not only did this > > increase the amount of build machinery and downloading required, it also made it harder > > to patch the sources. The sources have now been restored to the OpenJDK tree (a facility > > provided by the upstream build code) and the drop machinery in IcedTea7 removed. > > * Allow the compiler used to be overridden by setting BUILD_GCC/BUILD_CPP. > > This is a more general version of the gcc-suffix patch. BUILD_GCC and BUILD_CPP can > > be set to any arbitrary C/C++ compiler and IcedTea7 defaults to using $(CC) and $(CXX). > > > > System dependency updates: > > > > * IcedTea7 now works with Linux 3.0+ and libpng 1.5+ > > > > Please test prior to release. The release branch is currently: > > > > http://icedtea.classpath.org/people/andrew/icedtea7-2.0 > > > > with a corresponding forest: > > > > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/ > > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/corba > > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/jaxp > > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/jaxws > > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/hotspot > > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/jdk > > http://icedtea.classpath.org/people/andrew/icedtea7-forest-2.0/langtools > > > > mjw, please move these to the top-level. > > > > Happy hacking, > > -- > > Andrew :) > > > > Free Java Software Engineer > > Red Hat, Inc. (http://www.redhat.com) > > > > Support Free Java! > > Contribute to GNU Classpath and IcedTea > > http://www.gnu.org/software/classpath > > http://icedtea.classpath.org > > PGP Key: F5862A37 (https://keys.indymedia.org/) > > Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 > > A pre-release tarball is now available, made against the branchpoint after a make distcheck: > > http://icedtea.classpath.org/download/source/icedtea-2.0pre.tar.gz > > aacbacbafd5baaea3653d6f5ecd6f56ebb679ecf186e6f061c3674209df81490 icedtea-2.0pre.tar.gz > > It's signed with my new public key: > > http://icedtea.classpath.org/download/source/icedtea-2.0pre.tar.gz.sig > > pub 4096R/248BDC07 2011-09-28 [expires: 2012-09-27] > uid Dr Andrew John Hughes > uid Dr Andrew John Hughes > sub 4096R/954E386D 2011-09-28 [expires: 2012-09-27] > -- > Andrew :) > FYI, I've already discovered that bootstrapping with IcedTea7 seems to have broken again... :-( Working on a fix. Bootstrap builds with GNU Classpath and non-bootstrap builds with IcedTea6/7 should be fine. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From mark at klomp.org Thu Sep 29 04:25:06 2011 From: mark at klomp.org (Mark Wielaard) Date: Thu, 29 Sep 2011 13:25:06 +0200 Subject: IcedTea7 2.0 Branched for Release In-Reply-To: <20110928225817.GE10619@rivendell.middle-earth.co.uk> References: <20110928225817.GE10619@rivendell.middle-earth.co.uk> Message-ID: <1317295506.3435.8.camel@springer.wildebeest.org> On Wed, 2011-09-28 at 23:58 +0100, Dr Andrew John Hughes wrote: > IcedTea7 2.0 has now branched for release. I plan to do the release > on Monday evening here in the UK, pending major issues. > [...] > mjw, please move these to the top-level. Done. They are now accessible as: $ hg clone http://icedtea.classpath.org/hg/icedtea7-2.0 and $ hg fclone http://icedtea.classpath.org/hg/icedtea7-forest-2.0/ Note that I symlinked the old locations to the new location on the server, so the trees under people/andrew are still there, but are exactly the same. Cheers, Mark From bugzilla-daemon at icedtea.classpath.org Thu Sep 29 04:44:42 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Sep 2011 11:44:42 +0000 Subject: [Bug 796] New: Linking of the plugin does not respect LDFLAGS Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=796 Summary: Linking of the plugin does not respect LDFLAGS Product: IcedTea-Web Version: unspecified Platform: all URL: https://bugs.gentoo.org/show_bug.cgi?id=356645 OS/Version: Linux Status: NEW Severity: minor Priority: P5 Component: Plugin AssignedTo: dbhole at redhat.com ReportedBy: caster at gentoo.org CC: unassigned at icedtea.classpath.org As we discussed on IRC, the plugin linking does not respect LDFLAGS and the fix is trivial. I can't say that it breaks anything, but: 1) It's a good practice 2) In Gentoo we generally require this, being a source-based meta-distribution 3) Practically, the default LDFLAGS in gentoo contain --as-needed which significantly reduces number of linked-but-in-fact-not-needed libraries that trigger rebuilds when such libraries change SONAME (such as libpng which gets indeed linked to the plugin without --as-needed, although it's not a dependency). Thanks for considering this. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 29 04:45:23 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Sep 2011 11:45:23 +0000 Subject: [Bug 796] Linking of the plugin does not respect LDFLAGS In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=796 --- Comment #1 from Vlastimil Babka 2011-09-29 11:45:23 --- Created an attachment (id=583) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=583) patch to respect LDFLAGS for the plugin .so -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From doko at ubuntu.com Thu Sep 29 05:05:03 2011 From: doko at ubuntu.com (Matthias Klose) Date: Thu, 29 Sep 2011 14:05:03 +0200 Subject: IcedTea7 2.0 Branched for Release In-Reply-To: <20110928225817.GE10619@rivendell.middle-earth.co.uk> References: <20110928225817.GE10619@rivendell.middle-earth.co.uk> Message-ID: <4E845EEF.2030606@ubuntu.com> On 09/29/2011 12:58 AM, Dr Andrew John Hughes wrote: > IcedTea7 2.0 has now branched for release. I plan to do the release > on Monday evening here in the UK, pending major issues. I disagree. If this release is needed for some deadline, then call it a pre-release. There are still long outstanding issues. - You did hijack release-management from existing release maintainers, did change commit and release policies on your own, and disallow others in editing these policies. The request to change this behaviour is now ignored for months [1]. - The movement to the "forest" development model doesn't help many people, only a few. It's not communicated, only a few more equal IcedTea developers have commit rights, the regression testers use the icedtea7 branch, and iiuc, people like Xerxes still have difficulties or issues contributing to the icedtea7 forest. Throwing over changes from the forest is not communicated, and it does break alternate VMs on a more or less regular basis. - As communicated before, releases should be announced at least a working week before the release, better two. Letting people to have 1-2 work days before a release with the last dump from the forest only two ore three days past is ridiculous (and then having the release day on a bank holiday). If you do have a deadline, cut a pre-release. The time is too short to even run tests on some architectures, or even better to give time to address these. To go forward, I propose to set the release date to Mon, Oct 17 (or Tue, Oct 18 if this is a bank holiday in the UK/US). This also gives time to address the issues about commit and release policies. The project is still called IcedTea, not AndrewsTea. Matthias [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-May/014156.html From bugzilla-daemon at icedtea.classpath.org Thu Sep 29 07:24:18 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Sep 2011 14:24:18 +0000 Subject: [Bug 795] Allow icedtea-web's JRE to be configured at runtime In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=795 --- Comment #2 from Deepak Bhole 2011-09-29 14:24:18 --- This sounds like a good idea. But I am concerned about how the variable would be set. e.g. how would it be configured for the plug-in? Selecting something like the alternatives-selected JAVA_HOME would break if the selected JRE is something other than IcedTea. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From xranby at icedtea.classpath.org Thu Sep 29 07:48:49 2011 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Thu, 29 Sep 2011 14:48:49 +0000 Subject: /hg/icedtea6: LP862286: Fix exception on trying to start PulseAu... Message-ID: changeset 88f9ea95b92c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=88f9ea95b92c author: Xerxes Ranby date: Thu Sep 29 16:59:04 2011 +0200 LP862286: Fix exception on trying to start PulseAudio playback. 2011-09-29 Xerxes Ranby David Henningsson LP862286 * NEWS: Updated. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ PulseAudioDataLine.java (addStreamListeners): Fix exception on trying to start PulseAudio playback. diffstat: ChangeLog | 9 +++++++++ NEWS | 1 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 2 +- 3 files changed, 11 insertions(+), 1 deletions(-) diffs (39 lines): diff -r af642d6ae50e -r 88f9ea95b92c ChangeLog --- a/ChangeLog Mon Sep 26 14:03:11 2011 +0200 +++ b/ChangeLog Thu Sep 29 16:59:04 2011 +0200 @@ -1,3 +1,12 @@ +2011-09-29 Xerxes R??nby + David Henningsson + + LP862286 + * NEWS: Updated. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ + PulseAudioDataLine.java (addStreamListeners): + Fix exception on trying to start PulseAudio playback. + 2011-09-26 Xerxes R??nby Mark David Dumlao diff -r af642d6ae50e -r 88f9ea95b92c NEWS --- a/NEWS Mon Sep 26 14:03:11 2011 +0200 +++ b/NEWS Thu Sep 29 16:59:04 2011 +0200 @@ -371,6 +371,7 @@ - S6826104, RH730015: Getting a NullPointer exception when clicked on Application & Toolkit Modal dialog - S5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" - S6296893: BMP Writer handles TopDown property incorrectly for some of the compression types + - LP862286: Fix exception on trying to start PulseAudio playback * Allow selection of test suites using the jtreg_checks argument e.g. jtreg_checks="langtools" * CACAO - CA149: Used wrong class loader. diff -r af642d6ae50e -r 88f9ea95b92c pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Mon Sep 26 14:03:11 2011 +0200 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Thu Sep 29 16:59:04 2011 +0200 @@ -211,7 +211,7 @@ if (!dataWritten) { fireLineEvent(new LineEvent(PulseAudioDataLine.this, LineEvent.Type.START, framesSinceOpen)); - synchronized (this) { + synchronized (PulseAudioDataLine.this) { PulseAudioDataLine.this.notifyAll(); } } From omajid at icedtea.classpath.org Thu Sep 29 08:38:15 2011 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Thu, 29 Sep 2011 15:38:15 +0000 Subject: /hg/icedtea-web: PR618: Can't install OpenDJ, JavaWebStart fails... Message-ID: changeset 3545cea5c845 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=3545cea5c845 author: Omair Majid date: Thu Sep 29 11:35:01 2011 -0400 PR618: Can't install OpenDJ, JavaWebStart fails with Input stream is null error. 2011-09-29 Omair Majid * NEWS: Update. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getResource): Rename to ... (findResource): New method. (findResources): If resource can not be found, search in lazy resources. (findResourcesBySearching): New method. diffstat: ChangeLog | 13 ++++- NEWS | 1 + netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 53 ++++++++++++++--- 3 files changed, 56 insertions(+), 11 deletions(-) diffs (117 lines): diff -r fb883fdc9331 -r 3545cea5c845 ChangeLog --- a/ChangeLog Wed Sep 28 18:17:13 2011 -0400 +++ b/ChangeLog Thu Sep 29 11:35:01 2011 -0400 @@ -1,4 +1,15 @@ -2011-09-28 Omair Majid +2011-09-29 Omair Majid + + PR618: Can't install OpenDJ, JavaWebStart fails with Input stream is null + error. + * NEWS: Update. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (getResource): Rename to ... + (findResource): New method. + (findResources): If resource can not be found, search in lazy resources. + (findResourcesBySearching): New method. + +2011-09-28 Omair Majid * netx/net/sourceforge/jnlp/AppletDesc.java (getMainClass): Clarify the return value in javadoc. diff -r fb883fdc9331 -r 3545cea5c845 NEWS --- a/NEWS Wed Sep 28 18:17:13 2011 -0400 +++ b/NEWS Thu Sep 29 11:35:01 2011 -0400 @@ -13,6 +13,7 @@ - RH718164, CVE-2011-2513: Home directory path disclosure to untrusted applications - RH718170, CVE-2011-2514: Java Web Start security warning dialog manipulation * NetX + - PR618: Can't install OpenDJ, JavaWebStart fails with Input stream is null error - PR765: JNLP file with all resource jars marked as 'lazy' fails to validate signature and stops the launch of application - PR788: Elluminate Live! is not working * Plugin diff -r fb883fdc9331 -r 3545cea5c845 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Sep 28 18:17:13 2011 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Sep 29 11:35:01 2011 -0400 @@ -1484,31 +1484,64 @@ /** * Finds the resource in this, the parent, or the extension * class loaders. + * + * @return a URL for the resource, or null + * if the resource could not be found. */ - public URL getResource(String name) { - URL result = super.getResource(name); + @Override + public URL findResource(String name) { + URL result = null; - for (int i = 1; i < loaders.length; i++) - if (result == null) - result = loaders[i].getResource(name); + try { + Enumeration e = findResources(name); + if (e.hasMoreElements()) { + result = e.nextElement(); + } + } catch (IOException e) { + if (JNLPRuntime.isDebug()) { + e.printStackTrace(); + } + } // If result is still null, look in the codebase loader if (result == null && codeBaseLoader != null) - result = codeBaseLoader.getResource(name); + result = codeBaseLoader.findResource(name); return result; } /** - * Finds the resource in this, the parent, or the extension - * class loaders. + * Find the resources in this, the parent, or the extension + * class loaders. Load lazy resources if not found in current resources. */ @Override public Enumeration findResources(String name) throws IOException { - Vector resources = new Vector(); + Enumeration resources = findResourcesBySearching(name); + + try { + // if not found, load all lazy resources; repeat search + while (!resources.hasMoreElements() && addNextResource() != null) { + resources = findResourcesBySearching(name); + } + } catch (LaunchException le) { + le.printStackTrace(); + } + + return resources; + } + + /** + * Find the resources in this, the parent, or the extension + * class loaders. + */ + private Enumeration findResourcesBySearching(String name) throws IOException { + List resources = new ArrayList(); Enumeration e; for (int i = 0; i < loaders.length; i++) { + // TODO check if this will blow up or not + // if loaders[1].getResource() is called, wont it call getResource() on + // the original caller? infinite recursion? if (loaders[i] == this) e = super.findResources(name); @@ -1527,7 +1560,7 @@ resources.add(e.nextElement()); } - return resources.elements(); + return Collections.enumeration(resources); } /** From bugzilla-daemon at icedtea.classpath.org Thu Sep 29 09:02:02 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Sep 2011 16:02:02 +0000 Subject: [Bug 794] IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=794 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |omajid at redhat.com Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Omair Majid 2011-09-29 16:02:02 --- Fixed in all branches: 1.0: http://icedtea.classpath.org/hg/release/icedtea-web-1.0/rev/c93e44ff65f8 1.1: http://icedtea.classpath.org/hg/release/icedtea-web-1.1/rev/a0b951436a6d HEAD: http://icedtea.classpath.org/hg/icedtea-web/rev/477780fe79ae -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From bugzilla-daemon at icedtea.classpath.org Thu Sep 29 09:04:20 2011 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Sep 2011 16:04:20 +0000 Subject: [Bug 771] IcedTea-Web certificate verification code does not use the right API In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=771 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |omajid at redhat.com Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Omair Majid 2011-09-29 16:04:19 --- Fixed: http://icedtea.classpath.org/hg/icedtea-web/rev/9b7eca03a9ea -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From dbhole at redhat.com Thu Sep 29 13:18:35 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 29 Sep 2011 16:18:35 -0400 Subject: [icedtea-web] RFC: Patch to fix PR794 (Class-Path element processing) In-Reply-To: <20110928200629.GF2717@redhat.com> References: <20110927220758.GL16658@redhat.com> <4E827335.3090005@redhat.com> <20110928185719.GD2717@redhat.com> <4E8372E7.9080001@redhat.com> <20110928195325.GE2717@redhat.com> <4E837BBF.2070001@redhat.com> <20110928200629.GF2717@redhat.com> Message-ID: <20110929201835.GI22249@redhat.com> * Deepak Bhole [2011-09-28 16:07]: > * Omair Majid [2011-09-28 15:55]: > > On 09/28/2011 03:53 PM, Deepak Bhole wrote: > > >* Omair Majid [2011-09-28 15:18]: > > >>On 09/28/2011 02:57 PM, Deepak Bhole wrote: > > >>>* Omair Majid [2011-09-27 21:07]: > > >> > > >>Looks good to me! > > >> > > > > > >Thanks! Committed to 1.1 and HEAD. > > > > > >Attached is a partial patch for application to 1.0. > > > > > >It only blanks the manifest so that Elluminate will work again. The > > >plug-in in 1.0.x never supported classpaths in manifest anyway, so this > > >should have no effect there. > > > > > >ChangeLog: > > >2011-09-28 Deepak Bhole > > > > > > PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path > > > element in the manifest. > > > * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java > > > (retrieve): Blank out the Class-Path elements in manifest. > > > > > >Okay for 1.0? > > > > > > > There is some funny spacing in the patch, but the changes themselves > > look fine to me. > > > > Just got a note re: fix for F14. F14 has 1.9, which is affected too. So is 1.8. Okay to backport to those 2? Cheers, Deepak From omajid at redhat.com Thu Sep 29 13:23:57 2011 From: omajid at redhat.com (Omair Majid) Date: Thu, 29 Sep 2011 16:23:57 -0400 Subject: [icedtea-web] RFC: Patch to fix PR794 (Class-Path element processing) In-Reply-To: <20110929201835.GI22249@redhat.com> References: <20110927220758.GL16658@redhat.com> <4E827335.3090005@redhat.com> <20110928185719.GD2717@redhat.com> <4E8372E7.9080001@redhat.com> <20110928195325.GE2717@redhat.com> <4E837BBF.2070001@redhat.com> <20110928200629.GF2717@redhat.com> <20110929201835.GI22249@redhat.com> Message-ID: <4E84D3DD.3090400@redhat.com> On 09/29/2011 04:18 PM, Deepak Bhole wrote: > * Deepak Bhole [2011-09-28 16:07]: >> * Omair Majid [2011-09-28 15:55]: >>> On 09/28/2011 03:53 PM, Deepak Bhole wrote: >>>> * Omair Majid [2011-09-28 15:18]: >>>>> On 09/28/2011 02:57 PM, Deepak Bhole wrote: >>>>>> * Omair Majid [2011-09-27 21:07]: >>>>> >>>>> Looks good to me! >>>>> >>>> >>>> Thanks! Committed to 1.1 and HEAD. >>>> >>>> Attached is a partial patch for application to 1.0. >>>> >>>> It only blanks the manifest so that Elluminate will work again. The >>>> plug-in in 1.0.x never supported classpaths in manifest anyway, so this >>>> should have no effect there. >>>> >>>> ChangeLog: >>>> 2011-09-28 Deepak Bhole >>>> >>>> PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path >>>> element in the manifest. >>>> * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java >>>> (retrieve): Blank out the Class-Path elements in manifest. >>>> >>>> Okay for 1.0? >>>> >>> >>> There is some funny spacing in the patch, but the changes themselves >>> look fine to me. >>> >> >> > > Just got a note re: fix for F14. F14 has 1.9, which is affected too. So > is 1.8. > > Okay to backport to those 2? Yup. Cheers, Omair From dbhole at icedtea.classpath.org Thu Sep 29 13:41:30 2011 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Thu, 29 Sep 2011 20:41:30 +0000 Subject: /hg/release/icedtea6-1.8: PR794: javaws does not work if a Web S... Message-ID: changeset a31e65674d37 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=a31e65674d37 author: Deepak Bhole date: Thu Sep 29 16:40:51 2011 -0400 PR794: javaws does not work if a Web Start app jar has a Class-Path element in the manifest. diffstat: ChangeLog | 7 ++++ NEWS | 3 + netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java | 19 +++++++++++- 3 files changed, 28 insertions(+), 1 deletions(-) diffs (56 lines): diff -r 3f75d74db864 -r a31e65674d37 ChangeLog --- a/ChangeLog Thu Jul 21 15:13:04 2011 +0100 +++ b/ChangeLog Thu Sep 29 16:40:51 2011 -0400 @@ -1,3 +1,10 @@ +2011-09-29 Deepak Bhole + + PR794: javaws does not work if a Web Start app jar has a Class-Path + element in the manifest. + * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java + (retrieve): Blank out the Class-Path elements in manifest. + 2011-07-21 Andrew John Hughes * NEWS: Prepare for 1.8.10. diff -r 3f75d74db864 -r a31e65674d37 NEWS --- a/NEWS Thu Jul 21 15:13:04 2011 +0100 +++ b/NEWS Thu Sep 29 16:40:51 2011 -0400 @@ -10,6 +10,9 @@ New in release 1.8.10 (2011-XX-XX): +* NetX + - PR794: javaws does not work if a Web Start app jar has a Class-Path element in the manifest + New in release 1.8.9 (2011-07-20): * Security fixes diff -r 3f75d74db864 -r a31e65674d37 netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java --- a/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Thu Jul 21 15:13:04 2011 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Thu Sep 29 16:40:51 2011 -0400 @@ -94,7 +94,24 @@ if (UrlUtils.isLocalFile(localUrl)) { // if it is known to us, just return the cached file - return new JarFile(localUrl.getPath()); + JarFile returnFile = new JarFile(localUrl.getPath()); + + try { + + // Blank out the class-path because: + // 1) Web Start does not support it + // 2) For the plug-in, we want to cache files from class-path so we do it manually + returnFile.getManifest().getMainAttributes().putValue("Class-Path", ""); + + if (JNLPRuntime.isDebug()) { + System.err.println("Class-Path attribute cleared for " + returnFile.getName()); + } + + } catch (NullPointerException npe) { + // Discard NPE here. Maybe there was no manifest, maybe there were no attributes, etc. + } + + return returnFile; } else { // throw new IllegalStateException("a non-local file in cache"); return null; From dbhole at icedtea.classpath.org Thu Sep 29 13:41:40 2011 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Thu, 29 Sep 2011 20:41:40 +0000 Subject: /hg/release/icedtea6-1.9: PR794: javaws does not work if a Web S... Message-ID: changeset 328afd896e3e in /hg/release/icedtea6-1.9 details: http://icedtea.classpath.org/hg/release/icedtea6-1.9?cmd=changeset;node=328afd896e3e author: Deepak Bhole date: Thu Sep 29 16:41:18 2011 -0400 PR794: javaws does not work if a Web Start app jar has a Class-Path element in the manifest. diffstat: ChangeLog | 7 ++++ NEWS | 3 + netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java | 19 +++++++++++- 3 files changed, 28 insertions(+), 1 deletions(-) diffs (56 lines): diff -r 0f6deb60d29b -r 328afd896e3e ChangeLog --- a/ChangeLog Thu Jul 21 15:08:30 2011 +0100 +++ b/ChangeLog Thu Sep 29 16:41:18 2011 -0400 @@ -1,3 +1,10 @@ +2011-09-29 Deepak Bhole + + PR794: javaws does not work if a Web Start app jar has a Class-Path + element in the manifest. + * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java + (retrieve): Blank out the Class-Path elements in manifest. + 2011-07-21 Andrew John Hughes * NEWS: Prepare for 1.9.10. diff -r 0f6deb60d29b -r 328afd896e3e NEWS --- a/NEWS Thu Jul 21 15:08:30 2011 +0100 +++ b/NEWS Thu Sep 29 16:41:18 2011 -0400 @@ -10,6 +10,9 @@ New in release 1.9.10 (2011-XX-XX): +* NetX + - PR794: javaws does not work if a Web Start app jar has a Class-Path element in the manifest + New in release 1.9.9 (2011-07-20): * Security fixes diff -r 0f6deb60d29b -r 328afd896e3e netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java --- a/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Thu Jul 21 15:08:30 2011 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java Thu Sep 29 16:41:18 2011 -0400 @@ -94,7 +94,24 @@ if (UrlUtils.isLocalFile(localUrl)) { // if it is known to us, just return the cached file - return new JarFile(localUrl.getPath()); + JarFile returnFile = new JarFile(localUrl.getPath()); + + try { + + // Blank out the class-path because: + // 1) Web Start does not support it + // 2) For the plug-in, we want to cache files from class-path so we do it manually + returnFile.getManifest().getMainAttributes().putValue("Class-Path", ""); + + if (JNLPRuntime.isDebug()) { + System.err.println("Class-Path attribute cleared for " + returnFile.getName()); + } + + } catch (NullPointerException npe) { + // Discard NPE here. Maybe there was no manifest, maybe there were no attributes, etc. + } + + return returnFile; } else { // throw new IllegalStateException("a non-local file in cache"); return null; From dbhole at redhat.com Thu Sep 29 13:45:15 2011 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 29 Sep 2011 16:45:15 -0400 Subject: [icedtea-web] RFC: Patch to fix PR794 (Class-Path element processing) In-Reply-To: <4E84D3DD.3090400@redhat.com> References: <20110927220758.GL16658@redhat.com> <4E827335.3090005@redhat.com> <20110928185719.GD2717@redhat.com> <4E8372E7.9080001@redhat.com> <20110928195325.GE2717@redhat.com> <4E837BBF.2070001@redhat.com> <20110928200629.GF2717@redhat.com> <20110929201835.GI22249@redhat.com> <4E84D3DD.3090400@redhat.com> Message-ID: <20110929204514.GJ22249@redhat.com> * Omair Majid [2011-09-29 16:23]: > On 09/29/2011 04:18 PM, Deepak Bhole wrote: > >* Deepak Bhole [2011-09-28 16:07]: > >>* Omair Majid [2011-09-28 15:55]: > >>>On 09/28/2011 03:53 PM, Deepak Bhole wrote: > >>>>* Omair Majid [2011-09-28 15:18]: > >>>>>On 09/28/2011 02:57 PM, Deepak Bhole wrote: > >>>>>>* Omair Majid [2011-09-27 21:07]: > >>>>> > >>>>>Looks good to me! > >>>>> > >>>> > >>>>Thanks! Committed to 1.1 and HEAD. > >>>> > >>>>Attached is a partial patch for application to 1.0. > >>>> > >>>>It only blanks the manifest so that Elluminate will work again. The > >>>>plug-in in 1.0.x never supported classpaths in manifest anyway, so this > >>>>should have no effect there. > >>>> > >>>>ChangeLog: > >>>>2011-09-28 Deepak Bhole > >>>> > >>>> PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path > >>>> element in the manifest. > >>>> * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java > >>>> (retrieve): Blank out the Class-Path elements in manifest. > >>>> > >>>>Okay for 1.0? > >>>> > >>> > >>>There is some funny spacing in the patch, but the changes themselves > >>>look fine to me. > >>> > >> > >> > > > >Just got a note re: fix for F14. F14 has 1.9, which is affected too. So > >is 1.8. > > > >Okay to backport to those 2? > > Yup. > Thanks! Pushed. Cheers, Deepak > Cheers, > Omair From ahughes at redhat.com Thu Sep 29 15:04:06 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Thu, 29 Sep 2011 23:04:06 +0100 Subject: IcedTea7 2.0 Branched for Release In-Reply-To: <4E845EEF.2030606@ubuntu.com> References: <20110928225817.GE10619@rivendell.middle-earth.co.uk> <4E845EEF.2030606@ubuntu.com> Message-ID: <20110929220406.GO10619@rivendell.middle-earth.co.uk> On 14:05 Thu 29 Sep , Matthias Klose wrote: > On 09/29/2011 12:58 AM, Dr Andrew John Hughes wrote: > > IcedTea7 2.0 has now branched for release. I plan to do the release > > on Monday evening here in the UK, pending major issues. > > I disagree. If this release is needed for some deadline, then call it a > pre-release. The pre-release is already available. This release is already long overdue and I want the first feature release out of the way prior to the upcoming security update: http://www.oracle.com/technetwork/topics/security/alerts-086861.html There's also 7u2 coming soon and I don't really want to have restart testing again due to importing all those changes. The current tree has seen a lot of testing, both by me and via the builds in Fedora. I'm prepared to go to Wednesday to give it a full week, but my impression is that all bugs have been fixed at this stage. Certainly, there are no longer any dependent bugs on http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=712 and that has been available since the 11th of May. > There are still long outstanding issues. Not that I'm aware of. > > - You did hijack release-management from existing release > maintainers, did change commit and release policies on > your own, and disallow others in editing these policies. > The request to change this behaviour is now ignored for > months [1]. > Frankly, that's a lie because there are several replies in that thread, and contributions to the policy documents from other *active* developers. Even back then, this was just a statement of the existing working model -- as you would know if you were actually involved in this project. I presume by 'hijack[ing] release-management', you mean actually doing the release work when such maintainers fail to do anything? A situation which would otherwise leave release branches with open security vulnerabilities? As far as I can tell, your objection is to us actually *reviewing* release branch patches (the only change I'm aware of), which means you can't just shove whatever patches in you want in a rush because you failed to plan sufficient time for review. > - The movement to the "forest" development model doesn't > help many people, only a few. This is the first complaint I've heard and the forest has been in use for over two years: 2009-05-07 Andrew John Hughes * Makefile.am: Support downloading and extracting from the forest repositories rather than one megatarball. > It's not communicated, > only a few more equal IcedTea developers have commit > rights, Everyone who has commit rights to the IcedTea trees can write to the forest. > the regression testers use the icedtea7 branch, What is the issue with this??? > and iiuc, people like Xerxes still have difficulties > or issues contributing to the icedtea7 forest. Not as far as I know. > > Throwing over changes from the forest is not communicated, I don't know what you're referring to by this. > and it does break alternate VMs on a more or less regular basis. If you're interested in maintaining a non-standard build option like Zero, Shark, CACAO and JamVM, you need to do actual work on it. Xerxes has done some excellent work in adding JamVM and keeping it up to date. You can't expect other developers to maintain code they have no use for on your behalf. > > - As communicated before, releases should be announced at > least a working week before the release, better two. Letting > people to have 1-2 work days before a release with the last > dump from the forest only two ore three days past is ridiculous > (and then having the release day on a bank holiday). I wasn't aware Monday was a bank holiday; it's not in the UK and I don't have the dates of every bank holiday in the world in my head. Maybe Monday was a little eager, but this has been dragging on for a long time and there's an impending security release. Oracle released 7 at the end of July and there's demand from a number of quarters for us to provide it as well. Both Fedora and Gentoo are waiting on a new release, for instance. I'll push it back to Wednesday, giving the usual week as I believe I always have. Anything more and we risk mixing up a major feature release with a security update. > If > you do have a deadline, cut a pre-release. The time is > too short to even run tests on some architectures, or > even better to give time to address these. This is a note to start *final release testing*, not to start testing period. If you want to ship IcedTea7, you should have started testing it longer before we reach this juncture. It has been around for three years. > > To go forward, I propose to set the release date to Mon, Oct 17 (or Tue, Oct 18 > if this is a bank holiday in the UK/US). This also gives time to address the > issues about commit and release policies. The release date will be Wednesday, October the 5th. Suggesting the week of the 18th just shows you're not only inactive in IcedTea development, but also unaware of the security release process: http://www.oracle.com/technetwork/topics/security/alerts-086861.html There's not going to be any time in the early months of October, due to preparing these security updates, and delaying to November means that what we have now, which has been fairly well-tested, because more and more outdated. You haven't raised any actual *technical* issues above as far as I can see, and I don't see any reason to delay this release by such a long period. > The project is still called IcedTea, > not AndrewsTea. It is. It's also not called MatthiasTea. If I have a significant voice in what goes on, it's because it's *me* who actually does a lot of the work to make these things happen, from backporting patches, fixing bugs and build issues to actually rolling out the releases (around 30 I think in the last year). In contrast, you haven't even bothered to submit a single change to IcedTea7 since May. You just turn up about every six months, complain and then disappear again without actually contributing anything. This wasn't always the case, and I would prefer to go back to a time when you were a welcome presence in this project, rather than a troll. There's not only me working on IcedTea. Pavel has done some excellent work finding backports and getting them into IcedTea6, as well as fixing tests. I've had pretty much nothing to do with IcedTea-Web since the initial release; Deepak, Omair, Jiri and various others have done an excellent job of maintaining this. They've also implemented a review policy for every patch (unlike IcedTea6+7 HEAD which don't require review) and have found it works better for them, leading to higher quality code. If they're not vocal on the list, it's because they're actually hard at work actually contributing to this project, rather than just complaining, and don't want to get embroiled in ridiculous arguments like this. And to be honest, I don't blame them. Try to find something positive to say and contribute rather than just writing off the hard work of others. > > Matthias > > [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-May/014156.html > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From andrew at icedtea.classpath.org Thu Sep 29 20:35:59 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 30 Sep 2011 03:35:59 +0000 Subject: /hg/icedtea7: 6 new changesets Message-ID: changeset f75092cac189 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=f75092cac189 author: Andrew John Hughes date: Fri Sep 30 04:07:32 2011 +0100 Only build bootstrap classes with source/target 1.6 if the VM doesn't support 1.7 bytecode. 2011-09-30 Andrew John Hughes * Makefile.am: (ICEDTEA_BOOT_PATCHES): Only apply use_target_6_for_bootstrap_classes if 1.7 bytecode is not supported by the VM. Fixes bootstrap with IcedTea7. * acinclude.m4: (IT_BYTECODE7_CHECK): Check if the VM supports 1.7 bytecode. * configure.ac: Call IT_BYTECODE7_CHECK. changeset 7cdc3acdda5b in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=7cdc3acdda5b author: Andrew John Hughes date: Fri Sep 30 04:25:29 2011 +0100 Use IcedTea server for CACAO downloads, as with 6. 2010-11-19 Andrew John Hughes * Makefile.am: (CACAO_BASE_URL): Switch to using IcedTea server for CACAO drops too. (CACAO_URL): Likewise. changeset 82093e560de2 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=82093e560de2 author: Xerxes Ranby date: Tue Aug 09 11:34:28 2011 +0200 CACAO: Updated to 2011-08-08 revision. 2011-08-09 Xerxes R?nby CACAO - CA159: Exception handler blocks / register mixup. - Set thread to RUNNABLE during Thread.start. - Removed state-setting function call that would be done by the thread itself, creating a nasty race. * NEWS: Updated. * Makefile.am (CACAO_VERSION): Updated CACAO to 2011-08-08 revision. (CACAO_SHA256SUM): Updated. changeset 5e706bdbcce9 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=5e706bdbcce9 author: Xerxes Ranby date: Tue Aug 30 12:30:04 2011 +0200 CACAO: CA149: Used wrong class loader, Updated to 2011-08-29 revision. 2011-08-30 Xerxes Ranby CACAO - CA149: Used wrong class loader. - src/vm/javaobjects.cpp (java_lang_reflect_Method::invoke): [OPENJDK] stack index of caller was off by one, causing many apt (Annotation Processing Tool) failures. * NEWS: Updated. * Makefile.am (CACAO_VERSION): Updated CACAO to 2011-08-29 revision. (CACAO_SHA256SUM): Updated. changeset a71fd980ed7e in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=a71fd980ed7e author: Andrew John Hughes date: Fri Sep 30 04:30:26 2011 +0100 Cleanup NEWS. 2011-09-30 Andrew John Hughes * NEWS: Cleanup. changeset 875cada723d7 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=875cada723d7 author: Andrew John Hughes date: Fri Sep 30 04:33:46 2011 +0100 Use tar.gz rather than tar.bz2 for bundle as with IcedTea6. 2010-11-11 Stefan Ring * Makefile.am: Upgrade CACAO version, use .tar.gz archive diffstat: ChangeLog | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile.am | 17 ++++++++++------- NEWS | 13 +++++++++---- acinclude.m4 | 32 ++++++++++++++++++++++++++++++++ configure.ac | 1 + 5 files changed, 104 insertions(+), 11 deletions(-) diffs (183 lines): diff -r 05ed8db6b216 -r 875cada723d7 ChangeLog --- a/ChangeLog Wed Sep 28 23:07:52 2011 +0100 +++ b/ChangeLog Fri Sep 30 04:33:46 2011 +0100 @@ -1,3 +1,55 @@ +2010-11-11 Stefan Ring + + * Makefile.am: Upgrade CACAO version, + use .tar.gz archive + +2011-09-30 Andrew John Hughes + + * NEWS: Cleanup. + +2011-08-30 Xerxes R??nby + + CACAO + - CA149: Used wrong class loader. + - src/vm/javaobjects.cpp (java_lang_reflect_Method::invoke): + [OPENJDK] stack index of caller was off by one, causing many apt + (Annotation Processing Tool) failures. + * NEWS: Updated. + * Makefile.am + (CACAO_VERSION): Updated CACAO to 2011-08-29 revision. + (CACAO_SHA256SUM): Updated. + +2011-08-09 Xerxes R??nby + + CACAO + - CA159: Exception handler blocks / register mixup. + - Set thread to RUNNABLE during Thread.start. + - Removed state-setting function call that would be done by the thread + itself, creating a nasty race. + * NEWS: Updated. + * Makefile.am + (CACAO_VERSION): Updated CACAO to 2011-08-08 revision. + (CACAO_SHA256SUM): Updated. + +2010-11-19 Andrew John Hughes + + * Makefile.am: + (CACAO_BASE_URL): Switch to using IcedTea + server for CACAO drops too. + (CACAO_URL): Likewise. + +2011-09-30 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_BOOT_PATCHES): Only apply + use_target_6_for_bootstrap_classes if 1.7 + bytecode is not supported by the VM. Fixes + bootstrap with IcedTea7. + * acinclude.m4: + (IT_BYTECODE7_CHECK): Check if the VM supports + 1.7 bytecode. + * configure.ac: Call IT_BYTECODE7_CHECK. + 2011-09-27 Andrew John Hughes * Makefile.am: diff -r 05ed8db6b216 -r 875cada723d7 Makefile.am --- a/Makefile.am Wed Sep 28 23:07:52 2011 +0100 +++ b/Makefile.am Fri Sep 30 04:33:46 2011 +0100 @@ -18,11 +18,11 @@ LANGTOOLS_SHA256SUM = 9ddc00ec50fd2f5e331dc2bc10da4e23b69bf644eb92d50b39a2003c18fb5aa1 OPENJDK_SHA256SUM = 4043a75c2c4385dd735f8dbbf2369311ce1b951217c9dbe9bba9609e24eb291e -CACAO_VERSION = d6264eb66506 -CACAO_SHA256SUM = 94ea7899e806ccbc33a732b5113a8f969d8b1f4ce7ffd27cf04577054f65f63c -CACAO_BASE_URL = http://mips.complang.tuwien.ac.at/hg/cacao/archive -CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.bz2 -CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 +CACAO_VERSION = 4549072ab2de +CACAO_SHA256SUM = ec097ce96f047abbaeab4faab752c121d29f08bdeae358038a0b7cde03361d07 +CACAO_BASE_URL = http://icedtea.classpath.org/download/drops/cacao +CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz +CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz JAMVM_VERSION = 310c491ddc14e92a6ffff27030a1a1821e6395a8 JAMVM_SHA256SUM = b5174f59371017087139fd43d51074ad837ae29340220206ca06769c8329881a @@ -318,8 +318,7 @@ patches/boot/ecj-multicatch.patch \ patches/boot/ecj-trywithresources.patch \ patches/boot/ecj-autoboxing.patch \ - patches/boot/xsltproc.patch \ - patches/boot/use_target_6_for_bootstrap_classes.patch + patches/boot/xsltproc.patch if CP39408_JAVAH ICEDTEA_BOOT_PATCHES += patches/boot/pr39408.patch @@ -364,6 +363,10 @@ ICEDTEA_BOOT_PATCHES += patches/boot/jaxws-getdtdtype.patch endif +if NO_BYTECODE7 +ICEDTEA_BOOT_PATCHES += patches/boot/use_target_6_for_bootstrap_classes.patch +endif + ICEDTEA_BOOT_PATCHES += $(DISTRIBUTION_BOOT_PATCHES) # OpenJDK build environment. diff -r 05ed8db6b216 -r 875cada723d7 NEWS --- a/NEWS Wed Sep 28 23:07:52 2011 +0100 +++ b/NEWS Fri Sep 30 04:33:46 2011 +0100 @@ -26,20 +26,25 @@ - S7068051: SIGSEGV in PhaseIdealLoop::build_loop_late_post - S7073913: Avoid random segfaults. * Zero/Shark - - PR757, 7066143: 7009309 regression: x86 stubRoutines - - PR753, 7066143: 7009923 regression + - PR757, S7066143: 7009309 regression: x86 stubRoutines + - PR753, S7066143: 7009923 regression - PR770: Zero 7033954 regression: missing mapfile - methodHandles_zero missing. - sharkContext typo in assert - sharedRuntime needs rework after indy reorg - Add missing describe_pd method for Zero. +* CACAO + - CA149: Used wrong class loader. + - CA159: Exception handler blocks / register mixup. + - src/vm/javaobjects.cpp (java_lang_reflect_Method::invoke): [OPENJDK] stack index of caller was off by one, causing many apt (Annotation Processing Tool) failures. + - Set thread to RUNNABLE during Thread.start. + - Removed state-setting function call that would be done by the thread itself, creating a nasty race. * JamVM - JamVM is self-hosting. - PR772: jtreg LocalOnlyTest sends SIGQUIT to all processes on exit. - LP827463: Fix OpenJDK enclosingMethodInfo(). - Add support for armhf. - - Skip Java-reflection-related DelegatingClassLoaders, - enables JamVM to run NetBeans. + - Skip Java-reflection-related DelegatingClassLoaders, enables JamVM to run NetBeans. - Generic JNI stubs for common JNI method signatures. - Fix memory heap arguments in terms of gigabytes. - armhf: ensure stack is 8 byte aligned. diff -r 05ed8db6b216 -r 875cada723d7 acinclude.m4 --- a/acinclude.m4 Wed Sep 28 23:07:52 2011 +0100 +++ b/acinclude.m4 Fri Sep 30 04:33:46 2011 +0100 @@ -2146,3 +2146,35 @@ AC_MSG_RESULT(${ALT_JAMVM_SRC_ZIP}) AC_SUBST(ALT_JAMVM_SRC_ZIP) ]) + +AC_DEFUN([IT_BYTECODE7_CHECK],[ +AC_CACHE_CHECK([if the VM lacks support for 1.7 bytecode], it_cv_bytecode7, [ +CLASS=Test.java +BYTECODE=$(echo $CLASS|sed 's#\.java##') +mkdir tmp.$$ +cd tmp.$$ +cat << \EOF > $CLASS +[/* [#]line __oline__ "configure" */ +public class Test +{ + public static void main(String[] args) + { + } +}] +EOF +if $JAVAC -cp . $JAVACFLAGS -source 7 -target 7 $CLASS >&AS_MESSAGE_LOG_FD 2>&1 ; then + if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1 ; then + it_cv_bytecode7=no; + else + it_cv_bytecode7=yes; + fi +else + it_cv_bytecode7=yes; +fi +]) +rm -f $CLASS *.class +cd .. +rmdir tmp.$$ +AM_CONDITIONAL([NO_BYTECODE7], test x"${it_cv_bytecode7}" = "xyes") +AC_PROVIDE([$0])dnl +]) diff -r 05ed8db6b216 -r 875cada723d7 configure.ac --- a/configure.ac Wed Sep 28 23:07:52 2011 +0100 +++ b/configure.ac Fri Sep 30 04:33:46 2011 +0100 @@ -118,6 +118,7 @@ IT_CHECK_FOR_CLASS([SUN_AWT_TOOLKIT], [sun.awt.SunToolkit]) IT_CHECK_ENABLE_WARNINGS IT_DIAMOND_CHECK +IT_BYTECODE7_CHECK IT_FIND_RHINO_JAR IT_WITH_OPENJDK_SRC_ZIP From andrew at icedtea.classpath.org Thu Sep 29 21:43:07 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 30 Sep 2011 04:43:07 +0000 Subject: /hg/icedtea7: Turn off forced -Werror when building com.sun.java... Message-ID: changeset 15866ac3f41b in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=15866ac3f41b author: Andrew John Hughes date: Fri Sep 30 05:42:54 2011 +0100 Turn off forced -Werror when building com.sun.java.pack 2011-09-30 Andrew John Hughes Bump changesets to bring in fix which turns off forced -Werror. * Makefile.am: (CORBA_CHANGESET): Updated. (HOTSPOT_CHANGESET): Likewise. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (HOTSPOT_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. diffstat: ChangeLog | 20 ++++++++++++++++++++ Makefile.am | 28 ++++++++++++++-------------- 2 files changed, 34 insertions(+), 14 deletions(-) diffs (66 lines): diff -r 875cada723d7 -r 15866ac3f41b ChangeLog --- a/ChangeLog Fri Sep 30 04:33:46 2011 +0100 +++ b/ChangeLog Fri Sep 30 05:42:54 2011 +0100 @@ -1,3 +1,23 @@ +2011-09-30 Andrew John Hughes + + Bump changesets to bring in fix which + turns off forced -Werror. + * Makefile.am: + (CORBA_CHANGESET): Updated. + (HOTSPOT_CHANGESET): Likewise. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (HOTSPOT_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + 2010-11-11 Stefan Ring * Makefile.am: Upgrade CACAO version, diff -r 875cada723d7 -r 15866ac3f41b Makefile.am --- a/Makefile.am Fri Sep 30 04:33:46 2011 +0100 +++ b/Makefile.am Fri Sep 30 05:42:54 2011 +0100 @@ -2,21 +2,21 @@ OPENJDK_VERSION = b147 -CORBA_CHANGESET = d034cc90ecc2 -HOTSPOT_CHANGESET = 7693eb0fce1f -JAXP_CHANGESET = b8d01501956a -JAXWS_CHANGESET = e6cd09c7ef22 -JDK_CHANGESET = 7ec1845521ed -LANGTOOLS_CHANGESET = fb7fb3071b64 -OPENJDK_CHANGESET = 3defd24c2671 +CORBA_CHANGESET = 953de8c7bccb +HOTSPOT_CHANGESET = b28ae681bae0 +JAXP_CHANGESET = 948e734135ea +JAXWS_CHANGESET = 5d3734549424 +JDK_CHANGESET = d9fca71ba183 +LANGTOOLS_CHANGESET = 9b85f1265346 +OPENJDK_CHANGESET = 0a76e5390e68 -CORBA_SHA256SUM = 06e7778aa1670f064e2c9fef7bdedc66fc679262ab8ee7aee018329e1ec787a8 -HOTSPOT_SHA256SUM = 6b2c9b21918183a383ab380c57f70d4be6199df0e2127bb762a20b6eca39e3a2 -JAXP_SHA256SUM = 4e9c1a2f240cee406d56832e2e7be254a87b511ee781463a95da4f000c188181 -JAXWS_SHA256SUM = 3d13408b4a81111fd88fce043ca2c96c4d31da9aa812a8d608b56248ecac4aca -JDK_SHA256SUM = 843e7ccd4c2bad5c96aaa983e34f1eb27510229f138115fa0951e05358c50b2b -LANGTOOLS_SHA256SUM = 9ddc00ec50fd2f5e331dc2bc10da4e23b69bf644eb92d50b39a2003c18fb5aa1 -OPENJDK_SHA256SUM = 4043a75c2c4385dd735f8dbbf2369311ce1b951217c9dbe9bba9609e24eb291e +CORBA_SHA256SUM = 303d862f722d34ede330e9afdb0f2c9d61e02134beb4d562957e9574a91f8cca +HOTSPOT_SHA256SUM = dcb5a8d4a0a466e3673f891cea40ce163c02f26b0054dfc41c30e0f87c5c2f64 +JAXP_SHA256SUM = 66948dee25e0224b12587ba150b21dab2e21b260a853bd1272e07c8d08d2e586 +JAXWS_SHA256SUM = 6aace2cc9f1a98a3822733ad568cc070ec178ff3618c05229c68072af3ed4765 +JDK_SHA256SUM = d8e9bb264f2a31424764466273f10c05d4247328ab4c08a0f4b8123993d78e65 +LANGTOOLS_SHA256SUM = 03a256afc7371b3b0fbbbfd80a318e22984f6cbff26082948e8d5845ba193aee +OPENJDK_SHA256SUM = aa3b3cf17081cde2a4014e5dffec75f5b5402ad48f7f9943c32a2fa4544a8746 CACAO_VERSION = 4549072ab2de CACAO_SHA256SUM = ec097ce96f047abbaeab4faab752c121d29f08bdeae358038a0b7cde03361d07 From mark at klomp.org Fri Sep 30 03:08:16 2011 From: mark at klomp.org (Mark Wielaard) Date: Fri, 30 Sep 2011 12:08:16 +0200 Subject: IcedTea7 2.0 Branched for Release In-Reply-To: <20110929220406.GO10619@rivendell.middle-earth.co.uk> References: <20110928225817.GE10619@rivendell.middle-earth.co.uk> <4E845EEF.2030606@ubuntu.com> <20110929220406.GO10619@rivendell.middle-earth.co.uk> Message-ID: <1317377296.3412.20.camel@springer.wildebeest.org> Heay, This discussions seems a little overheated. You might want to split it up a bit. Clearly picking a data for a release should be properly discussed. There were more considerations than just "Monday seems a nice day for it". I like the explanation of taking a security update data and the 7u2 integration date into account. Would have been nice to have that in the original suggestion send out (and no, I don't think it is strange not everybody knows about those dates, please always err on the side of people having overlooked such details and just provide them again). In the future it would certainly be nice to give more people a bit more time to prepare, even though someone has to do it, please give long enough advance warning when, so everybody can plan towards a date. Even though clearly in the end someone just has to do it, and clearly Andrew does most of the work, please respect that. But please also do give others who might have less dedicated time a bit more heads up. Clearly there are some other (technical and procedural) issues, but lets try not to mix them all together in one and the same thread. I get the impression that if the subject had just been the date of the release there would quickly have been agreement. But mixing it with some other lingering issues was not a smart thing. It certainly might be good to have a discussion about the use of forests, having autobuilders test different/more things, what commit/review/release policies are and what breakage is (un)acceptable in the various components (clearly the autobuilders can help a bit with monitoring that if setup properly). Lets start separate threads for that. Thanks, Mark From ptisnovs at redhat.com Fri Sep 30 07:41:40 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 30 Sep 2011 16:41:40 +0200 Subject: Error building IcedTea7 HEAD on RHEL 6 i686 Message-ID: <4E85D524.3030006@redhat.com> Greetings, There's a reproducible error during building IcedTea7 HEAD on RHEL 6 i686. Config log & build log are stored in attachments. Configuration flags: --with-parallel-jobs=1 --disable-system-lcms --disable-bootstrap Any ideas? Cheers, Pavel -------------- next part -------------- A non-text attachment was scrubbed... Name: build.log.gz Type: application/x-gzip Size: 238064 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110930/ec459180/build.log.gz -------------- next part -------------- A non-text attachment was scrubbed... Name: config.log.gz Type: application/x-gzip Size: 12351 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20110930/ec459180/config.log.gz From mark at klomp.org Fri Sep 30 07:53:13 2011 From: mark at klomp.org (Mark Wielaard) Date: Fri, 30 Sep 2011 16:53:13 +0200 Subject: Error building IcedTea7 HEAD on RHEL 6 i686 In-Reply-To: <4E85D524.3030006@redhat.com> References: <4E85D524.3030006@redhat.com> Message-ID: <1317394393.3412.37.camel@springer.wildebeest.org> On Fri, 2011-09-30 at 16:41 +0200, Pavel Tisnovsky wrote: > There's a reproducible error during building IcedTea7 HEAD on RHEL 6 i686. > > Config log & build log are stored in attachments. > > Configuration flags: > --with-parallel-jobs=1 > --disable-system-lcms > --disable-bootstrap > > Any ideas? No clue yet, but if it is any help, that is the same failure that the autobuilder on Debian squeeze x86_64 is seeing: http://builder.classpath.org/icedtea/buildbot/builders/icedtea7-squeeze-x86_64-quick/builds/63/steps/compile/logs/stdio Cheers, Mark From andrew at icedtea.classpath.org Fri Sep 30 08:32:29 2011 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 30 Sep 2011 15:32:29 +0000 Subject: /hg/icedtea7: Check for GIO >= 2.26 for GSettings. Message-ID: changeset fbad82bc6985 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=fbad82bc6985 author: Andrew John Hughes date: Fri Sep 30 16:32:13 2011 +0100 Check for GIO >= 2.26 for GSettings. 2011-09-30 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_GIO): Require 2.26 and above for GSettings. diffstat: ChangeLog | 6 ++++++ acinclude.m4 | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diffs (29 lines): diff -r 15866ac3f41b -r fbad82bc6985 ChangeLog --- a/ChangeLog Fri Sep 30 05:42:54 2011 +0100 +++ b/ChangeLog Fri Sep 30 16:32:13 2011 +0100 @@ -1,3 +1,9 @@ +2011-09-30 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_GIO): Require 2.26 and + above for GSettings. + 2011-09-30 Andrew John Hughes Bump changesets to bring in fix which diff -r 15866ac3f41b -r fbad82bc6985 acinclude.m4 --- a/acinclude.m4 Fri Sep 30 05:42:54 2011 +0100 +++ b/acinclude.m4 Fri Sep 30 16:32:13 2011 +0100 @@ -2037,10 +2037,10 @@ AC_MSG_RESULT(${ENABLE_SYSTEM_GIO}) if test x"${ENABLE_SYSTEM_GIO}" = "xyes"; then dnl Check for Gio+ headers and libraries. - PKG_CHECK_MODULES(GIO, gio-2.0,[GIO_FOUND=yes],[GIO_FOUND=no]) + PKG_CHECK_MODULES(GIO, gio-2.0 >= 2.26,[GIO_FOUND=yes],[GIO_FOUND=no]) if test "x${GIO_FOUND}" = xno then - AC_MSG_ERROR([Could not find GIO; install GIO or build with --disable-system-gio to use the in-tree headers.]) + AC_MSG_ERROR([Could not find GIO >= 2.26; install GIO or build with --disable-system-gio to use the in-tree headers.]) fi AC_SUBST(GIO_CFLAGS) AC_SUBST(GIO_LIBS) From ahughes at redhat.com Fri Sep 30 08:46:46 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Fri, 30 Sep 2011 16:46:46 +0100 Subject: [PATCH REVIEW] IcedTea7 2.0 Backports Message-ID: <20110930154644.GR10619@rivendell.middle-earth.co.uk> A couple of issues have come up with building IcedTea7 using itself (full bootstrap) and not requiring a new enough version of Glib for --enable-system-gio. The fixes are: For building with IcedTea7: http://icedtea.classpath.org/hg/icedtea7/rev/f75092cac189 Only build bootstrap classes with source/target 1.6 if the VM doesn't support 1.7 bytecode. 2011-09-30 Andrew John Hughes * Makefile.am: (ICEDTEA_BOOT_PATCHES): Only apply use_target_6_for_bootstrap_classes if 1.7 bytecode is not supported by the VM. Fixes bootstrap with IcedTea7. * acinclude.m4: (IT_BYTECODE7_CHECK): Check if the VM supports 1.7 bytecode. * configure.ac: Call IT_BYTECODE7_CHECK. http://icedtea.classpath.org/hg/icedtea7/rev/15866ac3f41b Turn off forced -Werror when building com.sun.java.pack 2011-09-30 Andrew John Hughes Bump changesets to bring in fix which turns off forced -Werror. * Makefile.am: (CORBA_CHANGESET): Updated. (HOTSPOT_CHANGESET): Likewise. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (HOTSPOT_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. This also requires bringing http://icedtea.classpath.org/hg/icedtea7-forest/jdk/rev/d9fca71ba183 into the 2.0 forest: --- a/make/com/sun/java/pack/Makefile Wed Sep 28 23:13:29 2011 +0100 +++ b/make/com/sun/java/pack/Makefile Fri Sep 30 05:30:03 2011 +0100 @@ -33,7 +33,6 @@ PRODUCT = sun PGRM = unpack200 JAVAC_MAX_WARNINGS=true -JAVAC_WARNINGS_FATAL=true include $(BUILDDIR)/common/Defs.gmk CPLUSPLUSLIBRARY=true And finally the issue caught by Pavel and Mark today, requiring GIO/Glib 2.26 for GSettings: http://icedtea.classpath.org/hg/icedtea7/rev/fbad82bc6985 Check for GIO >= 2.26 for GSettings. 2011-09-30 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_GIO): Require 2.26 and above for GSettings. Are these ok for 2.0? Patches attached. Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 -------------- next part -------------- # HG changeset patch # User Andrew John Hughes # Date 1317352052 -3600 # Node ID f75092cac18973ae8c71794bcdd8d0fd71804f4c # Parent 05ed8db6b216d399953dd051f4ff3a9c017ae9f0 Only build bootstrap classes with source/target 1.6 if the VM doesn't support 1.7 bytecode. 2011-09-30 Andrew John Hughes * Makefile.am: (ICEDTEA_BOOT_PATCHES): Only apply use_target_6_for_bootstrap_classes if 1.7 bytecode is not supported by the VM. Fixes bootstrap with IcedTea7. * acinclude.m4: (IT_BYTECODE7_CHECK): Check if the VM supports 1.7 bytecode. * configure.ac: Call IT_BYTECODE7_CHECK. diff -r 05ed8db6b216 -r f75092cac189 ChangeLog --- a/ChangeLog Wed Sep 28 23:07:52 2011 +0100 +++ b/ChangeLog Fri Sep 30 04:07:32 2011 +0100 @@ -1,3 +1,15 @@ +2011-09-30 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_BOOT_PATCHES): Only apply + use_target_6_for_bootstrap_classes if 1.7 + bytecode is not supported by the VM. Fixes + bootstrap with IcedTea7. + * acinclude.m4: + (IT_BYTECODE7_CHECK): Check if the VM supports + 1.7 bytecode. + * configure.ac: Call IT_BYTECODE7_CHECK. + 2011-09-27 Andrew John Hughes * Makefile.am: diff -r 05ed8db6b216 -r f75092cac189 Makefile.am --- a/Makefile.am Wed Sep 28 23:07:52 2011 +0100 +++ b/Makefile.am Fri Sep 30 04:07:32 2011 +0100 @@ -318,8 +318,7 @@ patches/boot/ecj-multicatch.patch \ patches/boot/ecj-trywithresources.patch \ patches/boot/ecj-autoboxing.patch \ - patches/boot/xsltproc.patch \ - patches/boot/use_target_6_for_bootstrap_classes.patch + patches/boot/xsltproc.patch if CP39408_JAVAH ICEDTEA_BOOT_PATCHES += patches/boot/pr39408.patch @@ -364,6 +363,10 @@ ICEDTEA_BOOT_PATCHES += patches/boot/jaxws-getdtdtype.patch endif +if NO_BYTECODE7 +ICEDTEA_BOOT_PATCHES += patches/boot/use_target_6_for_bootstrap_classes.patch +endif + ICEDTEA_BOOT_PATCHES += $(DISTRIBUTION_BOOT_PATCHES) # OpenJDK build environment. diff -r 05ed8db6b216 -r f75092cac189 acinclude.m4 --- a/acinclude.m4 Wed Sep 28 23:07:52 2011 +0100 +++ b/acinclude.m4 Fri Sep 30 04:07:32 2011 +0100 @@ -2146,3 +2146,35 @@ AC_MSG_RESULT(${ALT_JAMVM_SRC_ZIP}) AC_SUBST(ALT_JAMVM_SRC_ZIP) ]) + +AC_DEFUN([IT_BYTECODE7_CHECK],[ +AC_CACHE_CHECK([if the VM lacks support for 1.7 bytecode], it_cv_bytecode7, [ +CLASS=Test.java +BYTECODE=$(echo $CLASS|sed 's#\.java##') +mkdir tmp.$$ +cd tmp.$$ +cat << \EOF > $CLASS +[/* [#]line __oline__ "configure" */ +public class Test +{ + public static void main(String[] args) + { + } +}] +EOF +if $JAVAC -cp . $JAVACFLAGS -source 7 -target 7 $CLASS >&AS_MESSAGE_LOG_FD 2>&1 ; then + if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1 ; then + it_cv_bytecode7=no; + else + it_cv_bytecode7=yes; + fi +else + it_cv_bytecode7=yes; +fi +]) +rm -f $CLASS *.class +cd .. +rmdir tmp.$$ +AM_CONDITIONAL([NO_BYTECODE7], test x"${it_cv_bytecode7}" = "xyes") +AC_PROVIDE([$0])dnl +]) diff -r 05ed8db6b216 -r f75092cac189 configure.ac --- a/configure.ac Wed Sep 28 23:07:52 2011 +0100 +++ b/configure.ac Fri Sep 30 04:07:32 2011 +0100 @@ -118,6 +118,7 @@ IT_CHECK_FOR_CLASS([SUN_AWT_TOOLKIT], [sun.awt.SunToolkit]) IT_CHECK_ENABLE_WARNINGS IT_DIAMOND_CHECK +IT_BYTECODE7_CHECK IT_FIND_RHINO_JAR IT_WITH_OPENJDK_SRC_ZIP -------------- next part -------------- # HG changeset patch # User Andrew John Hughes # Date 1317357774 -3600 # Node ID 15866ac3f41bc8528c19a4c14190cbca9fbef1d3 # Parent 875cada723d75edfc9b26973ac71a7317d39ee49 Turn off forced -Werror when building com.sun.java.pack 2011-09-30 Andrew John Hughes Bump changesets to bring in fix which turns off forced -Werror. * Makefile.am: (CORBA_CHANGESET): Updated. (HOTSPOT_CHANGESET): Likewise. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (HOTSPOT_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. diff -r 875cada723d7 -r 15866ac3f41b ChangeLog --- a/ChangeLog Fri Sep 30 04:33:46 2011 +0100 +++ b/ChangeLog Fri Sep 30 05:42:54 2011 +0100 @@ -1,3 +1,23 @@ +2011-09-30 Andrew John Hughes + + Bump changesets to bring in fix which + turns off forced -Werror. + * Makefile.am: + (CORBA_CHANGESET): Updated. + (HOTSPOT_CHANGESET): Likewise. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (HOTSPOT_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + 2011-09-30 Andrew John Hughes * Makefile.am: diff -r 875cada723d7 -r 15866ac3f41b Makefile.am --- a/Makefile.am Fri Sep 30 04:33:46 2011 +0100 +++ b/Makefile.am Fri Sep 30 05:42:54 2011 +0100 @@ -2,21 +2,21 @@ OPENJDK_VERSION = b147 -CORBA_CHANGESET = d034cc90ecc2 -HOTSPOT_CHANGESET = 7693eb0fce1f -JAXP_CHANGESET = b8d01501956a -JAXWS_CHANGESET = e6cd09c7ef22 -JDK_CHANGESET = 7ec1845521ed -LANGTOOLS_CHANGESET = fb7fb3071b64 -OPENJDK_CHANGESET = 3defd24c2671 +CORBA_CHANGESET = 953de8c7bccb +HOTSPOT_CHANGESET = b28ae681bae0 +JAXP_CHANGESET = 948e734135ea +JAXWS_CHANGESET = 5d3734549424 +JDK_CHANGESET = d9fca71ba183 +LANGTOOLS_CHANGESET = 9b85f1265346 +OPENJDK_CHANGESET = 0a76e5390e68 -CORBA_SHA256SUM = 06e7778aa1670f064e2c9fef7bdedc66fc679262ab8ee7aee018329e1ec787a8 -HOTSPOT_SHA256SUM = 6b2c9b21918183a383ab380c57f70d4be6199df0e2127bb762a20b6eca39e3a2 -JAXP_SHA256SUM = 4e9c1a2f240cee406d56832e2e7be254a87b511ee781463a95da4f000c188181 -JAXWS_SHA256SUM = 3d13408b4a81111fd88fce043ca2c96c4d31da9aa812a8d608b56248ecac4aca -JDK_SHA256SUM = 843e7ccd4c2bad5c96aaa983e34f1eb27510229f138115fa0951e05358c50b2b -LANGTOOLS_SHA256SUM = 9ddc00ec50fd2f5e331dc2bc10da4e23b69bf644eb92d50b39a2003c18fb5aa1 -OPENJDK_SHA256SUM = 4043a75c2c4385dd735f8dbbf2369311ce1b951217c9dbe9bba9609e24eb291e +CORBA_SHA256SUM = 303d862f722d34ede330e9afdb0f2c9d61e02134beb4d562957e9574a91f8cca +HOTSPOT_SHA256SUM = dcb5a8d4a0a466e3673f891cea40ce163c02f26b0054dfc41c30e0f87c5c2f64 +JAXP_SHA256SUM = 66948dee25e0224b12587ba150b21dab2e21b260a853bd1272e07c8d08d2e586 +JAXWS_SHA256SUM = 6aace2cc9f1a98a3822733ad568cc070ec178ff3618c05229c68072af3ed4765 +JDK_SHA256SUM = d8e9bb264f2a31424764466273f10c05d4247328ab4c08a0f4b8123993d78e65 +LANGTOOLS_SHA256SUM = 03a256afc7371b3b0fbbbfd80a318e22984f6cbff26082948e8d5845ba193aee +OPENJDK_SHA256SUM = aa3b3cf17081cde2a4014e5dffec75f5b5402ad48f7f9943c32a2fa4544a8746 CACAO_VERSION = 4549072ab2de CACAO_SHA256SUM = ec097ce96f047abbaeab4faab752c121d29f08bdeae358038a0b7cde03361d07 -------------- next part -------------- # HG changeset patch # User Andrew John Hughes # Date 1317396733 -3600 # Node ID fbad82bc69858ec8230953d41bc86f4012e5ab7a # Parent 15866ac3f41bc8528c19a4c14190cbca9fbef1d3 Check for GIO >= 2.26 for GSettings. 2011-09-30 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_GIO): Require 2.26 and above for GSettings. diff -r 15866ac3f41b -r fbad82bc6985 ChangeLog --- a/ChangeLog Fri Sep 30 05:42:54 2011 +0100 +++ b/ChangeLog Fri Sep 30 16:32:13 2011 +0100 @@ -1,3 +1,9 @@ +2011-09-30 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_GIO): Require 2.26 and + above for GSettings. + 2011-09-30 Andrew John Hughes Bump changesets to bring in fix which diff -r 15866ac3f41b -r fbad82bc6985 acinclude.m4 --- a/acinclude.m4 Fri Sep 30 05:42:54 2011 +0100 +++ b/acinclude.m4 Fri Sep 30 16:32:13 2011 +0100 @@ -2037,10 +2037,10 @@ AC_MSG_RESULT(${ENABLE_SYSTEM_GIO}) if test x"${ENABLE_SYSTEM_GIO}" = "xyes"; then dnl Check for Gio+ headers and libraries. - PKG_CHECK_MODULES(GIO, gio-2.0,[GIO_FOUND=yes],[GIO_FOUND=no]) + PKG_CHECK_MODULES(GIO, gio-2.0 >= 2.26,[GIO_FOUND=yes],[GIO_FOUND=no]) if test "x${GIO_FOUND}" = xno then - AC_MSG_ERROR([Could not find GIO; install GIO or build with --disable-system-gio to use the in-tree headers.]) + AC_MSG_ERROR([Could not find GIO >= 2.26; install GIO or build with --disable-system-gio to use the in-tree headers.]) fi AC_SUBST(GIO_CFLAGS) AC_SUBST(GIO_LIBS) From ptisnovs at redhat.com Fri Sep 30 09:04:32 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 30 Sep 2011 18:04:32 +0200 Subject: [PATCH REVIEW] IcedTea7 2.0 Backports In-Reply-To: <20110930154644.GR10619@rivendell.middle-earth.co.uk> References: <20110930154644.GR10619@rivendell.middle-earth.co.uk> Message-ID: <4E85E890.4040209@redhat.com> Hi Andrew, these patches look ok. Thank you. Cheers, Pavel Dr Andrew John Hughes wrote: > A couple of issues have come up with building IcedTea7 using itself (full > bootstrap) and not requiring a new enough version of Glib for --enable-system-gio. > > The fixes are: > > For building with IcedTea7: > > http://icedtea.classpath.org/hg/icedtea7/rev/f75092cac189 > Only build bootstrap classes with source/target 1.6 if the VM doesn't support 1.7 bytecode. > > 2011-09-30 Andrew John Hughes > > * Makefile.am: > (ICEDTEA_BOOT_PATCHES): Only apply > use_target_6_for_bootstrap_classes if 1.7 > bytecode is not supported by the VM. Fixes > bootstrap with IcedTea7. > * acinclude.m4: > (IT_BYTECODE7_CHECK): Check if the VM supports > 1.7 bytecode. > * configure.ac: Call IT_BYTECODE7_CHECK. > > http://icedtea.classpath.org/hg/icedtea7/rev/15866ac3f41b > Turn off forced -Werror when building com.sun.java.pack > > 2011-09-30 Andrew John Hughes > > Bump changesets to bring in fix which > turns off forced -Werror. > * Makefile.am: > (CORBA_CHANGESET): Updated. > (HOTSPOT_CHANGESET): Likewise. > (JAXP_CHANGESET): Likewise. > (JAXWS_CHANGESET): Likewise. > (JDK_CHANGESET): Likewise. > (LANGTOOLS_CHANGESET): Likewise. > (OPENJDK_CHANGESET): Likewise. > (CORBA_SHA256SUM): Likewise. > (HOTSPOT_SHA256SUM): Likewise. > (JAXP_SHA256SUM): Likewise. > (JAXWS_SHA256SUM): Likewise. > (JDK_SHA256SUM): Likewise. > (LANGTOOLS_SHA256SUM): Likewise. > (OPENJDK_SHA256SUM): Likewise. > > This also requires bringing http://icedtea.classpath.org/hg/icedtea7-forest/jdk/rev/d9fca71ba183 > into the 2.0 forest: > > --- a/make/com/sun/java/pack/Makefile Wed Sep 28 23:13:29 2011 +0100 > +++ b/make/com/sun/java/pack/Makefile Fri Sep 30 05:30:03 2011 +0100 > @@ -33,7 +33,6 @@ > PRODUCT = sun > PGRM = unpack200 > JAVAC_MAX_WARNINGS=true > -JAVAC_WARNINGS_FATAL=true > include $(BUILDDIR)/common/Defs.gmk > > CPLUSPLUSLIBRARY=true > > And finally the issue caught by Pavel and Mark today, requiring GIO/Glib 2.26 for GSettings: > > http://icedtea.classpath.org/hg/icedtea7/rev/fbad82bc6985 > Check for GIO >= 2.26 for GSettings. > > 2011-09-30 Andrew John Hughes > > * acinclude.m4: > (IT_CHECK_FOR_GIO): Require 2.26 and > above for GSettings. > > Are these ok for 2.0? > > Patches attached. > > Thanks, > From doko at ubuntu.com Fri Sep 30 10:31:42 2011 From: doko at ubuntu.com (Matthias Klose) Date: Fri, 30 Sep 2011 19:31:42 +0200 Subject: IcedTea7 2.0 Branched for Release In-Reply-To: <20110929220406.GO10619@rivendell.middle-earth.co.uk> References: <20110928225817.GE10619@rivendell.middle-earth.co.uk> <4E845EEF.2030606@ubuntu.com> <20110929220406.GO10619@rivendell.middle-earth.co.uk> Message-ID: <4E85FCFE.2080406@ubuntu.com> On 09/30/2011 12:04 AM, Dr Andrew John Hughes wrote: > On 14:05 Thu 29 Sep , Matthias Klose wrote: >> On 09/29/2011 12:58 AM, Dr Andrew John Hughes wrote: >>> IcedTea7 2.0 has now branched for release. I plan to do the release >>> on Monday evening here in the UK, pending major issues. >> >> I disagree. If this release is needed for some deadline, then call it a >> pre-release. > > The pre-release is already available. This release is already long > overdue and I want the first feature release out of the way prior to > the upcoming security update: > > http://www.oracle.com/technetwork/topics/security/alerts-086861.html > > There's also 7u2 coming soon and I don't really want to have restart testing > again due to importing all those changes. The current tree has seen a lot > of testing, both by me and via the builds in Fedora. > > I'm prepared to go to Wednesday to give it a full week, but my > impression is that all bugs have been fixed at this stage. Certainly, > there are no longer any dependent bugs on > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=712 and that > has been available since the 11th of May. > >> There are still long outstanding issues. > > Not that I'm aware of. > >> >> - You did hijack release-management from existing release >> maintainers, did change commit and release policies on >> your own, and disallow others in editing these policies. >> The request to change this behaviour is now ignored for >> months [1]. >> > > Frankly, that's a lie because there are several replies in that thread, > and contributions to the policy documents from other *active* developers. Speaking about "lies"? No, the issue that you do changes on your own as Andrew Haley did mention in this thread. No, you didn't address this. > Even back then, this was just a statement of the existing working model -- > as you would know if you were actually involved in this project. This is wrong. Up to at least IcedTea6-1.9 we had a so called release manager; changes on the branches did need the approval of the release manager for this branch. You did change this model on your own, people did ask you to get approval for this model first, which you do ignore until today, and you do reserve the right to be the only person in the project to change this model. > I presume by 'hijack[ing] release-management', you mean actually doing > the release work when such maintainers fail to do anything? Has there been anything wrong with any release branches? What do you complain about? It was *your* own offer to prepare the security updates for the IcedTea6-1.8.x branch. Thanks for that. No thanks for using this as a pretext to accuse somebody else of inactivity. No thanks for pedantically defining activity by ChangeLog entries, which do not see changes when backporting to the branches, or testing pre-releases. > A situation > which would otherwise leave release branches with open security vulnerabilities? Again, when did that happen? Afaict IcedTea did release security fixes in a timely manner, even with incomplete fixes provided by upstream, or provided on a short notice. If you do not want to do these anymore tell the release manager of these branches, and don't announce the retirement of a branch on behalf of the IcedTea project. > As far as I can tell, your objection is to us actually *reviewing* release branch > patches (the only change I'm aware of), which means you can't just shove whatever > patches in you want in a rush because you failed to plan sufficient time for review. The release manager of the IcedTea6-1.6 branch did shove in tremendous backports into the branch which did break nearly all zero builds. If you can't test these, don't backport these for convenience. The changes for the IcedTea6-1.8 branch were discussed in bug reports and on irc and committed to the IcedTea6-1.8 branch. This conforms to the release policy for the IcedTea6-1.8 branch, not on the policies which you are setting for yourself. >> - The movement to the "forest" development model doesn't >> help many people, only a few. > > This is the first complaint I've heard and the forest has been > in use for over two years: > > 2009-05-07 Andrew John Hughes > > * Makefile.am: > Support downloading and extracting from > the forest repositories rather than one megatarball. > >> It's not communicated, >> only a few more equal IcedTea developers have commit >> rights, > > Everyone who has commit rights to the IcedTea trees can write to the forest. > >> the regression testers use the icedtea7 branch, > > What is the issue with this??? changes get only testing when these appear on the icedtea7 branch. So with a broken zero import, I often hear "fix it in the forest", and the icedtea7 branch remains broken until the next import. And during this period you won't get any results from the regression testers. >> Throwing over changes from the forest is not communicated, > > I don't know what you're referring to by this. > >> and it does break alternate VMs on a more or less regular basis. > > If you're interested in maintaining a non-standard build option like > Zero, Shark, CACAO and JamVM, you need to do actual work on it. Xerxes > has done some excellent work in adding JamVM and keeping it up to date. > You can't expect other developers to maintain code they have no use for > on your behalf. If you are not interested in Zero, Shark, CACAO and JamVM, please get your changes to the build system approved/reviewed by somebody else. Not only on release branches, even on the trunks. >> - As communicated before, releases should be announced at >> least a working week before the release, better two. Letting >> people to have 1-2 work days before a release with the last >> dump from the forest only two ore three days past is ridiculous >> (and then having the release day on a bank holiday). > > I wasn't aware Monday was a bank holiday; it's not in the UK and I don't have > the dates of every bank holiday in the world in my head. > > Maybe Monday was a little eager, but this has been dragging on for a > long time and there's an impending security release. Oracle released > 7 at the end of July and there's demand from a number of quarters for > us to provide it as well. Both Fedora and Gentoo are waiting on a new > release, for instance. I assume you did know this at least a few days before writing your email. Or even before the last dump from the forest? This could have been communicated earlier. >> If >> you do have a deadline, cut a pre-release. The time is >> too short to even run tests on some architectures, or >> even better to give time to address these. > > This is a note to start *final release testing*, not to start testing period. > If you want to ship IcedTea7, you should have started testing it longer before > we reach this juncture. It has been around for three years. You know that at least since the first OpenJDK7 release. Please send this earlier so that people can plan for it. Your cleanup in the last dump did at least break one build according to https://buildd.debian.org/status/package.php?p=openjdk-7 http://buildd.debian-ports.org/status/package.php?p=openjdk-7 Damien told me that he'll address these issues this time. Such changes should not be made that short before a release. Implying that I only did start testing last week is just one more rant. >> To go forward, I propose to set the release date to Mon, Oct 17 (or Tue, Oct 18 >> if this is a bank holiday in the UK/US). This also gives time to address the >> issues about commit and release policies. > > The release date will be Wednesday, October the 5th. Suggesting the > week of the 18th just shows you're not only inactive in IcedTea > development, but also unaware of the security release process: > > http://www.oracle.com/technetwork/topics/security/alerts-086861.html > > There's not going to be any time in the early months of October, due > to preparing these security updates, and delaying to November means > that what we have now, which has been fairly well-tested, because more > and more outdated. Well, wondering how many developers within IcedTea were aware of this. > You haven't raised any actual *technical* issues above as far as I can > see, and I don't see any reason to delay this release by such a long > period. I did. Not being able to complete test builds, needed fixes and another round of builds. I am not sure what the release criteria is for Gentoo or Fedora, but the current state of OpenJDK7 in Debian now raises one release critical issue. >> The project is still called IcedTea, >> not AndrewsTea. > > It is. It's also not called MatthiasTea. If I have a significant > voice in what goes on, it's because it's *me* who actually does a lot > of the work to make these things happen, from backporting patches, > fixing bugs and build issues to actually rolling out the releases > (around 30 I think in the last year). Thanks for doing this. However you have to learn to work with people who do not spend full time working on IcedTea, and that people are interested in other areas which are not your primary focus. > In contrast, you haven't even > bothered to submit a single change to IcedTea7 since May. Do you know why? In May somebody did confuse that a big share of work in IcedTea implies setting policies on his own. > You just > turn up about every six months, complain and then disappear again > without actually contributing anything. This wasn't always the case, > and I would prefer to go back to a time when you were a welcome > presence in this project, rather than a troll. thanks for the flowers, sending them back. Yes, it's your attitude towards the project, how to set policies, how to communicate, how to make announcements on behalf of the project. > There's not only me working on IcedTea. Pavel has done some excellent > work finding backports and getting them into IcedTea6, as well as > fixing tests. I've had pretty much nothing to do with IcedTea-Web > since the initial release; Deepak, Omair, Jiri and various others have > done an excellent job of maintaining this. They've also implemented a > review policy for every patch (unlike IcedTea6+7 HEAD which don't > require review) and have found it works better for them, leading to > higher quality code. If they're not vocal on the list, it's because > they're actually hard at work actually contributing to this project, > rather than just complaining, and don't want to get embroiled in > ridiculous arguments like this. right, and everybody not mentioned here is just lazy. I am not aware that any guy mentioned here did try to set policies on his own, and indeed the IcedTea-Web project seems to work well. Why shouldn't this work for IcedTea6+7 as well? Matthias From doko at ubuntu.com Fri Sep 30 10:37:26 2011 From: doko at ubuntu.com (Matthias Klose) Date: Fri, 30 Sep 2011 19:37:26 +0200 Subject: IcedTea7 2.0 Branched for Release In-Reply-To: <1317377296.3412.20.camel@springer.wildebeest.org> References: <20110928225817.GE10619@rivendell.middle-earth.co.uk> <4E845EEF.2030606@ubuntu.com> <20110929220406.GO10619@rivendell.middle-earth.co.uk> <1317377296.3412.20.camel@springer.wildebeest.org> Message-ID: <4E85FE56.5010401@ubuntu.com> Mark, would you be able to start and moderate these threads? Matthias On 09/30/2011 12:08 PM, Mark Wielaard wrote: > Heay, > > This discussions seems a little overheated. > You might want to split it up a bit. > > Clearly picking a data for a release should be properly discussed. There > were more considerations than just "Monday seems a nice day for it". I > like the explanation of taking a security update data and the 7u2 > integration date into account. Would have been nice to have that in the > original suggestion send out (and no, I don't think it is strange not > everybody knows about those dates, please always err on the side of > people having overlooked such details and just provide them again). In > the future it would certainly be nice to give more people a bit more > time to prepare, even though someone has to do it, please give long > enough advance warning when, so everybody can plan towards a date. Even > though clearly in the end someone just has to do it, and clearly Andrew > does most of the work, please respect that. But please also do give > others who might have less dedicated time a bit more heads up. > > Clearly there are some other (technical and procedural) issues, but lets > try not to mix them all together in one and the same thread. I get the > impression that if the subject had just been the date of the release > there would quickly have been agreement. But mixing it with some other > lingering issues was not a smart thing. > > It certainly might be good to have a discussion about the use of > forests, having autobuilders test different/more things, what > commit/review/release policies are and what breakage is (un)acceptable > in the various components (clearly the autobuilders can help a bit with > monitoring that if setup properly). Lets start separate threads for > that. > > Thanks, > > Mark