From owner-freebsd-java@FreeBSD.ORG Sat Jul 13 01:30:00 2013 Return-Path: Delivered-To: freebsd-java@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id ADACE474 for ; Sat, 13 Jul 2013 01:30:00 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 944011B38 for ; Sat, 13 Jul 2013 01:30:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r6D1U03Y059646 for ; Sat, 13 Jul 2013 01:30:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r6D1U0vk059645; Sat, 13 Jul 2013 01:30:00 GMT (envelope-from gnats) Resent-Date: Sat, 13 Jul 2013 01:30:00 GMT Resent-Message-Id: <201307130130.r6D1U0vk059645@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-java@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, DMK Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BD4C6262 for ; Sat, 13 Jul 2013 01:23:20 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from oldred.freebsd.org (oldred.freebsd.org [8.8.178.121]) by mx1.freebsd.org (Postfix) with ESMTP id ADDB51B12 for ; Sat, 13 Jul 2013 01:23:20 +0000 (UTC) Received: from oldred.freebsd.org ([127.0.1.6]) by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id r6D1NKWD026773 for ; Sat, 13 Jul 2013 01:23:20 GMT (envelope-from nobody@oldred.freebsd.org) Received: (from nobody@localhost) by oldred.freebsd.org (8.14.5/8.14.5/Submit) id r6D1NKO5026769; Sat, 13 Jul 2013 01:23:20 GMT (envelope-from nobody) Message-Id: <201307130123.r6D1NKO5026769@oldred.freebsd.org> Date: Sat, 13 Jul 2013 01:23:20 GMT From: DMK To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: java/180526: icedtea-web java plugin doesn't work with openjdk7.25 X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Jul 2013 01:30:00 -0000 >Number: 180526 >Category: java >Synopsis: icedtea-web java plugin doesn't work with openjdk7.25 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-java >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sat Jul 13 01:30:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: DMK >Release: 9.1-RELEASE >Organization: >Environment: FreeBSD chiron.lan 9.1-RELEASE FreeBSD 9.1-RELEASE #8: Sun Jan 20 18:27:16 EST 2013 root@chiron.lan:/usr/obj/usr/src/sys/CHIRON i386 >Description: As reported in http://blog.fuseyism.com/index.php/2013/06/19/imminent-icedtea-web-breakage/ the recent security update to openjdk broke the icedtea-web java plugin. The blog reports a new release of icedtea-web "soon" but details are scarce. >How-To-Repeat: Try any java applet in firefox when it has icedtea-web installed >Fix: The blog linked to a fix; I've take a few minutes to get the patches working with the icedtea-web port. I've tried it out, it seems to work perfectly. The file I've attached is a shar file. Patch attached with submission follows: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # patch-ChangeLog # patch-netx_net_sourceforge_jnlp_runtime_Boot.java # patch-netx_net_sourceforge_jnlp_runtime_JNLPRuntime.java # patch-plugin_icedteanp_java_sun_applet_PluginMain.java # echo x - patch-ChangeLog sed 's/^X//' >patch-ChangeLog << 'ab9e15ed5cc7bd48445f9a38c9a828cd' Xdiff -r fa6a80c73e0d -r 2469bedc6d63 ChangeLog X--- ChangeLog Tue Jun 18 15:57:01 2013 -0400 X+++ ChangeLog Thu Jun 20 15:20:57 2013 +0200 X@@ -1,3 +1,13 @@ X+2013-06-20 Jiri Vanek X+ X+ Made it work with OpenJDK build 25 X+ * netx/net/sourceforge/jnlp/runtime/Boot.java: (main) X+ Application context created as soon as possible X+ * plugin/icedteanp/java/sun/applet/PluginMain.java:(main) X+ Application context created as soon as possible X+ * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Do not consume X+ exception after setLookAndFeel. X+ ab9e15ed5cc7bd48445f9a38c9a828cd echo x - patch-netx_net_sourceforge_jnlp_runtime_Boot.java sed 's/^X//' >patch-netx_net_sourceforge_jnlp_runtime_Boot.java << 'c08d7203e2e5ef9942a8a0c2c8de19e6' Xdiff -r fa6a80c73e0d -r 2469bedc6d63 netx/net/sourceforge/jnlp/runtime/Boot.java X--- netx/net/sourceforge/jnlp/runtime/Boot.java.orig Tue Jun 18 15:57:01 2013 -0400 X+++ netx/net/sourceforge/jnlp/runtime/Boot.java Thu Jun 20 15:20:57 2013 +0200 X@@ -35,6 +35,8 @@ X import net.sourceforge.jnlp.cache.UpdatePolicy; X import net.sourceforge.jnlp.security.viewer.CertificateViewer; X import net.sourceforge.jnlp.services.ServiceUtil; X+import sun.awt.AppContext; X+import sun.awt.SunToolkit; X X /** X * This is the main entry point for the JNLP client. The main X@@ -113,6 +115,9 @@ X * Launch the JNLP file specified by the command-line arguments. X */ X public static void main(String[] argsIn) { X+ if (AppContext.getAppContext() == null) { X+ SunToolkit.createNewAppContext(); X+ } X args = argsIn; X X if (null != getOption("-viewer")) { c08d7203e2e5ef9942a8a0c2c8de19e6 echo x - patch-netx_net_sourceforge_jnlp_runtime_JNLPRuntime.java sed 's/^X//' >patch-netx_net_sourceforge_jnlp_runtime_JNLPRuntime.java << '4a3a7159e34dc7f2497833127f10af3b' Xdiff -r fa6a80c73e0d -r 2469bedc6d63 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java X--- netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java.orig Tue Jun 18 15:57:01 2013 -0400 X+++ netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Thu Jun 20 15:20:57 2013 +0200 X@@ -234,7 +234,7 @@ X try { X UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); X } catch (Exception e) { X- // ignore it X+ e.printStackTrace(); X } X X doMainAppContextHacks(); 4a3a7159e34dc7f2497833127f10af3b echo x - patch-plugin_icedteanp_java_sun_applet_PluginMain.java sed 's/^X//' >patch-plugin_icedteanp_java_sun_applet_PluginMain.java << '7679251cf8f8e34267a2332306322834' Xdiff -r fa6a80c73e0d -r 2469bedc6d63 plugin/icedteanp/java/sun/applet/PluginMain.java X--- plugin/icedteanp/java/sun/applet/PluginMain.java.orig Tue Jun 18 15:57:01 2013 -0400 X+++ plugin/icedteanp/java/sun/applet/PluginMain.java Thu Jun 20 15:20:57 2013 +0200 X@@ -72,6 +72,8 @@ X import java.net.ProxySelector; X import java.util.Enumeration; X import java.util.Properties; X+import sun.awt.AppContext; X+import sun.awt.SunToolkit; X X import net.sourceforge.jnlp.config.DeploymentConfiguration; X import net.sourceforge.jnlp.runtime.JNLPRuntime; X@@ -94,6 +96,9 @@ X */ X public static void main(String args[]) X throws IOException { X+ if (AppContext.getAppContext() == null) { X+ SunToolkit.createNewAppContext(); X+ } X if (args.length != 2 || !(new File(args[0]).exists()) || !(new File(args[1]).exists())) { X System.err.println("Invalid pipe names provided. Refusing to proceed."); X System.exit(1); X 7679251cf8f8e34267a2332306322834 exit >Release-Note: >Audit-Trail: >Unformatted: