changeset 1772:9c44278ad34b

Update patches to apply against b58. 2009-05-12 Andrew John Hughes <ahughes@redhat.com> * patches/icedtea-idl.patch, * patches/security/icedtea-6484091.patch, * patches/security/icedtea-6497740.patch, * patches/security/icedtea-6588160.patch, * patches/security/icedtea-6726779.patch, * patches/security/icedtea-6734167.patch, * patches/security/icedtea-6766136.patch: Removed, applied upstream in b51-b58. * HACKING: Updated. * Makefile.am: Remove obsolete patches, fix bad spacing on some variables. * patches/icedtea-libraries.patch, * patches/icedtea-rhino.patch, * patches/icedtea-security-updates.patch, * patches/icedtea-tests-jdk.patch, * patches/security/icedtea-6592792.patch, * patches/security/icedtea-6733959.patch, * patches/xrender/icedtea-001.patch: Recreated against b58.
author Andrew John Hughes <ahughes@redhat.com>
date Wed, 13 May 2009 01:31:07 +0100
parents 21921f352706
children a2d7e774507e
files ChangeLog HACKING Makefile.am patches/icedtea-idl.patch patches/icedtea-libraries.patch patches/icedtea-rhino.patch patches/icedtea-security-updates.patch patches/icedtea-tests-jdk.patch patches/security/icedtea-6484091.patch patches/security/icedtea-6497740.patch patches/security/icedtea-6588160.patch patches/security/icedtea-6592792.patch patches/security/icedtea-6726779.patch patches/security/icedtea-6733959.patch patches/security/icedtea-6734167.patch patches/security/icedtea-6766136.patch patches/xrender/icedtea-001.patch
diffstat 17 files changed, 248 insertions(+), 3021 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu May 07 16:58:42 2009 +0100
+++ b/ChangeLog	Wed May 13 01:31:07 2009 +0100
@@ -1,3 +1,25 @@
+2009-05-12  Andrew John Hughes  <ahughes@redhat.com>
+
+	* patches/icedtea-idl.patch,
+	* patches/security/icedtea-6484091.patch,
+	* patches/security/icedtea-6497740.patch,
+	* patches/security/icedtea-6588160.patch,
+	* patches/security/icedtea-6726779.patch,
+	* patches/security/icedtea-6734167.patch,
+	* patches/security/icedtea-6766136.patch:
+	Removed, applied upstream in b51-b58.
+	* HACKING: Updated.
+	* Makefile.am: Remove obsolete patches,
+	fix bad spacing on some variables.
+	* patches/icedtea-libraries.patch,
+	* patches/icedtea-rhino.patch,
+	* patches/icedtea-security-updates.patch,
+	* patches/icedtea-tests-jdk.patch,
+	* patches/security/icedtea-6592792.patch,
+	* patches/security/icedtea-6733959.patch,
+	* patches/xrender/icedtea-001.patch:
+	Recreated against b58.
+
 2009-05-07  Andrew John Hughes  <ahughes@redhat.com>
 
 	* Makefile.am:
--- a/HACKING	Thu May 07 16:58:42 2009 +0100
+++ b/HACKING	Wed May 13 01:31:07 2009 +0100
@@ -4,12 +4,6 @@
 PRx denotes bug x in the IcedTea bug database (http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=x)
 Sx denotes bug x in the Sun bug database (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=x)
 
-The following patches are applied early in the build to meet the Free Software guidelines and are also
-included in the tarball resulting from the dist-openjdk-fsg target:
-
-* icedtea-idl.patch: Fix IDL licenses (PR141/S6695776).
-* icedtea-jscheme.patch: Replace use of jscheme.jar with Java alternative (PR140/S6695776).
-
 The fsg.sh script is also run to delete certain files with dubious licensing and/or only occuring
 in binary format.
 
@@ -171,6 +165,12 @@
 Obsolete Patches
 ================
 
+The following patches were applied early in the build to meet the Free Software guidelines and are also
+included in the tarball resulting from the dist-openjdk-fsg target:
+
+* icedtea-idl.patch: Fix IDL licenses (PR141/S6565364).
+* icedtea-jscheme.patch: Replace use of jscheme.jar with Java alternative (PR140/S6695776).
+
 The following patches were previously applied, but have been made obsolete by
 changes to the OpenJDK code base and/or changes within IcedTea:
 
--- a/Makefile.am	Thu May 07 16:58:42 2009 +0100
+++ b/Makefile.am	Wed May 13 01:31:07 2009 +0100
@@ -1563,12 +1563,12 @@
 endif
 
 if WITH_ALT_HSBUILD
-  HS_MD5SUM = "`$(AWK) 'version==$$1 {print $$3}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" 
-  HS_CHANGESET = "`$(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" 
+  HS_MD5SUM = "`$(AWK) 'version==$$1 {print $$3}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`"
+  HS_CHANGESET = "`$(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`"
   HS_URL = $(OPENJDK_HOTSPOT_URL)
 else
-  HS_MD5SUM = $(HOTSPOT_MD5SUM) 
-  HS_CHANGESET = $(HOTSPOT_CHANGESET) 
+  HS_MD5SUM = $(HOTSPOT_MD5SUM)
+  HS_CHANGESET = $(HOTSPOT_CHANGESET)
   HS_URL = $(HOTSPOT_URL)
 endif
 
@@ -1688,7 +1688,6 @@
 endif
 endif
 endif
-endif
 	if ! echo "$(HS_MD5SUM)  $(HOTSPOT_SRC_ZIP)" \
 	  | $(MD5SUM) --check ; \
 	then \
@@ -1698,6 +1697,7 @@
 	  fi ; \
 	  $(WGET) $(HS_URL)/archive/$(HS_CHANGESET).tar.gz -O $(HOTSPOT_SRC_ZIP) ; \
 	fi
+endif
 if WITH_CACAO
 if !USE_SYSTEM_CACAO
 if USE_ALT_CACAO_SRC_ZIP
@@ -1839,8 +1839,7 @@
   SHARK_PATCH =
 endif
 
-ICEDTEA_FSG_PATCHES = \
-	patches/icedtea-idl.patch 
+ICEDTEA_FSG_PATCHES = 
 
 ICEDTEA_PATCHES = \
 	patches/icedtea-version.patch \
@@ -1912,15 +1911,9 @@
 	patches/icedtea-pr261.patch \
 	patches/icedtea-doc-headers.patch \
 	$(ZERO_PATCHES_COND) \
-        patches/security/icedtea-6484091.patch \
-        patches/security/icedtea-6497740.patch \
-        patches/security/icedtea-6588160.patch \
         patches/security/icedtea-6592792.patch \
-        patches/security/icedtea-6726779.patch \
         patches/security/icedtea-6733959.patch \
-        patches/security/icedtea-6734167.patch \
         patches/security/icedtea-6755943.patch \
-        patches/security/icedtea-6766136.patch \
 	patches/hotspot/$(HSBUILD)/icedtea-includedb.patch \
 	patches/icedtea-demo-swingapplet.patch \
 	patches/icedtea-jvmtiEnv.patch \
--- a/patches/icedtea-idl.patch	Thu May 07 16:58:42 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,505 +0,0 @@
---- openjdk.old/corba/src/share/classes/com/sun/tools/corba/se/idl/first.set	Wed Jun 25 10:48:45 2008
-+++ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl/first.set	Wed Jun 25 10:48:45 2008
-@@ -1,11 +1,35 @@
- /*
-+ * Copyright 1999 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.
-+ */
-+
-+/*
-  *    COMPONENT_NAME:  idl.parser
-- *                                                 
-+ *
-  *    ORIGINS: 27
-  *
-- *    THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM                        
-  *    5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
-- *                                        
-+ *
-  */
- 
- CORBA IDL
---- openjdk.old/corba/src/share/classes/com/sun/tools/corba/se/idl/follow.set	Wed Jun 25 10:48:46 2008
-+++ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl/follow.set	Wed Jun 25 10:48:46 2008
-@@ -1,11 +1,35 @@
- /*
-+ * Copyright 1999 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.
-+ */
-+
-+/*
-  *    COMPONENT_NAME:  idl.parser
-- *                                                 
-+ *
-  *    ORIGINS: 27
-  *
-- *    THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM                        
-  *    5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
-- *                                        
-+ *
-  */
- 
- CORBA IDL
---- openjdk.old/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl	Wed Jun 25 10:48:47 2008
-+++ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl	Wed Jun 25 10:48:47 2008
-@@ -1,14 +1,38 @@
- /*
-+ * Copyright 1999 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.
-+ */
-+
-+/*
-  *    COMPONENT_NAME:  idl.parser
-- *                                                 
-+ *
-  *    ORIGINS: 27
-  *
-- *    THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM                        
-  *    5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
-- *                                        
-+ *
-  */
- 
--CORBA 2.3 IDL 
-+CORBA 2.3 IDL
- ---------------
- 
- (1) <specification>	<definition><specification'>
-@@ -83,7 +107,7 @@
- 
- (16) <vad>		e
- 			<export> <vad>
--		
-+
- (17) <value_dcl>	<value_header> "{" <value_element> <ve> "}"
- 
- (17) <ve>		e
-@@ -91,9 +115,9 @@
- 
- (18) <value_header>	"custom" "valuetype" <id> <value_inheritance_spec>
- 			"valuetype" <id> <value_inheritance_spec>
--			"custom" "valuetype" <id> 
--			"valuetype" <id> 
--			
-+			"custom" "valuetype" <id>
-+			"valuetype" <id>
-+
- (19) <value_inheritance_spec>	<opt_inherits> <opt_supports>
- 
- (19) <opt_inherits>	e
-@@ -107,7 +131,7 @@
- 			"supports" <interface_name> <interface_name_list>
- 
- (19) <interface_name_list>  e
--			"," <interface_name> <interface_name_list> 
-+			"," <interface_name> <interface_name_list>
- 
- (20) <value_name>	<scoped_name>
- 
-@@ -121,7 +145,7 @@
- (23) <init_dcl>		"factory" <id> "(" ")"
- 			"factory" <id> "(" <init_param_dcls> ")"
- 
--(24) <init_param_dcls>	<init_param_decl> 
-+(24) <init_param_dcls>	<init_param_decl>
- 			<init_param_decl> "," <init_param_dcls>
- 
- (25) <init_param_dcl>	<init_param_attribute> <param_type_spec> <simple_declarator>
-@@ -349,7 +373,7 @@
- 
- (87) <op_dcl''>		e
- 			<context_expr>
--			<raises_expr> 
-+			<raises_expr>
- 			<raises_expr> <context_expr>
- 
- (88) <op_attribute>	"oneway"
-@@ -386,7 +410,7 @@
- 			<wide_string_type>
- 			<scoped_name>
- 
--(96) <fixed_pt_type>	"fixed" "<" <positive_int_const> "," <positive_int_const> ">" 
-+(96) <fixed_pt_type>	"fixed" "<" <positive_int_const> "," <positive_int_const> ">"
- 
- (97) <fixed_pt_const_type> "fixed"
- 
---- openjdk.old/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl	Wed Jun 25 10:48:47 2008
-+++ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl	Wed Jun 25 10:48:47 2008
-@@ -1,11 +1,35 @@
- /*
-+ * Copyright 1999 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.
-+ */
-+
-+/*
-  *    COMPONENT_NAME:  idl.parser
-- *                                                 
-+ *
-  *    ORIGINS: 27
-  *
-- *    THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM                        
-  *    5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
-- *                                        
-+ *
-  */
- 
- (1) <specification>	<imports> <definition> <specification'> // CORBA3
-@@ -98,7 +122,7 @@
- 
- (16) <vad>		e
- 			<export> <vad>
--		
-+
- (17) <value_dcl>	<value_header> "{" <value_element> <ve> "}"
- 
- (17) <ve>		e
-@@ -106,9 +130,9 @@
- 
- (18) <value_header>	"custom" "valuetype" <id> <value_inheritance_spec>
- 			"valuetype" <id> <value_inheritance_spec>
--			"custom" "valuetype" <id> 
--			"valuetype" <id> 
--			
-+			"custom" "valuetype" <id>
-+			"valuetype" <id>
-+
- (19) <value_inheritance_spec>	<opt_inherits> <opt_supports>
- 
- (19) <opt_inherits>	e
-@@ -122,7 +146,7 @@
- 			"supports" <interface_name> <interface_name_list>
- 
- (19) <interface_name_list>  e
--			"," <interface_name> <interface_name_list> 
-+			"," <interface_name> <interface_name_list>
- 
- (20) <value_name>	<scoped_name>
- 
-@@ -136,7 +160,7 @@
- (23) <init_dcl>		"factory" <id> "(" ")"
- 			"factory" <id> "(" <init_param_dcls> ")"
- 
--(24) <init_param_dcls>	<init_param_dcl> 
-+(24) <init_param_dcls>	<init_param_dcl>
- 			<init_param_dcl> "," <init_param_dcls>
- 
- (25) <init_param_dcl>	<init_param_attribute> <param_type_spec> <simple_declarator>
-@@ -351,7 +375,7 @@
- (85) <readonly_attr_spec>   <readonly_attr_header> <readonly_attr_declarator>	// CORBA3
- 
- (85) <readonly_attr_header> "readonly" "attribute" <param_type_spec>	// CORBA3
--			
-+
- (85) <readonly_attr_declarator> <simple_declarator> <get_excep_expr>	// CORBA3
- 			<simple_declarator> <sds>   // CORBA3
- 
-@@ -389,7 +413,7 @@
- 
- (87) <op_dcl''>		e
- 			<context_expr>
--			<raises_expr> 
-+			<raises_expr>
- 			<raises_expr> <context_expr>
- 
- (88) <op_attribute>	"oneway"
-@@ -426,7 +450,7 @@
- 			<wide_string_type>
- 			<scoped_name>
- 
--(96) <fixed_pt_type>	"fixed" "<" <positive_int_const> "," <positive_int_const> ">" 
-+(96) <fixed_pt_type>	"fixed" "<" <positive_int_const> "," <positive_int_const> ">"
- 
- (97) <fixed_pt_const_type> "fixed"
- 
-@@ -450,7 +474,7 @@
- 
- (204) <snames>		e
- 			"," <scoped_name> <snames>
--			
-+
- (205) <component_inheritance_spec> ":" <scoped_name>
- 
- (206) <component_body>	<component_export> <ces>
-@@ -458,8 +482,8 @@
- (206) <ces>		e
- 			<component_export> <ces>
- 
--(207) <component_export>    <provides_dcl> ";" 
--			<uses_dcl> ";" 
-+(207) <component_export>    <provides_dcl> ";"
-+			<uses_dcl> ";"
- 			<emits_dcl> ";"
- 			<publishes_dcl> ";"
- 			<consumes_dcl> ";"
---- openjdk.old/corba/src/share/classes/com/sun/tools/corba/se/idl/idl.prp	Wed Jun 25 10:48:48 2008
-+++ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl/idl.prp	Wed Jun 25 10:48:48 2008
-@@ -1,4 +1,29 @@
- #
-+# Copyright 1999-2004 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.
-+#
-+
-+#
- # COMPONENT_NAME:  idl.parser
- #
- # ORIGINS: 27
---- openjdk.old/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp	Wed Jun 25 10:48:49 2008
-+++ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp	Wed Jun 25 10:48:49 2008
-@@ -1,4 +1,29 @@
- #
-+# Copyright 1999-2005 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.
-+#
-+
-+#
- # COMPONENT_NAME:  idl.parser
- #
- # ORIGINS: 27
---- openjdk.old/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp	Wed Jun 25 10:48:50 2008
-+++ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp	Wed Jun 25 10:48:50 2008
-@@ -1,4 +1,29 @@
- #
-+# Copyright 2005 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.
-+#
-+
-+#
- # COMPONENT_NAME:  idl.parser
- #
- # ORIGINS: 27
---- openjdk.old/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp	Wed Jun 25 10:48:50 2008
-+++ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp	Wed Jun 25 10:48:50 2008
-@@ -1,4 +1,29 @@
- #
-+# Copyright 1999-2004 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.
-+#
-+
-+#
- # COMPONENT_NAME: idl.toJava
- #
- # ORIGINS: 27
---- openjdk.old/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp	Wed Jun 25 10:48:51 2008
-+++ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp	Wed Jun 25 10:48:51 2008
-@@ -1,4 +1,29 @@
- #
-+# Copyright 2001-2005 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.
-+#
-+
-+#
- # COMPONENT_NAME: idl.toJava
- #
- # ORIGINS: 27
---- openjdk.old/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp	Wed Jun 25 10:48:52 2008
-+++ openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp	Wed Jun 25 10:48:52 2008
-@@ -1,4 +1,29 @@
- #
-+# Copyright 2005 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.
-+#
-+
-+#
- # COMPONENT_NAME: idl.toJava
- #
- # ORIGINS: 27
--- a/patches/icedtea-libraries.patch	Thu May 07 16:58:42 2009 +0100
+++ b/patches/icedtea-libraries.patch	Wed May 13 01:31:07 2009 +0100
@@ -1,6 +1,6 @@
 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	2009-03-20 11:58:37.000000000 +0000
-+++ openjdk/jdk/make/com/sun/java/pack/Makefile	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/make/com/sun/java/pack/Makefile	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/com/sun/java/pack/Makefile	2009-05-11 18:53:01.000000000 +0100
 @@ -75,12 +75,10 @@
  	     $(ZIPOBJDIR)/infutil.$(OBJECT_SUFFIX) \
  	     $(ZIPOBJDIR)/inffast.$(OBJECT_SUFFIX)
@@ -32,8 +32,8 @@
  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	2009-03-20 11:58:37.000000000 +0000
-+++ openjdk/jdk/make/common/Program.gmk	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/make/common/Program.gmk	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/common/Program.gmk	2009-05-11 18:53:01.000000000 +0100
 @@ -85,7 +85,7 @@
  	endif
      endif
@@ -52,8 +52,8 @@
  # this may not be necessary...
  ifeq ($(PLATFORM), windows)
 diff -Nru openjdk.orig/jdk/make/java/jli/Makefile openjdk/jdk/make/java/jli/Makefile
---- openjdk.orig/jdk/make/java/jli/Makefile	2009-03-20 11:58:37.000000000 +0000
-+++ openjdk/jdk/make/java/jli/Makefile	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/make/java/jli/Makefile	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/java/jli/Makefile	2009-05-11 18:53:01.000000000 +0100
 @@ -44,8 +44,6 @@
  
  include $(BUILDDIR)/common/Defs.gmk
@@ -104,12 +104,12 @@
 -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	2009-03-20 11:58:37.000000000 +0000
-+++ openjdk/jdk/make/java/zip/FILES_c.gmk	2009-04-14 18:26:05.000000000 +0100
-@@ -30,15 +30,4 @@
+--- openjdk.orig/jdk/make/java/zip/FILES_c.gmk	2009-05-08 16:10:43.000000000 +0100
++++ openjdk/jdk/make/java/zip/FILES_c.gmk	2009-05-11 18:53:32.000000000 +0100
+@@ -29,15 +29,4 @@
+ 	Deflater.c \
  	Inflater.c \
  	ZipFile.c \
- 	ZipEntry.c \
 -	zadler32.c \
 -	zcrc32.c \
 -	deflate.c \
@@ -123,8 +123,8 @@
 -	inffast.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	2009-03-20 11:58:37.000000000 +0000
-+++ openjdk/jdk/make/java/zip/Makefile	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/make/java/zip/Makefile	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/java/zip/Makefile	2009-05-11 18:53:01.000000000 +0100
 @@ -30,8 +30,6 @@
  PRODUCT = sun
  include $(BUILDDIR)/common/Defs.gmk
@@ -153,8 +153,8 @@
 -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	2009-03-20 11:58:37.000000000 +0000
-+++ openjdk/jdk/make/sun/jpeg/FILES_c.gmk	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/make/sun/jpeg/FILES_c.gmk	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/sun/jpeg/FILES_c.gmk	2009-05-11 18:53:01.000000000 +0100
 @@ -25,51 +25,7 @@
  
  FILES_c = \
@@ -209,8 +209,8 @@
  ifndef OPENJDK
  FILES_c += \
 diff -Nru openjdk.orig/jdk/make/sun/jpeg/Makefile openjdk/jdk/make/sun/jpeg/Makefile
---- openjdk.orig/jdk/make/sun/jpeg/Makefile	2009-03-20 11:58:37.000000000 +0000
-+++ openjdk/jdk/make/sun/jpeg/Makefile	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/make/sun/jpeg/Makefile	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/sun/jpeg/Makefile	2009-05-11 18:53:01.000000000 +0100
 @@ -67,6 +67,8 @@
  include $(BUILDDIR)/common/Mapfile-vers.gmk
  include $(BUILDDIR)/common/Library.gmk
@@ -221,8 +221,8 @@
  # Add to ambient vpath to get files in a subdirectory
  #
 diff -Nru openjdk.orig/jdk/make/sun/splashscreen/FILES_c.gmk openjdk/jdk/make/sun/splashscreen/FILES_c.gmk
---- openjdk.orig/jdk/make/sun/splashscreen/FILES_c.gmk	2009-03-20 11:58:37.000000000 +0000
-+++ openjdk/jdk/make/sun/splashscreen/FILES_c.gmk	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/make/sun/splashscreen/FILES_c.gmk	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/sun/splashscreen/FILES_c.gmk	2009-05-11 18:53:01.000000000 +0100
 @@ -30,81 +30,5 @@
  	splashscreen_impl.c \
  	splashscreen_jpeg.c \
@@ -307,8 +307,8 @@
 +	splashscreen_sys.c 
  
 diff -Nru openjdk.orig/jdk/make/sun/splashscreen/Makefile openjdk/jdk/make/sun/splashscreen/Makefile
---- openjdk.orig/jdk/make/sun/splashscreen/Makefile	2009-03-20 11:58:37.000000000 +0000
-+++ openjdk/jdk/make/sun/splashscreen/Makefile	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/make/sun/splashscreen/Makefile	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/sun/splashscreen/Makefile	2009-05-11 18:53:01.000000000 +0100
 @@ -59,12 +59,12 @@
  # C Flags
  #
@@ -340,9 +340,9 @@
  # Shun the less than portable MMX assembly code in pnggccrd.c,
  # and use alternative implementations in C.
 diff -Nru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h
---- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2009-04-14 16:44:27.000000000 +0100
-+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2009-04-14 18:26:05.000000000 +0100
-@@ -87,11 +87,7 @@
+--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2009-05-08 16:10:58.000000000 +0100
++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2009-05-11 18:53:01.000000000 +0100
+@@ -89,11 +89,7 @@
  // bytes and byte arrays
  
  typedef unsigned int uint;
@@ -355,8 +355,8 @@
  typedef LONGLONG        jlong;
  typedef DWORDLONG       julong;
 diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Adler32.c openjdk/jdk/src/share/native/java/util/zip/Adler32.c
---- openjdk.orig/jdk/src/share/native/java/util/zip/Adler32.c	2009-03-20 11:58:43.000000000 +0000
-+++ openjdk/jdk/src/share/native/java/util/zip/Adler32.c	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/src/share/native/java/util/zip/Adler32.c	2009-03-30 17:23:07.000000000 +0100
++++ openjdk/jdk/src/share/native/java/util/zip/Adler32.c	2009-05-11 18:53:01.000000000 +0100
 @@ -29,7 +29,7 @@
  
  #include "jni.h"
@@ -367,8 +367,8 @@
  #include "java_util_zip_Adler32.h"
  
 diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/CRC32.c openjdk/jdk/src/share/native/java/util/zip/CRC32.c
---- openjdk.orig/jdk/src/share/native/java/util/zip/CRC32.c	2009-03-20 11:58:43.000000000 +0000
-+++ openjdk/jdk/src/share/native/java/util/zip/CRC32.c	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/src/share/native/java/util/zip/CRC32.c	2009-03-30 17:23:07.000000000 +0100
++++ openjdk/jdk/src/share/native/java/util/zip/CRC32.c	2009-05-11 18:53:01.000000000 +0100
 @@ -29,7 +29,7 @@
  
  #include "jni.h"
@@ -379,8 +379,8 @@
  #include "java_util_zip_CRC32.h"
  
 diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Deflater.c openjdk/jdk/src/share/native/java/util/zip/Deflater.c
---- openjdk.orig/jdk/src/share/native/java/util/zip/Deflater.c	2009-03-20 11:58:43.000000000 +0000
-+++ openjdk/jdk/src/share/native/java/util/zip/Deflater.c	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/src/share/native/java/util/zip/Deflater.c	2009-03-30 17:23:07.000000000 +0100
++++ openjdk/jdk/src/share/native/java/util/zip/Deflater.c	2009-05-11 18:53:01.000000000 +0100
 @@ -32,7 +32,7 @@
  #include "jlong.h"
  #include "jni.h"
@@ -391,8 +391,8 @@
  #include "java_util_zip_Deflater.h"
  
 diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Inflater.c openjdk/jdk/src/share/native/java/util/zip/Inflater.c
---- openjdk.orig/jdk/src/share/native/java/util/zip/Inflater.c	2009-03-20 11:58:43.000000000 +0000
-+++ openjdk/jdk/src/share/native/java/util/zip/Inflater.c	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/src/share/native/java/util/zip/Inflater.c	2009-03-30 17:23:07.000000000 +0100
++++ openjdk/jdk/src/share/native/java/util/zip/Inflater.c	2009-05-11 18:53:01.000000000 +0100
 @@ -35,7 +35,7 @@
  #include "jni.h"
  #include "jvm.h"
@@ -403,8 +403,8 @@
  
  #define ThrowDataFormatException(env, msg) \
 diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c openjdk/jdk/src/share/native/java/util/zip/zip_util.c
---- openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c	2009-04-14 15:55:52.000000000 +0100
-+++ openjdk/jdk/src/share/native/java/util/zip/zip_util.c	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c	2009-05-08 16:10:59.000000000 +0100
++++ openjdk/jdk/src/share/native/java/util/zip/zip_util.c	2009-05-11 18:53:01.000000000 +0100
 @@ -44,7 +44,8 @@
  #include "io_util.h"
  #include "io_util_md.h"
@@ -416,8 +416,8 @@
  /* USE_MMAP means mmap the CEN & ENDHDR part of the zip file. */
  #ifdef USE_MMAP
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2009-04-14 15:55:52.000000000 +0100
-+++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2009-04-14 16:51:17.000000000 +0100
++++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2009-05-11 18:53:01.000000000 +0100
 @@ -51,7 +51,9 @@
  
  /* headers from the JPEG library */
@@ -961,7 +961,7 @@
  
      if (scale != NULL) {
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcapimin.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcapimin.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcapimin.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcapimin.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcapimin.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,284 +0,0 @@
 -/*
@@ -1249,7 +1249,7 @@
 -   */
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcapistd.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcapistd.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcapistd.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcapistd.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcapistd.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,165 +0,0 @@
 -/*
@@ -1418,7 +1418,7 @@
 -  return lines_per_iMCU_row;
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jccoefct.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jccoefct.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jccoefct.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jccoefct.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jccoefct.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,453 +0,0 @@
 -/*
@@ -1875,7 +1875,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jccolor.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jccolor.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jccolor.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jccolor.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jccolor.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,462 +0,0 @@
 -/*
@@ -2341,7 +2341,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcdctmgr.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcdctmgr.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcdctmgr.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcdctmgr.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcdctmgr.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,391 +0,0 @@
 -/*
@@ -2736,7 +2736,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jchuff.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jchuff.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jchuff.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jchuff.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jchuff.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,913 +0,0 @@
 -/*
@@ -3653,7 +3653,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jchuff.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jchuff.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jchuff.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jchuff.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jchuff.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,51 +0,0 @@
 -/*
@@ -3708,7 +3708,7 @@
 -EXTERN(void) jpeg_gen_optimal_table
 -        JPP((j_compress_ptr cinfo, JHUFF_TBL * htbl, long freq[]));
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcinit.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcinit.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcinit.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcinit.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcinit.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,76 +0,0 @@
 -/*
@@ -3788,7 +3788,7 @@
 -  (*cinfo->marker->write_file_header) (cinfo);
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcmainct.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcmainct.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcmainct.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcmainct.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcmainct.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,297 +0,0 @@
 -/*
@@ -4089,7 +4089,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcmarker.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcmarker.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcmarker.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcmarker.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcmarker.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,682 +0,0 @@
 -/*
@@ -4775,7 +4775,7 @@
 -  marker->last_restart_interval = 0;
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcmaster.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcmaster.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcmaster.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcmaster.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcmaster.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,594 +0,0 @@
 -/*
@@ -5373,7 +5373,7 @@
 -    master->total_passes = cinfo->num_scans;
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcomapi.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcomapi.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcomapi.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcomapi.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcomapi.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,110 +0,0 @@
 -/*
@@ -5487,7 +5487,7 @@
 -  return tbl;
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jconfig.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jconfig.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jconfig.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jconfig.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jconfig.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,43 +0,0 @@
 -/* jconfig.cfg --- source file edited by configure script */
@@ -5534,7 +5534,7 @@
 -
 -#endif /* JPEG_CJPEG_DJPEG */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcparam.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcparam.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcparam.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcparam.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcparam.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,614 +0,0 @@
 -/*
@@ -6152,7 +6152,7 @@
 -
 -#endif /* C_PROGRESSIVE_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcphuff.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcphuff.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcphuff.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcphuff.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcphuff.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,837 +0,0 @@
 -/*
@@ -6993,7 +6993,7 @@
 -
 -#endif /* C_PROGRESSIVE_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcprepct.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcprepct.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcprepct.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcprepct.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcprepct.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,358 +0,0 @@
 -/*
@@ -7355,7 +7355,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcsample.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcsample.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcsample.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jcsample.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jcsample.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,523 +0,0 @@
 -/*
@@ -7882,7 +7882,7 @@
 -#endif
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jctrans.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jctrans.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jctrans.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jctrans.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jctrans.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,392 +0,0 @@
 -/*
@@ -8278,7 +8278,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdapimin.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdapimin.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdapimin.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdapimin.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdapimin.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,399 +0,0 @@
 -/*
@@ -8681,7 +8681,7 @@
 -  return TRUE;
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdapistd.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdapistd.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdapistd.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdapistd.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdapistd.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,279 +0,0 @@
 -/*
@@ -8964,7 +8964,7 @@
 -
 -#endif /* D_MULTISCAN_FILES_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdcoefct.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdcoefct.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdcoefct.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdcoefct.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdcoefct.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,740 +0,0 @@
 -/*
@@ -9708,7 +9708,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdcolor.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdcolor.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdcolor.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdcolor.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdcolor.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,398 +0,0 @@
 -/*
@@ -10110,7 +10110,7 @@
 -    cinfo->output_components = cinfo->out_color_components;
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdct.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdct.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdct.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdct.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdct.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,180 +0,0 @@
 -/*
@@ -10294,7 +10294,7 @@
 -#define MULTIPLY16V16(var1,var2)  ((var1) * (var2))
 -#endif
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jddctmgr.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jddctmgr.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jddctmgr.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jddctmgr.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jddctmgr.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,273 +0,0 @@
 -/*
@@ -10571,7 +10571,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdhuff.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdhuff.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdhuff.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdhuff.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdhuff.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,655 +0,0 @@
 -/*
@@ -11230,7 +11230,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdhuff.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdhuff.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdhuff.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdhuff.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdhuff.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,205 +0,0 @@
 -/*
@@ -11439,7 +11439,7 @@
 -        JPP((bitread_working_state * state, register bit_buf_type get_buffer,
 -             register int bits_left, d_derived_tbl * htbl, int min_bits));
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdinput.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdinput.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdinput.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdinput.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdinput.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,385 +0,0 @@
 -/*
@@ -11828,7 +11828,7 @@
 -  inputctl->inheaders = TRUE;
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmainct.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdmainct.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmainct.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmainct.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdmainct.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,516 +0,0 @@
 -/*
@@ -12348,7 +12348,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmarker.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdmarker.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmarker.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmarker.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdmarker.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,1384 +0,0 @@
 -/*
@@ -13736,7 +13736,7 @@
 -    ERREXIT1(cinfo, JERR_UNKNOWN_MARKER, marker_code);
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmaster.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdmaster.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmaster.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmaster.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdmaster.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,561 +0,0 @@
 -/*
@@ -14301,7 +14301,7 @@
 -  master_selection(cinfo);
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmerge.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdmerge.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmerge.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdmerge.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdmerge.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,404 +0,0 @@
 -/*
@@ -14709,7 +14709,7 @@
 -
 -#endif /* UPSAMPLE_MERGING_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdphuff.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdphuff.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdphuff.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdphuff.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdphuff.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,672 +0,0 @@
 -/*
@@ -15385,7 +15385,7 @@
 -
 -#endif /* D_PROGRESSIVE_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdpostct.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdpostct.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdpostct.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdpostct.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdpostct.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,294 +0,0 @@
 -/*
@@ -15683,7 +15683,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdsample.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdsample.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdsample.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdsample.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdsample.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,482 +0,0 @@
 -/*
@@ -16169,7 +16169,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdtrans.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdtrans.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdtrans.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jdtrans.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jdtrans.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,147 +0,0 @@
 -/*
@@ -16320,7 +16320,7 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jerror.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jerror.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jerror.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jerror.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jerror.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,272 +0,0 @@
 -/*
@@ -16596,7 +16596,7 @@
 -  return err;
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jerror.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jerror.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jerror.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jerror.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jerror.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,295 +0,0 @@
 -/*
@@ -16895,7 +16895,7 @@
 -
 -#endif /* JERROR_H */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jfdctflt.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jfdctflt.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jfdctflt.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jfdctflt.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jfdctflt.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,172 +0,0 @@
 -/*
@@ -17071,7 +17071,7 @@
 -
 -#endif /* DCT_FLOAT_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jfdctfst.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jfdctfst.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jfdctfst.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jfdctfst.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jfdctfst.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,228 +0,0 @@
 -/*
@@ -17303,7 +17303,7 @@
 -
 -#endif /* DCT_IFAST_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jfdctint.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jfdctint.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jfdctint.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jfdctint.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jfdctint.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,287 +0,0 @@
 -/*
@@ -17594,7 +17594,7 @@
 -
 -#endif /* DCT_ISLOW_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctflt.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jidctflt.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctflt.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctflt.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jidctflt.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,246 +0,0 @@
 -/*
@@ -17844,7 +17844,7 @@
 -
 -#endif /* DCT_FLOAT_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctfst.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jidctfst.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctfst.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctfst.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jidctfst.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,372 +0,0 @@
 -/*
@@ -18220,7 +18220,7 @@
 -
 -#endif /* DCT_IFAST_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctint.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jidctint.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctint.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctint.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jidctint.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,393 +0,0 @@
 -/*
@@ -18617,7 +18617,7 @@
 -
 -#endif /* DCT_ISLOW_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctred.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jidctred.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctred.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jidctred.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jidctred.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,402 +0,0 @@
 -/*
@@ -19023,7 +19023,7 @@
 -
 -#endif /* IDCT_SCALING_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jinclude.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jinclude.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jinclude.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jinclude.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jinclude.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,95 +0,0 @@
 -/*
@@ -19122,7 +19122,7 @@
 -#define JFWRITE(file,buf,sizeofbuf)  \
 -  ((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file)))
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmemmgr.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmemmgr.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmemmgr.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmemmgr.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmemmgr.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,1122 +0,0 @@
 -/*
@@ -20248,7 +20248,7 @@
 -
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmemnobs.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmemnobs.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmemnobs.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmemnobs.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmemnobs.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,113 +0,0 @@
 -/*
@@ -20365,7 +20365,7 @@
 -  /* no work */
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmemsys.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmemsys.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmemsys.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmemsys.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmemsys.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,202 +0,0 @@
 -/*
@@ -20571,7 +20571,7 @@
 -EXTERN(long) jpeg_mem_init JPP((j_common_ptr cinfo));
 -EXTERN(void) jpeg_mem_term JPP((j_common_ptr cinfo));
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmorecfg.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmorecfg.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmorecfg.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jmorecfg.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmorecfg.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,375 +0,0 @@
 -/*
@@ -20950,8 +20950,8 @@
 -
 -#endif /* JPEG_INTERNAL_OPTIONS */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c	2009-03-20 11:58:43.000000000 +0000
-+++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c	2009-03-30 17:23:07.000000000 +0100
++++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c	2009-05-11 18:53:01.000000000 +0100
 @@ -45,7 +45,9 @@
  #undef boolean
  #undef FAR
@@ -21206,7 +21206,7 @@
    /* After finish_decompress, we can close the input file.
     * Here we postpone it until after no more JPEG errors are possible,
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegint.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpegint.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegint.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegint.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpegint.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,396 +0,0 @@
 -/*
@@ -21606,7 +21606,7 @@
 -#endif
 -#endif /* INCOMPLETE_TYPES_BROKEN */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpeglib.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpeglib.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpeglib.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpeglib.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpeglib.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,1100 +0,0 @@
 -/*
@@ -22710,7 +22710,7 @@
 -
 -#endif /* JPEGLIB_H */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jquant1.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jquant1.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jquant1.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jquant1.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jquant1.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,860 +0,0 @@
 -/*
@@ -23574,7 +23574,7 @@
 -
 -#endif /* QUANT_1PASS_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jquant2.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jquant2.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jquant2.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jquant2.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jquant2.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,1314 +0,0 @@
 -/*
@@ -24892,7 +24892,7 @@
 -
 -#endif /* QUANT_2PASS_SUPPORTED */
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jutils.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jutils.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jutils.c	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jutils.c	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jutils.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,183 +0,0 @@
 -/*
@@ -25079,7 +25079,7 @@
 -#endif
 -}
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jversion.h openjdk/jdk/src/share/native/sun/awt/image/jpeg/jversion.h
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jversion.h	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jversion.h	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jversion.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,18 +0,0 @@
 -/*
@@ -25101,7 +25101,7 @@
 -
 -#define JCOPYRIGHT      "Copyright (C) 1998, Thomas G. Lane"
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/README openjdk/jdk/src/share/native/sun/awt/image/jpeg/README
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/README	2009-03-20 11:58:43.000000000 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/README	2009-03-30 17:23:07.000000000 +0100
 +++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/README	1970-01-01 01:00:00.000000000 +0100
 @@ -1,385 +0,0 @@
 -The Independent JPEG Group's JPEG software
@@ -25490,8 +25490,8 @@
 -
 -Please send bug reports, offers of help, etc. to jpeg-info@uunet.uu.net.
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c
---- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c	2009-03-20 11:58:43.000000000 +0000
-+++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c	2009-05-08 16:10:59.000000000 +0100
++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c	2009-05-11 18:53:01.000000000 +0100
 @@ -26,7 +26,7 @@
  #include "splashscreen_impl.h"
  #include "splashscreen_gfx.h"
@@ -25502,8 +25502,8 @@
  #define GIF_TRANSPARENT     0x01
  #define GIF_USER_INPUT      0x02
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
---- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c	2009-03-20 11:58:43.000000000 +0000
-+++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c	2009-03-30 17:23:07.000000000 +0100
++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c	2009-05-11 18:53:01.000000000 +0100
 @@ -25,9 +25,8 @@
  
  #include "splashscreen_impl.h"
@@ -25534,8 +25534,8 @@
  
      src = (stream_src_ptr) cinfo->src;
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
---- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c	2009-04-14 16:44:27.000000000 +0100
-+++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c	2009-04-14 18:26:05.000000000 +0100
+--- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c	2009-04-14 16:51:17.000000000 +0100
++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c	2009-05-11 18:53:01.000000000 +0100
 @@ -25,7 +25,7 @@
  
  #include "splashscreen_impl.h"
--- a/patches/icedtea-rhino.patch	Thu May 07 16:58:42 2009 +0100
+++ b/patches/icedtea-rhino.patch	Wed May 13 01:31:07 2009 +0100
@@ -1,7 +1,7 @@
 diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/share/vm/runtime/os.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp	2008-10-23 08:41:05.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/os.cpp	2008-10-27 23:00:47.000000000 +0000
-@@ -886,6 +886,7 @@
+--- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp	2009-05-08 17:40:32.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/os.cpp	2009-05-13 00:03:09.000000000 +0100
+@@ -884,6 +884,7 @@
          "%/lib/jsse.jar:"
          "%/lib/jce.jar:"
          "%/lib/charsets.jar:"
@@ -10,8 +10,8 @@
      char* sysclasspath = format_boot_path(classpath_format, home, home_len, fileSep, pathSep);
      if (sysclasspath == NULL) return false;
 diff -Nru openjdk.orig/jdk/make/com/sun/Makefile openjdk/jdk/make/com/sun/Makefile
---- openjdk.orig/jdk/make/com/sun/Makefile	2008-10-23 08:44:04.000000000 +0100
-+++ openjdk/jdk/make/com/sun/Makefile	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/make/com/sun/Makefile	2009-05-08 16:10:43.000000000 +0100
++++ openjdk/jdk/make/com/sun/Makefile	2009-05-13 00:03:09.000000000 +0100
 @@ -31,15 +31,8 @@
  PRODUCT = sun
  include $(BUILDDIR)/common/Defs.gmk
@@ -27,11 +27,11 @@
 -SUBDIRS = $(SCRIPT_SUBDIR) image security crypto/provider jndi jmx \
 +SUBDIRS = script image security crypto/provider jndi jmx \
      java inputmethods org xml rowset net/httpserver net/ssl demo \
-     tools jarsigner tracing servicetag
+     tools jarsigner tracing servicetag nio
  
 diff -Nru openjdk.orig/jdk/make/com/sun/script/Makefile openjdk/jdk/make/com/sun/script/Makefile
---- openjdk.orig/jdk/make/com/sun/script/Makefile	2008-10-23 08:44:04.000000000 +0100
-+++ openjdk/jdk/make/com/sun/script/Makefile	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/make/com/sun/script/Makefile	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/com/sun/script/Makefile	2009-05-13 00:03:09.000000000 +0100
 @@ -31,6 +31,8 @@
  
  AUTO_FILES_JAVA_DIRS = com/sun/script
@@ -42,8 +42,8 @@
  # Files that need to be copied
  #
 diff -Nru openjdk.orig/jdk/make/common/Release.gmk openjdk/jdk/make/common/Release.gmk
---- openjdk.orig/jdk/make/common/Release.gmk	2008-10-27 23:00:09.000000000 +0000
-+++ openjdk/jdk/make/common/Release.gmk	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/make/common/Release.gmk	2009-05-12 23:57:33.000000000 +0100
++++ openjdk/jdk/make/common/Release.gmk	2009-05-13 00:03:09.000000000 +0100
 @@ -774,6 +774,7 @@
  	$(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar
  	$(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar
@@ -53,8 +53,8 @@
  	$(CD) $(JRE_IMAGE_DIR)/lib && \
  	    $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java	2008-10-23 08:44:13.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java	2009-05-12 23:56:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java	2009-05-13 00:03:09.000000000 +0100
 @@ -24,7 +24,7 @@
   */
  
@@ -65,8 +65,8 @@
  import java.util.*;
  
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java	2008-10-23 08:44:13.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java	2009-05-12 23:56:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java	2009-05-13 00:03:09.000000000 +0100
 @@ -26,7 +26,7 @@
  package com.sun.script.javascript;
  
@@ -77,8 +77,8 @@
  /**
   * This class implements Rhino-like JavaAdapter to help implement a Java
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java	2008-10-23 08:44:13.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java	2009-05-12 23:56:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java	2009-05-13 00:03:09.000000000 +0100
 @@ -25,7 +25,7 @@
  
  package com.sun.script.javascript;
@@ -89,8 +89,8 @@
  
  /**
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java	2008-10-23 08:44:13.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java	2009-05-12 23:56:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java	2009-05-13 00:03:09.000000000 +0100
 @@ -26,7 +26,7 @@
  package com.sun.script.javascript;
  
@@ -101,8 +101,8 @@
  /**
   * This class prevents script access to certain sensitive classes.
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java	2008-10-23 08:44:13.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java	2009-05-12 23:56:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java	2009-05-13 00:03:09.000000000 +0100
 @@ -25,7 +25,7 @@
  
  package com.sun.script.javascript;
@@ -113,8 +113,8 @@
  /**
   * Represents compiled JavaScript code.
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java	2008-10-23 08:44:13.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java	2009-05-12 23:56:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java	2009-05-13 00:03:09.000000000 +0100
 @@ -26,7 +26,7 @@
  package com.sun.script.javascript;
  import javax.script.*;
@@ -125,8 +125,8 @@
  
  /**
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java	2008-10-23 08:44:13.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java	2009-05-12 23:56:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java	2009-05-13 00:03:09.000000000 +0100
 @@ -26,7 +26,7 @@
  package com.sun.script.javascript;
  import com.sun.script.util.*;
@@ -137,8 +137,8 @@
  import java.io.*;
  import java.util.*;
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java	2008-10-23 08:44:13.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java	2009-05-12 23:56:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java	2009-05-13 00:03:09.000000000 +0100
 @@ -25,7 +25,7 @@
  
  package com.sun.script.javascript;
@@ -149,8 +149,8 @@
  
  /**
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java	2008-10-23 08:44:13.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java	2008-10-27 23:00:47.000000000 +0000
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java	2009-05-12 23:56:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java	2009-05-13 00:03:09.000000000 +0100
 @@ -27,7 +27,7 @@
  
  import java.lang.reflect.*;
--- a/patches/icedtea-security-updates.patch	Thu May 07 16:58:42 2009 +0100
+++ b/patches/icedtea-security-updates.patch	Wed May 13 01:31:07 2009 +0100
@@ -1,661 +1,6 @@
-No differences encountered
---- old/src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java	Fri May 30 16:49:25 2008
-+++ openjdk/jaxp/src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java	Fri May 30 16:49:25 2008
-@@ -185,9 +188,6 @@
-     /** Load external DTD. */
-     protected boolean fLoadExternalDTD = true;
- 
--    /** Disallow doctype declaration. */
--    protected boolean fDisallowDoctype = false;
--
-     // state
- 
-     /** Seen doctype declaration. */
-@@ -227,8 +227,8 @@
-     /** String. */
-     private XMLString fString = new XMLString();
- 
--    public static final char [] DOCTYPE = {'D','O','C','T','Y','P','E'};
--    public static final char [] COMMENTSTRING = {'-','-'};
-+    private static final char [] DOCTYPE = {'D','O','C','T','Y','P','E'};
-+    private static final char [] COMMENTSTRING = {'-','-'};
- 
-     //
-     // Constructors
-@@ -708,6 +708,12 @@
-     //
-     // Private methods
-     //
-+    /** Set the scanner state after scanning DTD */
-+    protected void setEndDTDScanState() {
-+        setScannerState(SCANNER_STATE_PROLOG);
-+        setDriver(fPrologDriver);
-+        fEntityManager.setEntityHandler(XMLDocumentScannerImpl.this);
-+    }
- 
-     /** Returns the scanner state name. */
-     protected String getScannerStateName(int state) {
-@@ -930,19 +936,21 @@
-                             reportFatalError("AlreadySeenDoctype", null);
-                         }
-                         fSeenDoctypeDecl = true;
--                        if(fDTDDriver == null){
--                            fDTDDriver = new DTDDriver();
--                        }
- 
-                         // scanDoctypeDecl() sends XNI doctypeDecl event that
-                         // in SAX is converted to startDTD() event.
-                         if (scanDoctypeDecl(fDisallowDoctype)) {
-+                            //allow parsing of entity decls to continue in order to stay well-formed
-                             setScannerState(SCANNER_STATE_DTD_INTERNAL_DECLS);
-                             fSeenInternalSubset = true;
-+                            if(fDTDDriver == null){
-+                                fDTDDriver = new DTDDriver();
-+                            }
-                             setDriver(fContentDriver);
--                            int dtdEvent = fDTDDriver.next();
-+                            //always return DTD event, the event however, will not contain any entities
-+                            return fDTDDriver.next();
-                             // If no DTD support, ignore and continue parsing
--                            return fDisallowDoctype ? next() : dtdEvent;
-+                            //return fDisallowDoctype ? next() : dtdEvent;
-                         }
- 
-                         /** xxx:check this part again
-@@ -955,17 +963,18 @@
-                         }
-                          */
- 
--                        if (fDisallowDoctype) {
--                            setScannerState(SCANNER_STATE_PROLOG);
--                            return next();
--                        }
--
-                         // handle external subset
-                         if (fDoctypeSystemId != null) {
-                             if (((fValidation || fLoadExternalDTD)
-                                 && (fValidationManager == null || !fValidationManager.isCachedDTD()))) {
--                                setScannerState(SCANNER_STATE_DTD_EXTERNAL);
-+                                if (!fDisallowDoctype) {
-+                                    setScannerState(SCANNER_STATE_DTD_EXTERNAL);
-+                                } else {
-+                                    setScannerState(SCANNER_STATE_PROLOG);
-+                                }
-                                 setDriver(fContentDriver);
-+                                if(fDTDDriver == null)
-+                                    fDTDDriver = new DTDDriver();
-                                 return fDTDDriver.next();
- 
-                             }
-@@ -976,8 +985,14 @@
-                                 // This handles the case of a DOCTYPE that had neither an internal subset or an external subset.
-                                 fDTDScanner.setInputSource(fExternalSubsetSource);
-                                 fExternalSubsetSource = null;
--                                setScannerState(SCANNER_STATE_DTD_EXTERNAL_DECLS);
-+                                if (!fDisallowDoctype) {
-+                                    setScannerState(SCANNER_STATE_DTD_EXTERNAL_DECLS);
-+                                } else {
-+                                    setScannerState(SCANNER_STATE_PROLOG);
-+                                }
-                                 setDriver(fContentDriver);
-+                                if(fDTDDriver == null)
-+                                    fDTDDriver = new DTDDriver();
-                                 return fDTDDriver.next();
-                             }
-                         }
-@@ -1117,19 +1132,21 @@
-                                 }
-                                 fMarkupDepth--;
- 
--                                // scan external subset next
--                                if (!XMLDocumentScannerImpl.this.fDisallowDoctype &&
--                                        fDoctypeSystemId != null && (fValidation || fLoadExternalDTD)) {
--                                    setScannerState(SCANNER_STATE_DTD_EXTERNAL);
-+                                if (fDisallowDoctype) {
-+                                    //simply reset the entity store without having to mess around
-+                                    //with the DTD Scanner code
-+                                    fEntityStore = fEntityManager.getEntityStore();
-+                                    fEntityStore.reset();
-+                                } else {
-+                                    // scan external subset next unless we are ignoring DTDs
-+                                    if (fDoctypeSystemId != null && (fValidation || fLoadExternalDTD)) {
-+                                        setScannerState(SCANNER_STATE_DTD_EXTERNAL);
-+                                        break;
-+                                    }
-                                 }
-+                                setEndDTDScanState();
- 
--                                // break out of here
--                                else {
--                                    setScannerState(SCANNER_STATE_PROLOG);
--                                    setDriver(fPrologDriver);
--                                    fEntityManager.setEntityHandler(XMLDocumentScannerImpl.this);
--                                    return true;
--                                }
-+                                return true;
-                             }
-                             break;
-                         }
-@@ -1160,13 +1177,16 @@
-                             boolean completeDTD = true;
-                             boolean moreToScan = fDTDScanner.scanDTDExternalSubset(completeDTD);
-                             if (!moreToScan) {
--                                setScannerState(SCANNER_STATE_PROLOG);
--                                setDriver(fPrologDriver);
--                                fEntityManager.setEntityHandler(XMLDocumentScannerImpl.this);
-+                                setEndDTDScanState();
-                                 return true;
-                             }
-                             break;
-                         }
-+                        case SCANNER_STATE_PROLOG : {
-+                            // skip entity decls
-+                            setEndDTDScanState();
-+                            return true;
-+                        }
-                         default: {
-                             throw new XNIException("DTDDriver#dispatch: scanner state="+fScannerState+" ("+getScannerStateName(fScannerState)+')');
-                         }
---- old/src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java	Fri May 30 16:49:29 2008
-+++ openjdk/jaxp/src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java	Fri May 30 16:49:29 2008
-@@ -289,6 +289,8 @@
-     protected boolean fReportCdataEvent = false ;
-     protected boolean fIsCoalesce = false ;
-     protected String fDeclaredEncoding =  null;
-+    /** Disallow doctype declaration. */
-+    protected boolean fDisallowDoctype = false;
- 
-     // drivers
- 
-@@ -1852,6 +1854,11 @@
-         }
-         // start general entity
-         if (!fEntityStore.isDeclaredEntity(name)) {
-+            //SUPPORT_DTD=false && ReplaceEntityReferences should throw exception
-+            if (fDisallowDoctype && fReplaceEntityReferences) {
-+                reportFatalError("EntityNotDeclared", new Object[]{name});
-+                return;
-+            }
-             //REVISIT: one more case needs to be included: external PE and standalone is no
-             if ( fHasExternalDTD && !fStandalone) {
-                 if (fValidation)
---- /dev/null	Mon Jun  2 16:07:10 2008
-+++ openjdk/jaxws/test/closed/javax/xml/stream/XMLStreamReaderTest/SupportDTD.java	Mon Jun  2 16:07:26 2008
-@@ -0,0 +1,296 @@
-+/*
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-+ *
-+ * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
-+ *
-+ * The contents of this file are subject to the terms of either the GNU
-+ * General Public License Version 2 only ("GPL") or the Common Development
-+ * and Distribution License("CDDL") (collectively, the "License").  You
-+ * may not use this file except in compliance with the License. You can obtain
-+ * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
-+ * or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
-+ * language governing permissions and limitations under the License.
-+ *
-+ * When distributing the software, include this License Header Notice in each
-+ * file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
-+ * Sun designates this particular file as subject to the "Classpath" exception
-+ * as provided by Sun in the GPL Version 2 section of the License file that
-+ * accompanied this code.  If applicable, add the following below the License
-+ * Header, with the fields enclosed by brackets [] replaced by your own
-+ * identifying information: "Portions Copyrighted [year]
-+ * [name of copyright owner]"
-+ *
-+ * Contributor(s):
-+ *
-+ * If you wish your version of this file to be governed by only the CDDL or
-+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
-+ * elects to include this software in this distribution under the [CDDL or GPL
-+ * Version 2] license."  If you don't indicate a single choice of license, a
-+ * recipient has the option to distribute your version of this file under
-+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
-+ * its licensees as provided above.  However, if you add GPL Version 2 code
-+ * and therefore, elected the GPL Version 2 license, then the option applies
-+ * only if the new code is made subject to such option by the copyright
-+ * holder.
-+ */
-+
-+/*
-+ * @test @(#)SupportDTD.java	1.1 08/03/28
-+ * @bug 6542088
-+ * @key cte_test
-+ * @summary JAX-WS server allows XXE attacks
-+ *          Fixed in JDK6u7
-+ * @run main SupportDTD
-+*/
-+
-+import java.io.StringReader;
-+import java.io.File;
-+import java.io.FileInputStream;
-+import java.util.List;
-+
-+import javax.xml.stream.XMLEventReader;
-+
-+import javax.xml.stream.XMLInputFactory;
-+import javax.xml.stream.XMLStreamConstants;
-+import javax.xml.stream.XMLStreamReader;
-+import javax.xml.stream.events.*;
-+import javax.xml.stream.events.Characters;
-+
-+/**
-+ *
-+ * SUPPORT_DTD behavior:
-+ * Regardless of supportDTD, always report a DTD event () and throw an
-+ * exception if an entity reference is found when supportDTD is false
-+ *
-+ * The behavior is related to property IS_REPLACING_ENTITY_REFERENCES.
-+ *
-+ * SUPPORT_DTD      Replace Entity   DTD                    ENTITY_REFERENCE
-+ * true (default)   true (default)   yes, has entities      no, return Characters
-+ * true (default)   false            yes, has entities      yes, can print entity name
-+ * false            true (default)   yes, but no entity     Exception: Undeclared general entity
-+ * false            false            yes, but no entity     yes, can print entity name
-+ *
-+ * Two patches related:
-+ * sjsxp issue 9: XMLDocumentScannerImpl.java rev 1.6
-+ * If the supportDTD property is set to FALSE, external and internal subsets
-+ * are now ignored, rather than an error being reported. In particular, with
-+ * this property set to FALSE, no error is reported if an external subset cannot
-+ * be found. Note that the internal subset is still parsed (and errors could be
-+ * reported here) but no events are returned by the parser. This fixes SJSXP
-+ * issue 9 from Java.net.
-+ * Note: SAX and DOM report fatal errors:
-+ *       If either SAX or DOM is used, turning on http://apache.org/xml/features/disallow-doctype-decl [1] effectively disables DTD,
-+ *       according to the spec: A fatal error is thrown if the incoming document contains a DOCTYPE declaration.
-+ *       The current jaxp implementation actually throws a nullpointexception. A better error message could be used.
-+ *
-+ * This change is required by CR 6542088.
-+ * @author joe.wang@sun.com
-+ */
-+public class SupportDTD  {
-+    static final boolean DEBUG = false;
-+    static final String _file = "./tests/XMLStreamReader/ExternalDTD.xml";
-+    static final String XML = "<?xml version='1.0' ?>"
-+            +"<!DOCTYPE root [\n"
-+            +"<!ENTITY intEnt 'internal entity'>\n"
-+            +"<!ENTITY extParsedEnt SYSTEM 'url:dummy'>\n"
-+            +"<!NOTATION notation PUBLIC 'notation-public-id'>\n"
-+            +"<!NOTATION notation2 SYSTEM 'url:dummy'>\n"
-+            +"<!ENTITY extUnparsedEnt SYSTEM 'url:dummy2' NDATA notation>\n"
-+            +"]>"
-+            +"<root>&intEnt;</root>";
-+    static final String XML1 = "<?xml version='1.0' encoding ='utf-8'?>"
-+            +"<!DOCTYPE document SYSTEM \"tests/XMLStreamReader/ExternalDTD.dtd\">"
-+            +"<document>"
-+            +       "<name>&mkm;</name>"
-+            +"</document>";
-+    
-+    static final int ENTITY_INTERNAL_ONLY = 1;
-+    static final int ENTITY_EXTERNAL_ONLY = 2;
-+    static final int ENTITY_BOTH = 3;
-+    
-+    static boolean _DTDReturned = false;
-+    static boolean _EntityEventReturned = false;
-+    static boolean _hasEntityDelaration = false;
-+    static boolean _exceptionThrown = false;
-+
-+    public static void reset() {
-+        _DTDReturned = false;
-+        _EntityEventReturned = false;
-+        _hasEntityDelaration = false;
-+        _exceptionThrown = false;
-+    }
-+
-+    /**
-+     * @param args the command line arguments
-+     */
-+    public static void main(String[] args) {
-+        test1();
-+        test2();
-+        test3();
-+        test4();
-+        test5();
-+        test6();
-+        test7();
-+        test8();
-+        test9();
-+        test10();
-+        test11();
-+        test12();
-+    }
-+    
-+    //tests 1-4 test internal entities only
-+    public static void test1() {
-+        supportDTD(true, true, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(true, _hasEntityDelaration);
-+        assertEquals(false, _EntityEventReturned);
-+    }
-+    public static void test2() {
-+        supportDTD(true, false, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(true, _hasEntityDelaration);
-+        assertEquals(true, _EntityEventReturned);
-+    }
-+    public static void test3() {
-+        supportDTD(false, true, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(false, _hasEntityDelaration);
-+        assertEquals(true, _exceptionThrown);
-+    }
-+    public static void test4() {
-+        supportDTD(false, false, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(false, _hasEntityDelaration);
-+        assertEquals(true, _EntityEventReturned);
-+    }
-+    //tests 5-8 test external entities only
-+    public static void test5() {
-+        supportDTD(true, true, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(true, _hasEntityDelaration);
-+        assertEquals(false, _EntityEventReturned);
-+    }
-+    public static void test6() {
-+        supportDTD(true, false, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(true, _hasEntityDelaration);
-+        assertEquals(true, _EntityEventReturned);
-+    }
-+    public static void test7() {
-+        supportDTD(false, true, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(false, _hasEntityDelaration);
-+        assertEquals(true, _exceptionThrown);
-+    }
-+    public static void test8() {
-+        supportDTD(false, false, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(false, _hasEntityDelaration);
-+        assertEquals(true, _EntityEventReturned);
-+    }    
-+    //tests 9-12 test both internal and external entities
-+    public static void test9() {
-+        supportDTD(true, true, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(true, _hasEntityDelaration);
-+        assertEquals(false, _EntityEventReturned);
-+    }
-+    public static void test10() {
-+        supportDTD(true, false, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(true, _hasEntityDelaration);
-+        assertEquals(true, _EntityEventReturned);
-+    }
-+    public static void test11() {
-+        supportDTD(false, true, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(false, _hasEntityDelaration);
-+        assertEquals(true, _exceptionThrown);
-+    }
-+    public static void test12() {
-+        supportDTD(false, false, ENTITY_INTERNAL_ONLY);
-+        assertEquals(true, _DTDReturned);
-+        assertEquals(false, _hasEntityDelaration);
-+        assertEquals(true, _EntityEventReturned);
-+    }    
-+    
-+    public static void assertEquals(boolean bExpected, boolean bActual) {
-+        if (bExpected != bActual) {
-+            throw new RuntimeException("Test Failed");
-+        }
-+    }    
-+
-+    public static void supportDTD(boolean supportDTD, boolean replaceEntity, int inputType) {
-+        reset();
-+        print("\n");
-+        print((supportDTD?"SupportDTD=true":"SupportDTD=false") + ", " + (replaceEntity?"replaceEntity=true":"replaceEntity=false"));
-+        try {
-+            XMLInputFactory xif = getFactory(supportDTD, replaceEntity);
-+            XMLEventReader r = getEventReader(xif, inputType);
-+            int eventType = 0;
-+            int count = 0;
-+            while (r.hasNext()) {
-+                XMLEvent event = r.nextEvent();
-+                eventType = event.getEventType();
-+                print("Event " + ++count +": " + eventType);
-+                switch (eventType) {
-+                    case XMLStreamConstants.DTD :
-+                        DisplayEntities((DTD)event);
-+                        _DTDReturned = true;
-+                        break;
-+                    case XMLStreamConstants.ENTITY_REFERENCE :
-+                        print("Entity Name: " + ((EntityReference)event).getName());
-+                        _EntityEventReturned = true;
-+                        break;
-+                    case XMLStreamConstants.CHARACTERS :
-+                        print("Text: " + ((Characters)event).getData());
-+                }
-+            }
-+            
-+        } catch (Exception e) {
-+            _exceptionThrown = true;
-+            if (DEBUG) e.printStackTrace();
-+        }
-+    }
-+    
-+    static XMLInputFactory getFactory(boolean supportDTD, boolean replaceEntity) {
-+        XMLInputFactory xif = XMLInputFactory.newInstance();
-+        xif.setProperty(XMLInputFactory.SUPPORT_DTD, (supportDTD)?Boolean.TRUE:Boolean.FALSE);
-+        xif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, (replaceEntity)?Boolean.TRUE:Boolean.FALSE);
-+        //xif.setProperty(XMLInputFactory.IS_VALIDATING, Boolean.TRUE);
-+        return xif;
-+    }
-+    static private XMLEventReader getEventReader(XMLInputFactory inputFactory, int input)
-+    throws Exception {
-+        XMLEventReader er = null;
-+        if (input == ENTITY_INTERNAL_ONLY) {
-+            er = inputFactory.createXMLEventReader(new StringReader(XML));
-+        } else if (input == ENTITY_EXTERNAL_ONLY) {
-+            er = inputFactory.createXMLEventReader(new StringReader(XML1));
-+        } else {
-+            File file = new File(_file);
-+            FileInputStream inputStream = new FileInputStream(file);
-+            //XMLStreamReader r = xif.createXMLStreamReader(inputStream);
-+            er = inputFactory.createXMLEventReader(inputStream);
-+        }
-+        return er;
-+    }
-+    static void DisplayEntities(DTD event) {
-+        List entities = event.getEntities();
-+        if (entities == null) {
-+            _hasEntityDelaration = false;
-+            print("No entity found.");
-+        } else {
-+            _hasEntityDelaration = true;
-+            for (int i=0; i<entities.size(); i++) {
-+                EntityDeclaration entity = (EntityDeclaration)entities.get(i);
-+                print(entity.getName());
-+            }
-+        }
-+        
-+    }
-+    static void print(String s) {
-+        if (DEBUG) System.out.println(s);
-+    }
-+    
-+}
---- oldXMLStreamReaderFactory.java	2008-07-03 15:12:48.000000000 -0400
-+++ openjdk/jaxws/src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderFactory.java	2008-07-03 15:13:27.000000000 -0400
-@@ -67,6 +67,7 @@
-         // Use StAX pluggability layer to get factory instance
-         xmlInputFactory = XMLInputFactory.newInstance();
-         xmlInputFactory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.TRUE);
-+	xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, Boolean.FALSE);
- 
-         try {
-             // Turn OFF internal factory caching in Zephyr -- not thread safe
---- old/src/share/classes/com/sun/org/apache/xml/internal/utils/ThreadControllerWrapper.java	Fri May 30 17:01:31 2008
-+++ openjdk/jaxp/src/share/classes/com/sun/org/apache/xml/internal/utils/ThreadControllerWrapper.java	Fri May 30 17:01:31 2008
-@@ -53,7 +53,35 @@
-   {
- 
-     /**
--     * Will get a thread from the pool, execute the task
-+      * This class was introduced as a fix for CR 6607339.
-+      */
-+     final class SafeThread extends Thread {
-+          private volatile boolean ran = false;
-+                  
-+          public SafeThread(Runnable target) {
-+              super(target);
-+          }
-+                  
-+          public final void run() {
-+              if (Thread.currentThread() != this) {
-+                  throw new IllegalStateException("The run() method in a"
-+                      + " SafeThread cannot be called from another thread.");
-+              }
-+              synchronized (this) {
-+                 if (!ran) {
-+                     ran = true;
-+                 }
-+                 else {
-+                  throw new IllegalStateException("The run() method in a"
-+                      + " SafeThread cannot be called more than once.");
-+                 }                 
-+              }             
-+              super.run();
-+          }
-+     }
-+ 
-+     /**
-+     *  Will get a thread from the pool, execute the task
-      *  and return the thread to the pool.
-      *
-      *  The return value is used only to wait for completion
-@@ -68,7 +96,7 @@
-     public Thread run(Runnable task, int priority)
-     {
- 
--      Thread t = new Thread(task);
-+      Thread t = new SafeThread(task);
- 
-       t.start();
- 
---- /dev/null	Mon Jun  2 16:57:20 2008
-+++ openjdk/jdk/test/closed/com/sun/org/apache/xml/internal/utils/Test.java	Mon Jun  2 16:57:36 2008
-@@ -0,0 +1,110 @@
-+/*
-+ * @test @(#)Test.java	1.2 08/04/23
-+ * @bug 6607339
-+ * @key cte_test
-+ * @summary IncrementalSAXSource_Filter still allows reading of local files
-+ * @compile Test.java
-+ * @run shell Test6607339.sh
-+*/
-+/*
-+ * Test.java
-+ *
-+ * Created on February 20, 2007, 10:42 AM
-+ *
-+ * To change this template, choose Tools | Template Manager
-+ * and open the template in the editor.
-+ */
-+
-+import java.lang.reflect.*;
-+
-+import com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault;
-+import java.awt.EventQueue;
-+import java.io.File;
-+
-+/**
-+ * Test for CR 6607339. Note that this isn't a unit test, but a
-+ * standalone test instead. Correct termination is based on the 
-+ * exact number of remaining threads and requires calling System.exit(). 
-+ * Thus, it cannot be executed as a unit test
-+ *
-+ * @author Santiago.PericasGeertsen@sun.com
-+ */
-+public class Test {
-+    
-+    public static void main(String[] args) throws Exception {
-+        new Test().test();
-+    }
-+    
-+    public void test() throws Exception {
-+        // The GNOME Accessibility JavaBridge will not initialise
-+        // from an untrusted context.
-+        // So we need to load the toolkit before the security manager is set.
-+        java.awt.Toolkit.getDefaultToolkit();
-+
-+        // Target XML filewe should not be able to access.
-+        // Requires full path name.
-+        java.io.File target = 
-+                new File(getClass().getResource("target.xml").getFile());
-+        String systemID = target.toURI().toURL().toString();
-+
-+        System.setSecurityManager(new SecurityManager());
-+
-+        DTMManagerDefault manager = new DTMManagerDefault() {
-+            // We need a SAXParser that does the job of SAXParser
-+            //   without quite being SAXParser itself.
-+            // So we return an instance of an (anonymous) subclass.
-+            public org.xml.sax.XMLReader getXMLReader(
-+                javax.xml.transform.Source inputSource
-+            ) {
-+                org.xml.sax.XMLReader reader =
-+                    super.getXMLReader(inputSource);
-+                return
-+                   new
-+                       com.sun.org.apache.xerces.internal.parsers.
-+                       SAXParser() { };
-+            }
-+        };
-+        // Enable incremental parsing.
-+        manager.setIncremental(true);
-+
-+        // Grab old threads, so we can detect the new one.
-+        java.util.Set oldThreads = getThreads();
-+
-+        com.sun.org.apache.xml.internal.dtm.DTM dtm =
-+            manager.getDTM(
-+                new javax.xml.transform.stream.StreamSource(systemID),
-+                true, // unique
-+                null, // DTMWSFilter
-+                true, // incremental
-+                false // doIndexing
-+            );
-+
-+        // Should be exactly one new thread.
-+        java.util.Set threads = getThreads();
-+        threads.removeAll(oldThreads);
-+        if (threads.size() != 1) {
-+            throw new Error(threads.toString());
-+        }
-+        Thread thread = (Thread) threads.iterator().next();
-+        // Suspend the thread.
-+        thread.suspend();
-+        // Run the Thread as a Runnable
-+        //   without user code on the stack.
-+        java.awt.EventQueue.invokeLater(thread);
-+
-+        // Ensure correct termination by counting number of threads
-+        Thread.sleep(100);
-+        assert getThreads().size() == 5;
-+
-+        // Call exit to kill all remaining threads
-+        System.exit(0);
-+    }
-+    
-+    private static java.util.Set getThreads() {
-+        Thread[] threads = new Thread[Thread.activeCount()*2+10];
-+        Thread.enumerate(threads);
-+        return new java.util.HashSet(
-+            java.util.Arrays.asList(threads)
-+        );
-+    }
-+}
---- /dev/null	Mon Jun  2 16:57:21 2008
-+++ openjdk/jdk/test/closed/com/sun/org/apache/xml/internal/utils/target.xml	Mon Jun  2 16:57:37 2008
-@@ -0,0 +1,2 @@
-+<?xml version="1.0"?>
-+<doc>this is a secret</doc>
---- /dev/null	Mon Jun  2 09:19:39 2008
-+++ openjdk/jdk/test/sun/management/jmxremote/bootstrap/LocalOnlyTest.java	Mon Jun  2 09:19:39 2008
+diff -Nru openjdk.orig/jdk/test/sun/management/jmxremote/bootstrap/LocalOnlyTest.java openjdk/jdk/test/sun/management/jmxremote/bootstrap/LocalOnlyTest.java
+--- openjdk.orig/jdk/test/sun/management/jmxremote/bootstrap/LocalOnlyTest.java	1970-01-01 01:00:00.000000000 +0100
++++ openjdk/jdk/test/sun/management/jmxremote/bootstrap/LocalOnlyTest.java	2009-05-12 12:55:47.000000000 +0100
 @@ -0,0 +1,97 @@
 +/*
 + * Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
@@ -754,4 +99,3 @@
 +        System.out.println("Bye! Bye!");
 +    }
 +}
-
--- a/patches/icedtea-tests-jdk.patch	Thu May 07 16:58:42 2009 +0100
+++ b/patches/icedtea-tests-jdk.patch	Wed May 13 01:31:07 2009 +0100
@@ -1,18 +1,6 @@
-diff -Nru openjdk.orig/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java openjdk/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java
---- openjdk.orig/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java	2008-11-14 04:33:18.000000000 +0000
-+++ openjdk/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java	2008-11-14 23:09:15.000000000 +0000
-@@ -38,6 +38,8 @@
- 
-        DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
-        PrintService ps = PrintServiceLookup.lookupDefaultPrintService();
-+       if (ps == null)
-+	 return; // No printers available
-        if (!(ps.isDocFlavorSupported(flavor))) {
-            System.out.println("unsupported flavor :" + flavor);
-            return;
 diff -Nru openjdk.orig/jdk/test/sun/tools/native2ascii/NativeErrors.java openjdk/jdk/test/sun/tools/native2ascii/NativeErrors.java
---- openjdk.orig/jdk/test/sun/tools/native2ascii/NativeErrors.java	2008-11-14 04:33:14.000000000 +0000
-+++ openjdk/jdk/test/sun/tools/native2ascii/NativeErrors.java	2008-11-14 23:20:31.000000000 +0000
+--- openjdk.orig/jdk/test/sun/tools/native2ascii/NativeErrors.java	2009-05-12 23:26:50.000000000 +0100
++++ openjdk/jdk/test/sun/tools/native2ascii/NativeErrors.java	2009-05-12 23:28:57.000000000 +0100
 @@ -89,8 +89,8 @@
          }
          //System.out.println("received: " + errorReceived);
--- a/patches/security/icedtea-6484091.patch	Thu May 07 16:58:42 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java
---- openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java	2008-12-02 14:54:58.000000000 +0000
-+++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java	2008-12-02 15:12:35.000000000 +0000
-@@ -39,6 +39,8 @@
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.util.*;
-+import java.security.AccessController;
-+import java.security.PrivilegedAction;
- 
- import sun.awt.shell.ShellFolder;
- import sun.awt.OSInfo;
-@@ -1153,7 +1155,11 @@
- 
-             File[] baseFolders;
-             if (useShellFolder) {
--                baseFolders = (File[])ShellFolder.get("fileChooserComboBoxFolders");
-+                baseFolders = AccessController.doPrivileged(new PrivilegedAction<File[]>() {
-+                    public File[] run() {
-+                        return (File[]) ShellFolder.get("fileChooserComboBoxFolders");
-+                    }
-+                });
-             } else {
-                 baseFolders = fsv.getRoots();
-             }
-diff -Nru openjdk.orig/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java openjdk/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java
---- openjdk.orig/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java	2008-12-02 14:55:11.000000000 +0000
-+++ openjdk/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java	2008-12-02 15:12:35.000000000 +0000
-@@ -38,6 +38,8 @@
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.util.*;
-+import java.security.AccessController;
-+import java.security.PrivilegedAction;
- import javax.accessibility.*;
- 
- import sun.awt.shell.ShellFolder;
-@@ -957,7 +959,11 @@
- 
-             File[] baseFolders;
-             if (useShellFolder) {
--                baseFolders = (File[])ShellFolder.get("fileChooserComboBoxFolders");
-+                baseFolders = AccessController.doPrivileged(new PrivilegedAction<File[]>() {
-+                    public File[] run() {
-+                        return (File[]) ShellFolder.get("fileChooserComboBoxFolders");
-+                    }
-+                });
-             } else {
-                 baseFolders = fsv.getRoots();
-             }
-diff -Nru openjdk.orig/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java openjdk/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java
---- openjdk.orig/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java	2008-12-02 14:55:05.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java	2008-12-02 15:12:35.000000000 +0000
-@@ -29,6 +29,8 @@
- import java.beans.*;
- import java.io.*;
- import java.util.*;
-+import java.security.AccessController;
-+import java.security.PrivilegedAction;
- 
- import javax.swing.*;
- import javax.swing.event.*;
-@@ -769,7 +771,11 @@
- 
-             File[] baseFolders;
-             if (useShellFolder) {
--                baseFolders = (File[])ShellFolder.get("fileChooserComboBoxFolders");
-+                baseFolders = AccessController.doPrivileged(new PrivilegedAction<File[]>() {
-+                    public File[] run() {
-+                        return (File[]) ShellFolder.get("fileChooserComboBoxFolders");
-+                    }
-+                });
-             } else {
-                 baseFolders = fsv.getRoots();
-             }
-
--- a/patches/security/icedtea-6497740.patch	Thu May 07 16:58:42 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,742 +0,0 @@
-diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java openjdk/jdk/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java
---- openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java	2008-12-02 15:15:13.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java	2008-12-02 15:22:50.000000000 +0000
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2003-2006 Sun Microsystems, Inc.  All Rights Reserved.
-+ * Copyright 2003-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
-@@ -38,6 +38,8 @@
- import sun.security.pkcs11.wrapper.*;
- import static sun.security.pkcs11.wrapper.PKCS11Constants.*;
- 
-+import sun.security.rsa.RSAKeyFactory;
-+
- /**
-  * KeyPairGenerator implementation class. This class currently supports
-  * RSA, DSA, DH, and EC.
-@@ -66,7 +68,7 @@
-     private AlgorithmParameterSpec params;
- 
-     // for RSA, selected or default value of public exponent, always valid
--    private BigInteger rsaPublicExponent;
-+    private BigInteger rsaPublicExponent = RSAKeyGenParameterSpec.F4;
- 
-     // SecureRandom instance, if specified in init
-     private SecureRandom random;
-@@ -88,19 +90,19 @@
-     public void initialize(int keySize, SecureRandom random) {
-         token.ensureValid();
-         try {
--            checkKeySize(keySize);
-+            checkKeySize(keySize, null);
-         } catch (InvalidAlgorithmParameterException e) {
-             throw new InvalidParameterException(e.getMessage());
-         }
-         this.keySize = keySize;
-         this.params = null;
-         this.random = random;
--        this.rsaPublicExponent = RSAKeyGenParameterSpec.F4;
-         if (algorithm.equals("EC")) {
-             params = P11ECKeyFactory.getECParameterSpec(keySize);
-             if (params == null) {
--                throw new InvalidParameterException
--                ("No EC parameters available for key size " + keySize + " bits");
-+                throw new InvalidParameterException(
-+                    "No EC parameters available for key size "
-+                    + keySize + " bits");
-             }
-         }
-     }
-@@ -115,8 +117,10 @@
-                         ("DHParameterSpec required for Diffie-Hellman");
-             }
-             DHParameterSpec dhParams = (DHParameterSpec)params;
--            this.keySize = dhParams.getP().bitLength();
--            this.params = params;
-+            int tmpKeySize = dhParams.getP().bitLength();
-+            checkKeySize(tmpKeySize, dhParams);
-+            this.keySize = tmpKeySize;
-+            this.params = dhParams;
-             // XXX sanity check params
-         } else if (algorithm.equals("RSA")) {
-             if (params instanceof RSAKeyGenParameterSpec == false) {
-@@ -124,7 +128,9 @@
-                         ("RSAKeyGenParameterSpec required for RSA");
-             }
-             RSAKeyGenParameterSpec rsaParams = (RSAKeyGenParameterSpec)params;
--            this.keySize = rsaParams.getKeysize();
-+            int tmpKeySize = rsaParams.getKeysize();
-+            checkKeySize(tmpKeySize, rsaParams);
-+            this.keySize = tmpKeySize;
-             this.params = null;
-             this.rsaPublicExponent = rsaParams.getPublicExponent();
-             // XXX sanity check params
-@@ -134,13 +140,16 @@
-                         ("DSAParameterSpec required for DSA");
-             }
-             DSAParameterSpec dsaParams = (DSAParameterSpec)params;
--            this.keySize = dsaParams.getP().bitLength();
--            this.params = params;
-+            int tmpKeySize = dsaParams.getP().bitLength();
-+            checkKeySize(tmpKeySize, dsaParams);
-+            this.keySize = tmpKeySize;
-+            this.params = dsaParams;
-             // XXX sanity check params
-         } else if (algorithm.equals("EC")) {
-             ECParameterSpec ecParams;
-             if (params instanceof ECParameterSpec) {
--                ecParams = P11ECKeyFactory.getECParameterSpec((ECParameterSpec)params);
-+                ecParams = P11ECKeyFactory.getECParameterSpec(
-+                    (ECParameterSpec)params);
-                 if (ecParams == null) {
-                     throw new InvalidAlgorithmParameterException
-                         ("Unsupported curve: " + params);
-@@ -156,16 +165,17 @@
-                 throw new InvalidAlgorithmParameterException
-                     ("ECParameterSpec or ECGenParameterSpec required for EC");
-             }
--            this.keySize = ecParams.getCurve().getField().getFieldSize();
-+            int tmpKeySize = ecParams.getCurve().getField().getFieldSize();
-+            checkKeySize(tmpKeySize, ecParams);
-+            this.keySize = tmpKeySize;
-             this.params = ecParams;
-         } else {
-             throw new ProviderException("Unknown algorithm: " + algorithm);
-         }
-         this.random = random;
--        checkKeySize(keySize);
-     }
- 
--    private void checkKeySize(int keySize)
-+    private void checkKeySize(int keySize, AlgorithmParameterSpec params)
-             throws InvalidAlgorithmParameterException {
-         if (algorithm.equals("EC")) {
-             if (keySize < 112) {
-@@ -178,13 +188,28 @@
-                     ("Key size must be at most 2048 bit");
-             }
-             return;
-+        } else if (algorithm.equals("RSA")) {
-+            BigInteger tmpExponent = rsaPublicExponent;
-+            if (params != null) {
-+                // Already tested for instanceof RSAKeyGenParameterSpec above
-+                tmpExponent =
-+                    ((RSAKeyGenParameterSpec)params).getPublicExponent();
-+            }
-+            try {
-+                // This provider supports 64K or less.
-+                RSAKeyFactory.checkKeyLengths(keySize, tmpExponent,
-+                    512, 64 * 1024);
-+            } catch (InvalidKeyException e) {
-+                throw new InvalidAlgorithmParameterException(e.getMessage());
-+            }
-+            return;
-         }
-+
-         if (keySize < 512) {
-             throw new InvalidAlgorithmParameterException
-                 ("Key size must be at least 512 bit");
-         }
--        if (algorithm.equals("RSA") ||
--                (algorithm.equals("DH") && (params != null))) {
-+        if (algorithm.equals("DH") && (params != null)) {
-             // sanity check, nobody really wants keys this large
-             if (keySize > 64 * 1024) {
-                 throw new InvalidAlgorithmParameterException
-diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java openjdk/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java
---- openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java	2008-12-02 15:15:13.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java	2008-12-02 15:22:50.000000000 +0000
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
-+ * Copyright 2003-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
-@@ -35,6 +35,8 @@
- import sun.security.pkcs11.wrapper.*;
- import static sun.security.pkcs11.wrapper.PKCS11Constants.*;
- 
-+import sun.security.rsa.RSAKeyFactory;
-+
- /**
-  * RSA KeyFactory implemenation.
-  *
-@@ -131,6 +133,9 @@
-         } catch (PKCS11Exception e) {
-             throw new InvalidKeySpecException
-                 ("Could not create RSA public key", e);
-+        } catch (InvalidKeyException e) {
-+            throw new InvalidKeySpecException
-+                ("Could not create RSA public key", e);
-         }
-     }
- 
-@@ -175,11 +180,15 @@
-         } catch (PKCS11Exception e) {
-             throw new InvalidKeySpecException
-                 ("Could not create RSA private key", e);
-+        } catch (InvalidKeyException e) {
-+            throw new InvalidKeySpecException
-+                ("Could not create RSA private key", e);
-         }
-     }
- 
-     private PublicKey generatePublic(BigInteger n, BigInteger e)
--            throws PKCS11Exception {
-+            throws PKCS11Exception, InvalidKeyException {
-+        RSAKeyFactory.checkKeyLengths(n.bitLength(), e, -1, 64 * 1024);
-         CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] {
-             new CK_ATTRIBUTE(CKA_CLASS, CKO_PUBLIC_KEY),
-             new CK_ATTRIBUTE(CKA_KEY_TYPE, CKK_RSA),
-@@ -200,7 +209,8 @@
-     }
- 
-     private PrivateKey generatePrivate(BigInteger n, BigInteger d)
--            throws PKCS11Exception {
-+            throws PKCS11Exception, InvalidKeyException {
-+        RSAKeyFactory.checkKeyLengths(n.bitLength(), null, -1, 64 * 1024);
-         CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] {
-             new CK_ATTRIBUTE(CKA_CLASS, CKO_PRIVATE_KEY),
-             new CK_ATTRIBUTE(CKA_KEY_TYPE, CKK_RSA),
-@@ -222,7 +232,9 @@
- 
-     private PrivateKey generatePrivate(BigInteger n, BigInteger e,
-             BigInteger d, BigInteger p, BigInteger q, BigInteger pe,
--            BigInteger qe, BigInteger coeff) throws PKCS11Exception {
-+            BigInteger qe, BigInteger coeff) throws PKCS11Exception,
-+            InvalidKeyException {
-+        RSAKeyFactory.checkKeyLengths(n.bitLength(), e, -1, 64 * 1024);
-         CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] {
-             new CK_ATTRIBUTE(CKA_CLASS, CKO_PRIVATE_KEY),
-             new CK_ATTRIBUTE(CKA_KEY_TYPE, CKK_RSA),
-diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/rsa/RSAKeyFactory.java openjdk/jdk/src/share/classes/sun/security/rsa/RSAKeyFactory.java
---- openjdk.orig/jdk/src/share/classes/sun/security/rsa/RSAKeyFactory.java	2008-12-02 15:15:10.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/security/rsa/RSAKeyFactory.java	2008-12-02 15:22:50.000000000 +0000
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2003-2006 Sun Microsystems, Inc.  All Rights Reserved.
-+ * Copyright 2003-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
-@@ -31,6 +31,8 @@
- import java.security.interfaces.*;
- import java.security.spec.*;
- 
-+import sun.security.action.GetPropertyAction;
-+
- /**
-  * KeyFactory for RSA keys. Keys must be instances of PublicKey or PrivateKey
-  * and getAlgorithm() must return "RSA". For such keys, it supports conversion
-@@ -68,6 +70,24 @@
-     private final static Class<?> x509KeySpecClass  = X509EncodedKeySpec.class;
-     private final static Class<?> pkcs8KeySpecClass = PKCS8EncodedKeySpec.class;
- 
-+    public final static int MIN_MODLEN = 512;
-+    public final static int MAX_MODLEN = 16384;
-+
-+    /*
-+     * If the modulus length is above this value, restrict the size of
-+     * the exponent to something that can be reasonably computed.  We
-+     * could simply hardcode the exp len to something like 64 bits, but
-+     * this approach allows flexibility in case impls would like to use
-+     * larger module and exponent values.
-+     */
-+    public final static int MAX_MODLEN_RESTRICT_EXP = 3072;
-+    public final static int MAX_RESTRICTED_EXPLEN = 64;
-+
-+    private static final boolean restrictExpLen =
-+        "true".equalsIgnoreCase(AccessController.doPrivileged(
-+            new GetPropertyAction(
-+                "sun.security.rsa.restrictRSAExponent", "true")));
-+
-     // instance used for static translateKey();
-     private final static RSAKeyFactory INSTANCE = new RSAKeyFactory();
- 
-@@ -76,74 +96,79 @@
-     }
- 
-     /**
--     * Static method to convert Key into a useable instance of
--     * RSAPublicKey or RSAPrivate(Crt)Key. Check the key and convert it
--     * to a SunRsaSign key if necessary. If the key is not an RSA key
--     * or cannot be used, throw an InvalidKeyException.
--     *
--     * The difference between this method and engineTranslateKey() is that
--     * we do not convert keys of other providers that are already an
--     * instance of RSAPublicKey or RSAPrivate(Crt)Key.
-+     * Static method to convert Key into an instance of RSAPublicKeyImpl
-+     * or RSAPrivate(Crt)KeyImpl. If the key is not an RSA key or cannot be
-+     * used, throw an InvalidKeyException.
-      *
-      * Used by RSASignature and RSACipher.
-      */
-     public static RSAKey toRSAKey(Key key) throws InvalidKeyException {
--        if (key instanceof RSAKey) {
--            RSAKey rsaKey = (RSAKey)key;
--            checkKey(rsaKey);
--            return rsaKey;
-+        if ((key instanceof RSAPrivateKeyImpl) ||
-+            (key instanceof RSAPrivateCrtKeyImpl) ||
-+            (key instanceof RSAPublicKeyImpl)) {
-+            return (RSAKey)key;
-         } else {
-             return (RSAKey)INSTANCE.engineTranslateKey(key);
-         }
-     }
- 
--    /**
--     * Check that the given RSA key is valid.
-+    /*
-+     * Single test entry point for all of the mechanisms in the SunRsaSign
-+     * provider (RSA*KeyImpls).  All of the tests are the same.
-+     *
-+     * For compatibility, we round up to the nearest byte here:
-+     * some Key impls might pass in a value within a byte of the
-+     * real value.
-      */
--    private static void checkKey(RSAKey key) throws InvalidKeyException {
--        // check for subinterfaces, omit additional checks for our keys
--        if (key instanceof RSAPublicKey) {
--            if (key instanceof RSAPublicKeyImpl) {
--                return;
--            }
--        } else if (key instanceof RSAPrivateKey) {
--            if ((key instanceof RSAPrivateCrtKeyImpl)
--                    || (key instanceof RSAPrivateKeyImpl)) {
--                return;
--            }
--        } else {
--            throw new InvalidKeyException("Neither a public nor a private key");
--        }
--        // RSAKey does not extend Key, so we need to do a cast
--        String keyAlg = ((Key)key).getAlgorithm();
--        if (keyAlg.equals("RSA") == false) {
--            throw new InvalidKeyException("Not an RSA key: " + keyAlg);
--        }
--        BigInteger modulus;
--        // some providers implement RSAKey for keys where the values are
--        // not accessible (although they should). Detect those here
--        // for a more graceful failure.
--        try {
--            modulus = key.getModulus();
--            if (modulus == null) {
--                throw new InvalidKeyException("Modulus is missing");
--            }
--        } catch (RuntimeException e) {
--            throw new InvalidKeyException(e);
--        }
--        checkKeyLength(modulus);
-+    static void checkRSAProviderKeyLengths(int modulusLen, BigInteger exponent)
-+            throws InvalidKeyException {
-+        checkKeyLengths(((modulusLen + 7) & ~7), exponent,
-+            RSAKeyFactory.MIN_MODLEN, Integer.MAX_VALUE);
-     }
- 
-     /**
--     * Check the length of the modulus of an RSA key. We only support keys
--     * at least 505 bits long.
-+     * Check the length of an RSA key modulus/exponent to make sure it
-+     * is not too short or long.  Some impls have their own min and
-+     * max key sizes that may or may not match with a system defined value.
-+     *
-+     * @param modulusLen the bit length of the RSA modulus.
-+     * @param exponent the RSA exponent
-+     * @param minModulusLen if > 0, check to see if modulusLen is at
-+     *        least this long, otherwise unused.
-+     * @param maxModulusLen caller will allow this max number of bits.
-+     *        Allow the smaller of the system-defined maximum and this param.
-+     *
-+     * @throws InvalidKeyException if any of the values are unacceptable.
-      */
--    static void checkKeyLength(BigInteger modulus) throws InvalidKeyException {
--        if (modulus.bitLength() < 505) {
--            // some providers may generate slightly shorter keys
--            // accept them if the encoding is at least 64 bytes long
--            throw new InvalidKeyException
--                ("RSA keys must be at least 512 bits long");
-+     public static void checkKeyLengths(int modulusLen, BigInteger exponent,
-+            int minModulusLen, int maxModulusLen) throws InvalidKeyException {
-+
-+        if ((minModulusLen > 0) && (modulusLen < (minModulusLen))) {
-+            throw new InvalidKeyException( "RSA keys must be at least " +
-+                minModulusLen + " bits long");
-+        }
-+
-+        // Even though our policy file may allow this, we don't want
-+        // either value (mod/exp) to be too big.
-+
-+        int maxLen = Math.min(maxModulusLen, MAX_MODLEN);
-+
-+        // If a RSAPrivateKey/RSAPublicKey, make sure the
-+        // modulus len isn't too big.
-+        if (modulusLen > maxLen) {
-+            throw new InvalidKeyException(
-+                "RSA keys must be no longer than " + maxLen + " bits");
-+        }
-+
-+        // If a RSAPublicKey, make sure the exponent isn't too big.
-+        if (restrictExpLen && (exponent != null) &&
-+                (modulusLen > MAX_MODLEN_RESTRICT_EXP) &&
-+                (exponent.bitLength() > MAX_RESTRICTED_EXPLEN)) {
-+            throw new InvalidKeyException(
-+                "RSA exponents can be no longer than " +
-+                MAX_RESTRICTED_EXPLEN + " bits " +
-+                " if modulus is greater than " +
-+                MAX_MODLEN_RESTRICT_EXP + " bits");
-         }
-     }
- 
-diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java openjdk/jdk/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java
---- openjdk.orig/jdk/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java	2008-12-02 15:15:10.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java	2008-12-02 15:22:50.000000000 +0000
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2003-2004 Sun Microsystems, Inc.  All Rights Reserved.
-+ * Copyright 2003-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,7 +47,7 @@
-     // public exponent to use
-     private BigInteger publicExponent;
- 
--    // size of the key to generate, >= 512
-+    // size of the key to generate, >= RSAKeyFactory.MIN_MODLEN
-     private int keySize;
- 
-     // PRNG to use
-@@ -60,15 +60,16 @@
- 
-     // initialize the generator. See JCA doc
-     public void initialize(int keySize, SecureRandom random) {
--        if (keySize < 512) {
--            throw new InvalidParameterException
--                ("Key size must be at least 512 bits");
--        }
--        if (keySize > 64 * 1024) {
--            // do not allow unreasonably large key sizes, probably user error
--            throw new InvalidParameterException
--                ("Key size must be 65536 bits or less");
-+
-+        // do not allow unreasonably small or large key sizes,
-+        // probably user error
-+        try {
-+            RSAKeyFactory.checkKeyLengths(keySize, RSAKeyGenParameterSpec.F4,
-+                512, 64 * 1024);
-+        } catch (InvalidKeyException e) {
-+            throw new InvalidParameterException(e.getMessage());
-         }
-+
-         this.keySize = keySize;
-         this.random = random;
-         this.publicExponent = RSAKeyGenParameterSpec.F4;
-@@ -77,35 +78,41 @@
-     // second initialize method. See JCA doc.
-     public void initialize(AlgorithmParameterSpec params, SecureRandom random)
-             throws InvalidAlgorithmParameterException {
-+
-         if (params instanceof RSAKeyGenParameterSpec == false) {
-             throw new InvalidAlgorithmParameterException
-                 ("Params must be instance of RSAKeyGenParameterSpec");
-         }
-+
-         RSAKeyGenParameterSpec rsaSpec = (RSAKeyGenParameterSpec)params;
--        keySize = rsaSpec.getKeysize();
--        publicExponent = rsaSpec.getPublicExponent();
--        this.random = random;
--        if (keySize < 512) {
--            throw new InvalidAlgorithmParameterException
--                ("Key size must be at least 512 bits");
--        }
--        if (keySize > 64 * 1024) {
--            // do not allow unreasonably large key sizes, probably user error
--            throw new InvalidAlgorithmParameterException
--                ("Key size must be 65536 bits or less");
--        }
--        if (publicExponent == null) {
--            publicExponent = RSAKeyGenParameterSpec.F4;
-+        int tmpKeySize = rsaSpec.getKeysize();
-+        BigInteger tmpPublicExponent = rsaSpec.getPublicExponent();
-+
-+        if (tmpPublicExponent == null) {
-+            tmpPublicExponent = RSAKeyGenParameterSpec.F4;
-         } else {
--            if (publicExponent.compareTo(RSAKeyGenParameterSpec.F0) < 0) {
-+            if (tmpPublicExponent.compareTo(RSAKeyGenParameterSpec.F0) < 0) {
-                 throw new InvalidAlgorithmParameterException
-                         ("Public exponent must be 3 or larger");
-             }
--            if (publicExponent.bitLength() > keySize) {
-+            if (tmpPublicExponent.bitLength() > tmpKeySize) {
-                 throw new InvalidAlgorithmParameterException
-                         ("Public exponent must be smaller than key size");
-             }
-         }
-+
-+        // do not allow unreasonably large key sizes, probably user error
-+        try {
-+            RSAKeyFactory.checkKeyLengths(tmpKeySize, tmpPublicExponent,
-+                512, 64 * 1024);
-+        } catch (InvalidKeyException e) {
-+            throw new InvalidAlgorithmParameterException(
-+                "Invalid key sizes", e);
-+        }
-+
-+        this.keySize = tmpKeySize;
-+        this.publicExponent = tmpPublicExponent;
-+        this.random = random;
-     }
- 
-     // generate the keypair. See JCA doc
-diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java openjdk/jdk/src/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java
---- openjdk.orig/jdk/src/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java	2008-12-02 15:15:10.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java	2008-12-02 15:22:50.000000000 +0000
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
-+ * Copyright 2003-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
-@@ -89,7 +89,7 @@
-      */
-     RSAPrivateCrtKeyImpl(byte[] encoded) throws InvalidKeyException {
-         decode(encoded);
--        RSAKeyFactory.checkKeyLength(n);
-+        RSAKeyFactory.checkRSAProviderKeyLengths(n.bitLength(), e);
-     }
- 
-     /**
-@@ -107,7 +107,8 @@
-         this.pe = pe;
-         this.qe = qe;
-         this.coeff = coeff;
--        RSAKeyFactory.checkKeyLength(n);
-+        RSAKeyFactory.checkRSAProviderKeyLengths(n.bitLength(), e);
-+
-         // generate the encoding
-         algid = rsaId;
-         try {
-diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java openjdk/jdk/src/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java
---- openjdk.orig/jdk/src/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java	2008-12-02 15:15:10.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java	2008-12-02 15:22:50.000000000 +0000
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
-+ * Copyright 2003-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
-@@ -61,7 +61,7 @@
-     RSAPrivateKeyImpl(BigInteger n, BigInteger d) throws InvalidKeyException {
-         this.n = n;
-         this.d = d;
--        RSAKeyFactory.checkKeyLength(n);
-+        RSAKeyFactory.checkRSAProviderKeyLengths(n.bitLength(), null);
-         // generate the encoding
-         algid = RSAPrivateCrtKeyImpl.rsaId;
-         try {
-diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/rsa/RSAPublicKeyImpl.java openjdk/jdk/src/share/classes/sun/security/rsa/RSAPublicKeyImpl.java
---- openjdk.orig/jdk/src/share/classes/sun/security/rsa/RSAPublicKeyImpl.java	2008-12-02 15:15:10.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/security/rsa/RSAPublicKeyImpl.java	2008-12-02 15:22:50.000000000 +0000
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
-+ * Copyright 2003-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
-@@ -56,10 +56,11 @@
-      * Construct a key from its components. Used by the
-      * RSAKeyFactory and the RSAKeyPairGenerator.
-      */
--    public RSAPublicKeyImpl(BigInteger n, BigInteger e) throws InvalidKeyException {
-+    public RSAPublicKeyImpl(BigInteger n, BigInteger e)
-+            throws InvalidKeyException {
-         this.n = n;
-         this.e = e;
--        RSAKeyFactory.checkKeyLength(n);
-+        RSAKeyFactory.checkRSAProviderKeyLengths(n.bitLength(), e);
-         // generate the encoding
-         algid = RSAPrivateCrtKeyImpl.rsaId;
-         try {
-@@ -80,7 +81,7 @@
-      */
-     public RSAPublicKeyImpl(byte[] encoded) throws InvalidKeyException {
-         decode(encoded);
--        RSAKeyFactory.checkKeyLength(n);
-+        RSAKeyFactory.checkRSAProviderKeyLengths(n.bitLength(), e);
-     }
- 
-     // see JCA doc
-diff -Nru openjdk.orig/jdk/src/windows/classes/sun/security/mscapi/RSAKeyPairGenerator.java openjdk/jdk/src/windows/classes/sun/security/mscapi/RSAKeyPairGenerator.java
---- openjdk.orig/jdk/src/windows/classes/sun/security/mscapi/RSAKeyPairGenerator.java	2008-12-02 15:15:21.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/security/mscapi/RSAKeyPairGenerator.java	2008-12-02 15:22:50.000000000 +0000
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2005 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
-@@ -31,6 +31,7 @@
- import java.security.spec.RSAKeyGenParameterSpec;
- 
- import sun.security.jca.JCAUtil;
-+import sun.security.rsa.RSAKeyFactory;
- 
- /**
-  * RSA keypair generator.
-@@ -43,8 +44,8 @@
- public final class RSAKeyPairGenerator extends KeyPairGeneratorSpi {
- 
-     // Supported by Microsoft Base, Strong and Enhanced Cryptographic Providers
--    private static final int KEY_SIZE_MIN = 512; // disallow MSCAPI min. of 384
--    private static final int KEY_SIZE_MAX = 16384;
-+    static final int KEY_SIZE_MIN = 512; // disallow MSCAPI min. of 384
-+    static final int KEY_SIZE_MAX = 16384;
-     private static final int KEY_SIZE_DEFAULT = 1024;
- 
-     // size of the key to generate, KEY_SIZE_MIN <= keySize <= KEY_SIZE_MAX
-@@ -59,7 +60,14 @@
-     // random is always ignored
-     public void initialize(int keySize, SecureRandom random) {
- 
--        checkKeySize(keySize);
-+        try {
-+            RSAKeyFactory.checkKeyLengths(keySize, null,
-+                KEY_SIZE_MIN, KEY_SIZE_MAX);
-+        } catch (InvalidKeyException e) {
-+            throw new InvalidParameterException(e.getMessage());
-+        }
-+
-+        this.keySize = keySize;
-     }
- 
-     // second initialize method. See JCA doc
-@@ -67,21 +75,31 @@
-     public void initialize(AlgorithmParameterSpec params, SecureRandom random)
-             throws InvalidAlgorithmParameterException {
- 
-+        int tmpSize;
-         if (params == null) {
--            checkKeySize(KEY_SIZE_DEFAULT);
--
-+            tmpSize = KEY_SIZE_DEFAULT;
-         } else if (params instanceof RSAKeyGenParameterSpec) {
- 
-             if (((RSAKeyGenParameterSpec) params).getPublicExponent() != null) {
-                 throw new InvalidAlgorithmParameterException
-                     ("Exponent parameter is not supported");
-             }
--            checkKeySize(((RSAKeyGenParameterSpec) params).getKeysize());
-+            tmpSize = ((RSAKeyGenParameterSpec) params).getKeysize();
- 
-         } else {
-             throw new InvalidAlgorithmParameterException
-                 ("Params must be an instance of RSAKeyGenParameterSpec");
-         }
-+
-+        try {
-+            RSAKeyFactory.checkKeyLengths(tmpSize, null,
-+                KEY_SIZE_MIN, KEY_SIZE_MAX);
-+        } catch (InvalidKeyException e) {
-+            throw new InvalidAlgorithmParameterException(
-+                "Invalid Key sizes", e);
-+        }
-+
-+        this.keySize = tmpSize;
-     }
- 
-     // generate the keypair. See JCA doc
-@@ -95,18 +113,6 @@
-         return new KeyPair(keys.getPublic(), keys.getPrivate());
-     }
- 
--    private void checkKeySize(int keySize) throws InvalidParameterException {
--        if (keySize < KEY_SIZE_MIN) {
--            throw new InvalidParameterException
--                ("Key size must be at least " + KEY_SIZE_MIN + " bits");
--        }
--        if (keySize > KEY_SIZE_MAX) {
--            throw new InvalidParameterException
--                ("Key size must be " + KEY_SIZE_MAX + " bits or less");
--        }
--        this.keySize = keySize;
--    }
--
-     private static native RSAKeyPair generateRSAKeyPair(int keySize,
-         String keyContainerName);
- }
-diff -Nru openjdk.orig/jdk/src/windows/classes/sun/security/mscapi/RSASignature.java openjdk/jdk/src/windows/classes/sun/security/mscapi/RSASignature.java
---- openjdk.orig/jdk/src/windows/classes/sun/security/mscapi/RSASignature.java	2008-12-02 15:15:21.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/security/mscapi/RSASignature.java	2008-12-02 15:22:50.000000000 +0000
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2005 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
-@@ -38,6 +38,9 @@
- import java.security.Signature;
- import java.security.SignatureSpi;
- import java.security.SignatureException;
-+import java.math.BigInteger;
-+
-+import sun.security.rsa.RSAKeyFactory;
- 
- /**
-  * RSA signature implementation. Supports RSA signing using PKCS#1 v1.5 padding.
-@@ -124,7 +127,16 @@
- 
-             // convert key to MSCAPI format
- 
--            byte[] modulusBytes = rsaKey.getModulus().toByteArray();
-+            BigInteger modulus = rsaKey.getModulus();
-+            BigInteger exponent =  rsaKey.getPublicExponent();
-+
-+            // Check against the local and global values to make sure
-+            // the sizes are ok.  Round up to the nearest byte.
-+            RSAKeyFactory.checkKeyLengths(((modulus.bitLength() + 7) & ~7),
-+                exponent, -1, RSAKeyPairGenerator.KEY_SIZE_MAX);
-+
-+            byte[] modulusBytes = modulus.toByteArray();
-+            byte[] exponentBytes = exponent.toByteArray();
- 
-             // Adjust key length due to sign bit
-             int keyBitLength = (modulusBytes[0] == 0)
-@@ -132,8 +144,7 @@
-                 : modulusBytes.length * 8;
- 
-             byte[] keyBlob = generatePublicKeyBlob(
--                keyBitLength, modulusBytes,
--                rsaKey.getPublicExponent().toByteArray());
-+                keyBitLength, modulusBytes, exponentBytes);
- 
-             publicKey = importPublicKey(keyBlob, keyBitLength);
- 
-@@ -166,12 +177,11 @@
-         }
-         privateKey = (sun.security.mscapi.RSAPrivateKey) key;
- 
--        // Determine byte length from bit length
--        int keySize = (privateKey.bitLength() + 7) >> 3;
--
--        if (keySize < 64)
--            throw new InvalidKeyException(
--                "RSA keys must be at least 512 bits long");
-+        // Check against the local and global values to make sure
-+        // the sizes are ok.  Round up to nearest byte.
-+        RSAKeyFactory.checkKeyLengths(((privateKey.bitLength() + 7) & ~7),
-+            null, RSAKeyPairGenerator.KEY_SIZE_MIN,
-+            RSAKeyPairGenerator.KEY_SIZE_MAX);
- 
-         if (needsReset) {
-             messageDigest.reset();
-
--- a/patches/security/icedtea-6588160.patch	Thu May 07 16:58:42 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
---- /export/home/max/ws/jdk6-open/jdk/webrev/src/share/classes/sun/security/krb5/KrbKdcReq.java-        Sun Aug 31 20:04:55 2008
-+++ openjdk/jdk/src/share/classes/sun/security/krb5/KrbKdcReq.java      Sun Aug 31 19:33:19 2008
-@@ -271,10 +271,11 @@
-                                +  port +  ", timeout="
-                                + timeout
-                                + ",Attempt =" + i
-                                + ", #bytes=" + obuf.length);
-                     }
-+                    try {
-                     /*
-                      * Send the data to the kdc.
-                      */
- 
-                     kdcClient.send(obuf);
-@@ -293,11 +294,14 @@
-                         if (i == DEFAULT_KDC_RETRY_LIMIT) {
-                             ibuf = null;
-                             throw se;
-                         }
-                     }
-+                    } finally {
-+                        kdcClient.close();
-                 }
-+                }
-             }
-             return ibuf;
-         }
-     }
- 
---- /export/home/max/ws/jdk6-open/jdk/webrev/src/share/classes/sun/security/krb5/internal/UDPClient.java-       Sun Aug 31 20:04:55 2008
-+++ openjdk/jdk/src/share/classes/sun/security/krb5/internal/UDPClient.java      Sun Aug 31 20:02:07 2008
-@@ -90,6 +90,9 @@
-         System.arraycopy(dgPacketIn.getData(), 0, data, 0,
-                          dgPacketIn.getLength());
-         return data;
-     }
- 
-+    public void close() {
-+        dgSocket.close();
-+    }
- }
-
--- a/patches/security/icedtea-6592792.patch	Thu May 07 16:58:42 2009 +0100
+++ b/patches/security/icedtea-6592792.patch	Wed May 13 01:31:07 2009 +0100
@@ -1,133 +1,6 @@
-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
+--- openjdk.orig/jdk/src/share/lib/security/java.security	2009-03-30 17:23:07.000000000 +0100
++++ openjdk/jdk/src/share/lib/security/java.security	2009-05-12 23:41:24.000000000 +0100
 @@ -127,7 +127,7 @@
  # passed to checkPackageAccess unless the
  # corresponding RuntimePermission ("accessClassInPackage."+package) has
@@ -138,8 +11,8 @@
  #
  # 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
+--- openjdk.orig/jdk/src/share/lib/security/java.security-solaris	2009-03-30 17:23:07.000000000 +0100
++++ openjdk/jdk/src/share/lib/security/java.security-solaris	2009-05-12 23:41:24.000000000 +0100
 @@ -128,7 +128,7 @@
  # passed to checkPackageAccess unless the
  # corresponding RuntimePermission ("accessClassInPackage."+package) has
@@ -150,8 +23,8 @@
  #
  # 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
+--- openjdk.orig/jdk/src/share/lib/security/java.security-windows	2009-03-30 17:23:07.000000000 +0100
++++ openjdk/jdk/src/share/lib/security/java.security-windows	2009-05-12 23:41:24.000000000 +0100
 @@ -128,7 +128,7 @@
  # passed to checkPackageAccess unless the
  # corresponding RuntimePermission ("accessClassInPackage."+package) has
@@ -163,7 +36,7 @@
  # 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/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
++++ openjdk/jdk/test/com/sun/org/apache/xml/internal/ws/server/Test.java	2009-05-12 23:41:24.000000000 +0100
 @@ -0,0 +1,65 @@
 +/*
 + *  @test
--- a/patches/security/icedtea-6726779.patch	Thu May 07 16:58:42 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
---- old/src/share/native/sun/awt/medialib/awt_ImagingLib.c	Thu Aug  7 10:06:12 2008
-+++ openjdk/jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c	Thu Aug  7 10:06:12 2008
-@@ -216,6 +216,16 @@
- 
- #endif /* ! DEBUG */
- 
-+static int
-+getMlibEdgeHint(jint edgeHint) {
-+    switch (edgeHint) {
-+    case java_awt_image_ConvolveOp_EDGE_NO_OP:
-+        return MLIB_EDGE_DST_COPY_SRC;
-+    case java_awt_image_ConvolveOp_EDGE_ZERO_FILL:
-+    default:
-+        return MLIB_EDGE_DST_FILL_ZERO;
-+    }
-+}
- 
- /***************************************************************************
-  *                          External Functions                             *
-@@ -400,22 +410,10 @@
-         }
-     }
- 
--    if (edgeHint == java_awt_image_ConvolveOp_EDGE_NO_OP) {
--        int kw2 = kwidth>>1;
--        int kh2 = kheight>>1;
--        int bsize = mlib_ImageGetChannels(src)*
--            (mlib_ImageGetType(src) == MLIB_BYTE ? 1 : 2);
--
--        void *dstDataP = mlib_ImageGetData(dst);
--        void *srcDataP = mlib_ImageGetData(src);
--        /* REMIND: Copy a smaller area */
--        memcpy(dstDataP, srcDataP, dst->width*dst->height*bsize);
--    }
--
-     cmask = (1<<src->channels)-1;
-     status = (*sMlibFns[MLIB_CONVMxN].fptr)(dst, src, kdata, w, h,
-                                (w-1)/2, (h-1)/2, scale, cmask,
--                               MLIB_EDGE_DST_NO_WRITE);
-+                               getMlibEdgeHint(edgeHint));
- 
-     if (status != MLIB_SUCCESS) {
-         printMedialibError(status);
-@@ -660,22 +658,10 @@
-         }
-     }
- 
--    if (edgeHint == java_awt_image_ConvolveOp_EDGE_NO_OP) {
--        int kw2 = kwidth>>1;
--        int kh2 = kheight>>1;
--        int bsize = mlib_ImageGetChannels(src)*
--            (mlib_ImageGetType(src) == MLIB_BYTE ? 1 : 2);
--
--        void *dstDataP = mlib_ImageGetData(dst);
--        void *srcDataP = mlib_ImageGetData(src);
--        /* REMIND: Copy a smaller area */
--        memcpy(dstDataP, srcDataP, dst->width*dst->height*bsize);
--    }
--
-     cmask = (1<<src->channels)-1;
-     status = (*sMlibFns[MLIB_CONVMxN].fptr)(dst, src, kdata, w, h,
-                                (w-1)/2, (h-1)/2, scale, cmask,
--                               MLIB_EDGE_DST_NO_WRITE);
-+                               getMlibEdgeHint(edgeHint));
- 
-     if (status != MLIB_SUCCESS) {
-         printMedialibError(status);
---- /dev/null	Thu Aug  7 10:06:15 2008
-+++ openjdk/jdk/test/java/awt/image/ConvolveOp/EdgeNoOpCrash.java	Thu Aug  7 10:06:14 2008
-@@ -0,0 +1,72 @@
-+/*
-+ * @test    @(#)EdgeNoOpCrash.java	1.1 08/08/07
-+ * @bug     6726779
-+ * @summary Test verifies that ConvolveOp with the EDGE_NO_OP edge condition
-+ *          does not cause JVM crash if size of source raster elements is
-+ *          greather than size of the destination raster element.
-+ *
-+ * @run     main EdgeNoOpCrash
-+ */
-+import java.awt.Point;
-+import java.awt.image.ConvolveOp;
-+import java.awt.image.DataBuffer;
-+import java.awt.image.ImagingOpException;
-+import java.awt.image.Kernel;
-+import java.awt.image.Raster;
-+import java.awt.image.WritableRaster;
-+import java.util.Arrays;
-+
-+public class EdgeNoOpCrash {
-+    private static final int w = 3000;
-+    private static final int h = 200;
-+    
-+    public static void main(String[] args) {
-+        crashTest();
-+    }
-+    
-+    private static void crashTest() {
-+        Raster src = createSrcRaster();
-+        WritableRaster dst = createDstRaster();
-+        ConvolveOp op = createConvolveOp(ConvolveOp.EDGE_NO_OP);
-+        try {
-+            op.filter(src, dst);
-+        } catch (ImagingOpException e) {
-+            /* 
-+             * The test pair of source and destination rasters
-+             * may cause failure of the medialib convolution routine,
-+             * so this exception is expected.
-+             * 
-+             * The JVM crash is the only manifestation of this
-+             * test failure.
-+             */
-+        }
-+        System.out.println("Test PASSED.");
-+    }
-+    
-+    private static Raster createSrcRaster() {
-+        WritableRaster r = Raster.createInterleavedRaster(DataBuffer.TYPE_USHORT,
-+                w, h, 4, new Point(0, 0));
-+        
-+        return r;
-+    }
-+    
-+    private static WritableRaster createDstRaster() {
-+        WritableRaster r = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE,
-+                w, h, 4, new Point(0, 0));
-+
-+        return r;
-+    }
-+    
-+    private static ConvolveOp createConvolveOp(int edgeHint) {
-+        final int kw = 3;
-+        final int kh = 3;
-+        float[] kdata = new float[kw * kh];
-+        float v = 1f / kdata.length;
-+        Arrays.fill(kdata, v);
-+        
-+        Kernel k = new Kernel(kw, kh, kdata);
-+        ConvolveOp op = new ConvolveOp(k, edgeHint, null);
-+        
-+        return op;
-+    }
-+}
--- a/patches/security/icedtea-6733959.patch	Thu May 07 16:58:42 2009 +0100
+++ b/patches/security/icedtea-6733959.patch	Wed May 13 01:31:07 2009 +0100
@@ -1,6 +1,6 @@
 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
+--- openjdk.orig/jdk/src/share/bin/java.c	2009-05-12 23:35:16.000000000 +0100
++++ openjdk/jdk/src/share/bin/java.c	2009-05-12 23:43:56.000000000 +0100
 @@ -885,8 +885,14 @@
       * "Valid" returns (other than unrecoverable errors) follow.  Set
       * main_class as a side-effect of this routine.
@@ -17,209 +17,3 @@
  
      /*
       * If no version selection information is found either on the command
-diff -Nru openjdk.orig/jdk/test/tools/launcher/MultipleJRE.sh openjdk/jdk/test/tools/launcher/MultipleJRE.sh
---- openjdk.orig/jdk/test/tools/launcher/MultipleJRE.sh	2008-12-03 12:35:03.000000000 +0000
-+++ openjdk/jdk/test/tools/launcher/MultipleJRE.sh	2008-12-02 17:07:57.000000000 +0000
-@@ -49,10 +49,23 @@
-   exit 1
- fi
- 
-+JAVAEXE="$TESTJAVA/bin/java"
- JAVA="$TESTJAVA/bin/java -classpath $TESTCLASSES"
- JAR="$TESTJAVA/bin/jar"
- OS=`uname -s`;
- 
-+# Tests whether we are on windows (true) or not.
-+IsWindows() {
-+    case "$OS" in
-+        Windows* | CYGWIN* )
-+            printf "true"
-+        ;;
-+        * )
-+            printf "false"
-+        ;;
-+    esac
-+}
-+
- #
- # Shell routine to test for the proper rejection of syntactically incorrect
- # version specifications.
-@@ -262,6 +275,29 @@
- 	fi
- }
- 
-+# Tests very long Main-Class attribute in the jar.
-+TestLongMainClass() {
-+    JVER=$1
-+    if [ "$JVER" = "mklink" ]; then
-+        JVER=XX
-+        JDKXX=jdk/j2re$JVER
-+        rm -rf jdk
-+        mkdir jdk
-+        ln -s $TESTJAVA $JDKXX
-+        JAVA_VERSION_PATH="`pwd`/jdk"
-+        export JAVA_VERSION_PATH
-+    fi
-+    $JAVAEXE -cp $TESTCLASSES ZipMeUp UglyBetty.jar 4097 
-+    message="`$JAVAEXE -version:$JVER -jar UglyBetty.jar 2>&1`"
-+    echo $message | grep "Error: main-class: attribute exceeds system limits" > /dev/null 2>&1
-+    if [ $? -ne 0 ]; then
-+        printf "Long manifest test did not get expected error"
-+        exit 1
-+    fi
-+    unset JAVA_VERSION_PATH
-+    rm -rf jdk
-+}
-+
- #
- # Main test sequence starts here
- #
-@@ -280,14 +316,12 @@
- LaunchVM "" "${RELEASE}"
- CreateJar "" "0"
- LaunchVM "" "${RELEASE}"
--case "$OS" in
--	Windows* | CYGWIN* )
--		MAXIMUM_PATH=255;
--	;;
--	*)
--		MAXIMUM_PATH=1024;
--	;;
--esac
-+if [ `IsWindows` = "true" ]; then
-+    MAXIMUM_PATH=115;  # 115 = 255 - 140
-+else
-+    MAXIMUM_PATH=884;  # 884 = 1024 - 140
-+fi
-+
- 
- PATH_LENGTH=`printf "%s" "$UGLYCLASS" | wc -c`
- if [ ${PATH_LENGTH} -lt ${MAXIMUM_PATH} ]; then
-@@ -357,15 +391,28 @@
- TestSyntax "1.2+.3"				# Embedded modifier
- TestSyntax "1.2.4+&1.2*&1++"			# Long and invalid
- 
-+# On windows we see if there is another jre installed, usually
-+# there is, then we test using that, otherwise links are created
-+# to get through to SelectVersion.
-+if [ `IsWindows` = "false" ]; then
-+   TestLongMainClass "mklink"
-+else
-+    $JAVAEXE -version:1.0+
-+    if [ $? -eq 0 ]; then
-+        TestLongMainClass "1.0+"
-+    else
-+        printf  "Warning: TestLongMainClass skipped as there is no"
-+       printf  "viable MJRE installed.\n"
-+    fi
-+fi
-+
- #
- # Because scribbling in the registry can be rather destructive, only a
- # subset of the tests are run on Windows.
- #
--case "$OS" in
--	Windows* | CYGWIN* )
--		exit 0;
--	;;
--esac
-+if [ `IsWindows` = "true" ]; then
-+   exit 0;
-+fi
- 
- #
- # Additional version specifiers containing spaces.  (Sigh, unable to
-diff -Nru openjdk.orig/jdk/test/tools/launcher/ZipMeUp.java openjdk/jdk/test/tools/launcher/ZipMeUp.java
---- openjdk.orig/jdk/test/tools/launcher/ZipMeUp.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/tools/launcher/ZipMeUp.java	2008-12-02 17:07:57.000000000 +0000
-@@ -0,0 +1,90 @@
-+/*
-+ * 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.
-+ *
-+ * 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.
-+ */
-+
-+/**
-+ * A simple class to create our erring Jar with a very long Main-Class
-+ * attribute in the manifest.
-+ */
-+import java.io.ByteArrayOutputStream;
-+import java.io.FileOutputStream;
-+import java.io.IOException;
-+import java.io.PrintStream;
-+import java.util.zip.CRC32;
-+import java.util.zip.CheckedOutputStream;
-+import java.util.zip.ZipEntry;
-+import java.util.zip.ZipOutputStream;
-+public class ZipMeUp {
-+    
-+    static final CRC32 crc = new CRC32();
-+    
-+    private static String SOME_KLASS = ".Some";
-+    
-+    static byte[] getManifestAsBytes(int nchars) throws IOException {
-+        crc.reset();
-+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-+        CheckedOutputStream cos = new CheckedOutputStream(baos, crc);
-+        PrintStream ps = new PrintStream(cos);
-+        ps.println("Manifest-Version: 1.0");
-+        ps.print("Main-Class: ");
-+        for (int i = 0 ; i < nchars - SOME_KLASS.length(); i++) {
-+            ps.print(i%10);
-+        }
-+        ps.println(SOME_KLASS);
-+        cos.flush();
-+        cos.close();
-+        ps.close();
-+        return baos.toByteArray();
-+    }
-+    /**
-+     * The arguments are: filename_to_create length
-+     * @param args
-+     * @throws java.lang.Exception
-+     */
-+    public static void main(String...args) throws Exception  {
-+        FileOutputStream fos = new FileOutputStream(args[0]);
-+        ZipOutputStream zos = new ZipOutputStream(fos);
-+        byte[] manifest = getManifestAsBytes(Integer.parseInt(args[1]));
-+        ZipEntry ze = new ZipEntry("META-INF/MANIFEST.MF");
-+        ze.setMethod(ZipEntry.STORED);
-+        ze.setSize(manifest.length);
-+        ze.setCompressedSize(manifest.length);
-+        ze.setCrc(crc.getValue());
-+        ze.setTime(System.currentTimeMillis());
-+        zos.putNextEntry(ze);
-+        zos.write(manifest);
-+        zos.flush();
-+        
-+        // add a zero length class
-+        ze = new ZipEntry(SOME_KLASS + ".class");
-+        ze.setMethod(ZipEntry.STORED);
-+        ze.setSize(0);
-+        ze.setCompressedSize(0);
-+        ze.setCrc(0);
-+        ze.setTime(System.currentTimeMillis());
-+        zos.putNextEntry(ze);
-+        zos.flush();
-+        zos.closeEntry();
-+        zos.close();
-+        System.exit(0);
-+    }
-+}
--- a/patches/security/icedtea-6734167.patch	Thu May 07 16:58:42 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
---- old/src/share/classes/java/util/Calendar.java	Fri Oct  3 00:27:50 2008
-+++ openjdk/jdk/src/share/classes/java/util/Calendar.java	Fri Oct  3 00:27:50 2008
-@@ -41,9 +41,14 @@
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
-+import java.io.OptionalDataException;
- import java.io.Serializable;
-+import java.security.AccessControlContext;
- import java.security.AccessController;
-+import java.security.PermissionCollection;
-+import java.security.PrivilegedActionException;
- import java.security.PrivilegedExceptionAction;
-+import java.security.ProtectionDomain;
- import java.text.DateFormat;
- import java.text.DateFormatSymbols;
- import sun.util.BuddhistCalendar;
-@@ -2626,6 +2631,18 @@
-         }
-     }
- 
-+    private static class CalendarAccessControlContext {
-+        private static final AccessControlContext INSTANCE;
-+        static {
-+            RuntimePermission perm = new RuntimePermission("accessClassInPackage.sun.util.calendar");
-+            PermissionCollection perms = perm.newPermissionCollection();
-+            perms.add(perm);
-+            INSTANCE = new AccessControlContext(new ProtectionDomain[] {
-+                                                    new ProtectionDomain(null, perms)
-+                                                });
-+        }
-+    }
-+
-     /**
-      * Reconstitutes this object from a stream (i.e., deserialize it).
-      */
-@@ -2655,17 +2672,30 @@
-         serialVersionOnStream = currentSerialVersion;
- 
-         // If there's a ZoneInfo object, use it for zone.
-+        ZoneInfo zi = null;
-         try {
--            ZoneInfo zi = (ZoneInfo) AccessController.doPrivileged(
--                new PrivilegedExceptionAction() {
--                    public Object run() throws Exception {
--                        return input.readObject();
--                    }
--                });
--            if (zi != null) {
--                zone = zi;
-+            zi = AccessController.doPrivileged(
-+                    new PrivilegedExceptionAction<ZoneInfo>() {
-+                        public ZoneInfo run() throws Exception {
-+                            return (ZoneInfo) input.readObject();
-+                        }
-+                    },
-+                    CalendarAccessControlContext.INSTANCE);
-+        } catch (PrivilegedActionException pae) {
-+            Exception e = pae.getException();
-+            if (!(e instanceof OptionalDataException)) {
-+                if (e instanceof RuntimeException) {
-+                    throw (RuntimeException) e;
-+                } else if (e instanceof IOException) {
-+                    throw (IOException) e;
-+                } else if (e instanceof ClassNotFoundException) {
-+                    throw (ClassNotFoundException) e;
-+                }
-+                throw new RuntimeException(e);
-             }
--        } catch (Exception e) {
-+        }
-+        if (zi != null) {
-+            zone = zi;
-         }
- 
-         // If the deserialized object has a SimpleTimeZone, try to
-@@ -2674,9 +2704,9 @@
-         // implementation as much as possible.
-         if (zone instanceof SimpleTimeZone) {
-             String id = zone.getID();
--            TimeZone zi = TimeZone.getTimeZone(id);
--            if (zi != null && zi.hasSameRules(zone) && zi.getID().equals(id)) {
--                zone = zi;
-+            TimeZone tz = TimeZone.getTimeZone(id);
-+            if (tz != null && tz.hasSameRules(zone) && tz.getID().equals(id)) {
-+                zone = tz;
-             }
-         }
-     }
--- a/patches/security/icedtea-6766136.patch	Thu May 07 16:58:42 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
---- old/src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h	Wed Nov 12 12:25:11 2008
-+++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h	Wed Nov 12 12:25:11 2008
-@@ -31,7 +31,7 @@
- /* here come some very simple macros */
- 
- /* advance a pointer p by sizeof(type)*n bytes */
--#define INCPN(type,p,n) ((p) = (type*)(p)+n)
-+#define INCPN(type,p,n) ((p) = (type*)(p)+(n))
- 
- /* advance a pointer by sizeof(type) */
- #define INCP(type,p) INCPN(type,(p),1)
---- old/src/share/native/sun/awt/splashscreen/splashscreen_gif.c	Wed Nov 12 12:25:12 2008
-+++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c	Wed Nov 12 12:25:12 2008
-@@ -53,6 +53,10 @@
- // convert libungif samples to our ones
- #define MAKE_QUAD_GIF(c,a) MAKE_QUAD((c).Red, (c).Green, (c).Blue, (a))
- 
-+#define SAFE_TO_ALLOC(c, sz)                                               \
-+    (((c) > 0) && ((sz) > 0) &&                                            \
-+     ((0xffffffffu / ((unsigned int)(c))) > (unsigned int)(sz)))
-+
- /* stdio FILE* and memory input functions for libungif */
- int
- SplashStreamGifInputFunc(GifFileType * gif, GifByteType * buf, int n)
-@@ -62,6 +66,15 @@
-     return rc;
- }
- 
-+/* These macro help to ensure that we only take part of frame that fits into 
-+   logical screen. */
-+
-+/* Ensure that p belongs to [pmin, pmax) interval. Returns fixed point (if fix is needed) */
-+#define FIX_POINT(p, pmin, pmax) ( ((p) < (pmin)) ? (pmin) : (((p) > (pmax)) ? (pmax) : (p)))
-+/* Ensures that line starting at point p does not exceed boundary pmax.
-+   Returns fixed length (if fix is needed) */
-+#define FIX_LENGTH(p, len, pmax) ( ((p) + (len)) > (pmax) ? ((pmax) - (p)) : (len))
-+
- int
- SplashDecodeGif(Splash * splash, GifFileType * gif)
- {
-@@ -70,6 +83,7 @@
-     byte_t *pBitmapBits, *pOldBitmapBits;
-     int i, j;
-     int imageIndex;
-+    int cx, cy, cw, ch; /* clamped coordinates */
-     const int interlacedOffset[] = { 0, 4, 2, 1, 0 };   /* The way Interlaced image should. */
-     const int interlacedJumps[] = { 8, 8, 4, 2, 1 };    /* be read - offsets and jumps... */
- 
-@@ -79,14 +93,31 @@
- 
-     SplashCleanup(splash);
- 
-+    if (!SAFE_TO_ALLOC(gif->SWidth, splash->imageFormat.depthBytes)) {
-+        return 0;
-+    }
-     stride = gif->SWidth * splash->imageFormat.depthBytes;
-     if (splash->byteAlignment > 1)
-         stride =
-             (stride + splash->byteAlignment - 1) & ~(splash->byteAlignment - 1);
- 
-+    if (!SAFE_TO_ALLOC(gif->SHeight, stride)) {
-+        return 0;
-+    }
-+
-+    if (!SAFE_TO_ALLOC(gif->ImageCount, sizeof(SplashImage*))) {
-+        return 0;
-+    }
-     bufferSize = stride * gif->SHeight;
-     pBitmapBits = (byte_t *) malloc(bufferSize);
-+    if (!pBitmapBits) {
-+        return 0;
-+    }
-     pOldBitmapBits = (byte_t *) malloc(bufferSize);
-+    if (!pOldBitmapBits) {
-+        free(pBitmapBits);
-+        return 0;
-+    }
-     memset(pBitmapBits, 0, bufferSize);
- 
-     splash->width = gif->SWidth;
-@@ -94,6 +125,11 @@
-     splash->frameCount = gif->ImageCount;
-     splash->frames = (SplashImage *)
-         malloc(sizeof(SplashImage) * gif->ImageCount);
-+    if (!splash->frames) {
-+      free(pBitmapBits);
-+      free(pOldBitmapBits);
-+      return 0;
-+    } 
-     memset(splash->frames, 0, sizeof(SplashImage) * gif->ImageCount);
-     splash->loopCount = 1;
- 
-@@ -109,6 +145,11 @@
-         int colorCount = 0;
-         rgbquad_t colorMapBuf[SPLASH_COLOR_MAP_SIZE];
- 
-+	cx = FIX_POINT(desc->Left, 0, gif->SWidth);
-+	cy = FIX_POINT(desc->Top, 0, gif->SHeight);
-+	cw = FIX_LENGTH(desc->Left, desc->Width, gif->SWidth);
-+	ch = FIX_LENGTH(desc->Top, desc->Height, gif->SHeight);
-+
-         if (colorMap) {
-             if (colorMap->ColorCount <= SPLASH_COLOR_MAP_SIZE) {
-                 colorCount = colorMap->ColorCount;
-@@ -195,13 +236,24 @@
-             for (; pass < npass; ++pass) {
-                 int jump = interlacedJumps[pass];
-                 int ofs = interlacedOffset[pass];
--                int numLines = (desc->Height + jump - 1 - ofs) / jump;
-+                /* Number of source lines for current pass */
-+                int numPassLines = (desc->Height + jump - ofs - 1) / jump;
-+                /* Number of lines that fits to dest buffer */
-+                int numLines = (ch + jump - ofs - 1) / jump;
- 
-+
-                 initRect(&srcRect, 0, 0, desc->Width, numLines, 1,
-                     desc->Width, pSrc, &srcFormat);
--                initRect(&dstRect, desc->Left, desc->Top + ofs, desc->Width,
--                    numLines, jump, stride, pBitmapBits, &splash->imageFormat);
--                pSrc += convertRect(&srcRect, &dstRect, CVT_ALPHATEST);
-+
-+                if (numLines > 0) {
-+                    initRect(&dstRect, cx, cy + ofs, cw,
-+                             numLines, jump, stride, pBitmapBits,
-+                             &splash->imageFormat);
-+
-+                    pSrc += convertRect(&srcRect, &dstRect, CVT_ALPHATEST);
-+                }
-+                // skip extra source data
-+                pSrc += (numPassLines - numLines) * srcRect.stride;
-             }
-         }
- 
-@@ -209,6 +261,12 @@
- 
-         splash->frames[imageIndex].bitmapBits =
-             (rgbquad_t *) malloc(bufferSize);
-+	if (!splash->frames[imageIndex].bitmapBits) {
-+	  free(pBitmapBits);
-+	  free(pOldBitmapBits);
-+          /* Assuming that callee will take care of splash frames we have already allocated */
-+	  return 0;
-+	}
-         memcpy(splash->frames[imageIndex].bitmapBits, pBitmapBits, bufferSize);
- 
-         SplashInitFrameShape(splash, imageIndex);
-@@ -224,27 +282,29 @@
-             {
-                 ImageRect dstRect;
-                 rgbquad_t fillColor = 0;                        // 0 is transparent
--                if (transparentColor < 0) {
-+
-+                if (transparentColor > 0) {
-                     fillColor= MAKE_QUAD_GIF(
-                         colorMap->Colors[gif->SBackGroundColor], 0xff);
-                 }
--                initRect(&dstRect, desc->Left, desc->Top,
--                    desc->Width, desc->Height, 1, stride,
--                    pBitmapBits, &splash->imageFormat);
-+                initRect(&dstRect,
-+                         cx, cy, cw, ch,
-+                         1, stride,
-+                         pBitmapBits, &splash->imageFormat);
-                 fillRect(fillColor, &dstRect);
-             }
-             break;
-         case GIF_DISPOSE_RESTORE:
-             {
--
--                int lineSize = desc->Width * splash->imageFormat.depthBytes;
--
--                for (j = 0; j < desc->Height; j++) {
--                    int lineIndex = stride * (j + desc->Top) +
--                        desc->Left * splash->imageFormat.depthBytes;
--
--                    memcpy(pBitmapBits + lineIndex, pOldBitmapBits + lineIndex,
--                        lineSize);
-+                int lineSize = cw * splash->imageFormat.depthBytes;
-+                if (lineSize > 0) {
-+                    int lineOffset = cx * splash->imageFormat.depthBytes;
-+                    int lineIndex = cy * stride + lineOffset;
-+                    for (j=0; j<ch; j++) {
-+                        memcpy(pBitmapBits + lineIndex, pOldBitmapBits + lineIndex,
-+                               lineSize);
-+                        lineIndex += stride;
-+                    }
-                 }
-             }
-             break;
--- a/patches/xrender/icedtea-001.patch	Thu May 07 16:58:42 2009 +0100
+++ b/patches/xrender/icedtea-001.patch	Wed May 13 01:31:07 2009 +0100
@@ -1,6 +1,6 @@
 diff -Nru openjdk.orig/jdk/make/sun/font/FILES_c.gmk openjdk/jdk/make/sun/font/FILES_c.gmk
---- openjdk.orig/jdk/make/sun/font/FILES_c.gmk	2008-11-20 08:44:12.000000000 +0000
-+++ openjdk/jdk/make/sun/font/FILES_c.gmk	2008-12-09 18:22:57.000000000 +0000
+--- openjdk.orig/jdk/make/sun/font/FILES_c.gmk	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/sun/font/FILES_c.gmk	2009-05-13 01:02:29.000000000 +0100
 @@ -119,6 +119,7 @@
  FILES_cpp_platform =
  else
@@ -10,8 +10,8 @@
  FILES_cpp_platform =
  endif
 diff -Nru openjdk.orig/jdk/make/sun/font/Makefile openjdk/jdk/make/sun/font/Makefile
---- openjdk.orig/jdk/make/sun/font/Makefile	2008-12-09 18:21:59.000000000 +0000
-+++ openjdk/jdk/make/sun/font/Makefile	2008-12-09 18:22:57.000000000 +0000
+--- openjdk.orig/jdk/make/sun/font/Makefile	2009-05-13 00:07:23.000000000 +0100
++++ openjdk/jdk/make/sun/font/Makefile	2009-05-13 01:02:29.000000000 +0100
 @@ -86,6 +86,7 @@
      sun/font/NativeStrike.java \
      sun/font/NativeStrikeDisposer.java \
@@ -21,8 +21,8 @@
  
  endif # PLATFORM
 diff -Nru openjdk.orig/jdk/make/sun/font/mapfile-vers openjdk/jdk/make/sun/font/mapfile-vers
---- openjdk.orig/jdk/make/sun/font/mapfile-vers	2008-11-20 08:44:12.000000000 +0000
-+++ openjdk/jdk/make/sun/font/mapfile-vers	2008-12-09 18:22:57.000000000 +0000
+--- openjdk.orig/jdk/make/sun/font/mapfile-vers	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/sun/font/mapfile-vers	2009-05-13 01:02:29.000000000 +0100
 @@ -63,6 +63,7 @@
                  Java_sun_font_NativeFont_getGlyphImage;
                  Java_sun_font_NativeFont_getGlyphImageNoDefault;
@@ -32,8 +32,8 @@
  		*;
  };
 diff -Nru openjdk.orig/jdk/make/sun/font/mapfile-vers.openjdk openjdk/jdk/make/sun/font/mapfile-vers.openjdk
---- openjdk.orig/jdk/make/sun/font/mapfile-vers.openjdk	2008-11-20 08:44:12.000000000 +0000
-+++ openjdk/jdk/make/sun/font/mapfile-vers.openjdk	2008-12-09 18:22:57.000000000 +0000
+--- openjdk.orig/jdk/make/sun/font/mapfile-vers.openjdk	2009-03-30 17:23:03.000000000 +0100
++++ openjdk/jdk/make/sun/font/mapfile-vers.openjdk	2009-05-13 01:02:29.000000000 +0100
 @@ -82,6 +82,7 @@
                  Java_sun_font_FreetypeFontScaler_getUnitsPerEMNative;
                  Java_sun_font_FreetypeFontScaler_initNativeScaler;
@@ -43,27 +43,25 @@
  		*;
  };
 diff -Nru openjdk.orig/jdk/make/sun/xawt/FILES_c_unix.gmk openjdk/jdk/make/sun/xawt/FILES_c_unix.gmk
---- openjdk.orig/jdk/make/sun/xawt/FILES_c_unix.gmk	2008-11-20 08:44:12.000000000 +0000
-+++ openjdk/jdk/make/sun/xawt/FILES_c_unix.gmk	2008-12-09 18:22:57.000000000 +0000
-@@ -77,5 +77,12 @@
- 	debug_util.c \
- 	awt_Plugin.c \
+--- openjdk.orig/jdk/make/sun/xawt/FILES_c_unix.gmk	2009-05-08 16:10:44.000000000 +0100
++++ openjdk/jdk/make/sun/xawt/FILES_c_unix.gmk	2009-05-13 01:03:14.000000000 +0100
+@@ -79,4 +79,11 @@
  	gtk2_interface.c \
--        swing_GTKEngine.c \
--        swing_GTKStyle.c
-+	swing_GTKEngine.c \
-+	swing_GTKStyle.c \
+         swing_GTKEngine.c \
+         swing_GTKStyle.c \
+-        rect.c
++        rect.c \
 +	ArrayList.c \
-+	MaskBuffer.c \
-+	XRSurfaceData.c \
-+	XRGlyphCache.c \
-+	XRTextRenderer_md.c \
++ 	MaskBuffer.c \
++ 	XRSurfaceData.c \
++ 	XRGlyphCache.c \
++ 	XRTextRenderer_md.c \
 +        XRRenderer.c \
 +        XRPMBlitLoops.c
 diff -Nru openjdk.orig/jdk/make/sun/xawt/Makefile openjdk/jdk/make/sun/xawt/Makefile
---- openjdk.orig/jdk/make/sun/xawt/Makefile	2008-11-20 08:44:12.000000000 +0000
-+++ openjdk/jdk/make/sun/xawt/Makefile	2008-12-09 18:22:57.000000000 +0000
-@@ -86,7 +86,7 @@
+--- openjdk.orig/jdk/make/sun/xawt/Makefile	2009-05-08 16:10:44.000000000 +0100
++++ openjdk/jdk/make/sun/xawt/Makefile	2009-05-13 01:02:29.000000000 +0100
+@@ -87,7 +87,7 @@
  vpath %.c   $(PLATFORM_SRC)/native/sun/java2d/opengl
  vpath %.c   $(PLATFORM_SRC)/native/sun/java2d/x11
  
@@ -73,9 +71,9 @@
  
  ifeq  ($(PLATFORM), solaris)
 diff -Nru openjdk.orig/jdk/make/sun/xawt/mapfile-vers openjdk/jdk/make/sun/xawt/mapfile-vers
---- openjdk.orig/jdk/make/sun/xawt/mapfile-vers	2008-11-20 08:44:12.000000000 +0000
-+++ openjdk/jdk/make/sun/xawt/mapfile-vers	2008-12-09 18:22:57.000000000 +0000
-@@ -348,6 +348,33 @@
+--- openjdk.orig/jdk/make/sun/xawt/mapfile-vers	2009-05-08 16:10:44.000000000 +0100
++++ openjdk/jdk/make/sun/xawt/mapfile-vers	2009-05-13 01:02:29.000000000 +0100
+@@ -367,6 +367,33 @@
          Java_sun_java2d_x11_X11SurfaceData_XSetForeground;
          Java_sun_java2d_x11_X11SurfaceData_XSetGraphicsExposures;
  
@@ -110,8 +108,8 @@
          Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1box;
          Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1box_1gap;
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/BufferedPaints.java openjdk/jdk/src/share/classes/sun/java2d/pipe/BufferedPaints.java
---- openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/BufferedPaints.java	2008-12-09 18:21:33.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/java2d/pipe/BufferedPaints.java	2008-12-09 18:22:57.000000000 +0000
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/BufferedPaints.java	2009-05-13 00:06:33.000000000 +0100
++++ openjdk/jdk/src/share/classes/sun/java2d/pipe/BufferedPaints.java	2009-05-13 01:02:29.000000000 +0100
 @@ -307,7 +307,7 @@
       * linear RGB space.  Copied directly from the
       * MultipleGradientPaintContext class.
@@ -122,8 +120,8 @@
  
          input = color / 255.0f;
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java	2008-12-09 18:21:43.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java	2008-12-09 18:32:50.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java	2009-05-13 00:06:49.000000000 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java	2009-05-13 01:02:29.000000000 +0100
 @@ -37,6 +37,7 @@
  import java.util.HashMap;
  
@@ -187,8 +185,8 @@
          }
      }
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java	2008-12-09 18:21:43.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java	2008-12-09 18:22:57.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java	2009-05-13 00:06:49.000000000 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java	2009-05-13 01:02:29.000000000 +0100
 @@ -48,9 +48,9 @@
  import sun.font.Font2D;
  import sun.font.FontManager;
@@ -266,7 +264,7 @@
  
      /**
       * Checks if Shared Memory extension can be used.
-@@ -1118,4 +1151,14 @@
+@@ -1119,4 +1152,14 @@
  
      public void paletteChanged() {
      }
@@ -283,7 +281,7 @@
  }
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/font/XRTextRenderer.java openjdk/jdk/src/solaris/classes/sun/font/XRTextRenderer.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/font/XRTextRenderer.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/font/XRTextRenderer.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/font/XRTextRenderer.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,53 @@
 +/*
 + * Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
@@ -339,8 +337,8 @@
 +    }
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java openjdk/jdk/src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java
---- openjdk.orig/jdk/src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java	2008-12-09 18:21:43.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java	2008-12-09 18:22:57.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java	2009-05-13 00:06:49.000000000 +0100
++++ openjdk/jdk/src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java	2009-05-13 01:02:29.000000000 +0100
 @@ -33,6 +33,7 @@
  import sun.java2d.opengl.GLXGraphicsConfig;
  import sun.java2d.opengl.GLXVolatileSurfaceManager;
@@ -367,8 +365,8 @@
          }
      }
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java openjdk/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java
---- openjdk.orig/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java	2008-12-09 18:21:43.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java	2008-12-09 18:22:57.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java	2009-05-13 00:06:49.000000000 +0100
++++ openjdk/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java	2009-05-13 01:02:29.000000000 +0100
 @@ -42,10 +42,7 @@
  import java.awt.image.Raster;
  import java.awt.peer.ComponentPeer;
@@ -381,7 +379,7 @@
  import sun.awt.image.PixelConverter;
  import sun.font.X11TextRenderer;
  import sun.java2d.InvalidPipeException;
-@@ -70,7 +67,7 @@
+@@ -71,7 +68,7 @@
  
      protected int depth;
  
@@ -390,7 +388,7 @@
      protected native void initSurface(int depth, int width, int height,
                                        long drawable);
      native boolean isDrawableValid();
-@@ -198,7 +195,10 @@
+@@ -199,7 +196,10 @@
      protected static TextPipe x11textpipe;
      protected static boolean dgaAvailable;
  
@@ -402,7 +400,7 @@
          if (!GraphicsEnvironment.isHeadless()) {
              // If a screen magnifier is present, don't attempt to use DGA
              String magPresent = (String) java.security.AccessController.doPrivileged
-@@ -232,9 +232,12 @@
+@@ -233,9 +233,12 @@
                  X11PMBlitLoops.register();
                  X11PMBlitBgLoops.register();
              }
@@ -417,7 +415,7 @@
      /**
       * Returns true if we can use DGA on any of the screens
       */
-@@ -616,7 +619,7 @@
+@@ -631,7 +634,7 @@
      {
          // assert SunToolkit.isAWTLockHeldByCurrentThread();
  
@@ -428,7 +426,7 @@
  
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRDrawImage.java openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRDrawImage.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRDrawImage.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRDrawImage.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRDrawImage.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,50 @@
 +package sun.java2d.xr;
 +
@@ -482,7 +480,7 @@
 +
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRGraphicsConfig.java openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRGraphicsConfig.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRGraphicsConfig.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRGraphicsConfig.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRGraphicsConfig.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,42 @@
 +/*
 + * To change this template, choose Tools | Templates
@@ -528,7 +526,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRMaskBlit.java openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRMaskBlit.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRMaskBlit.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRMaskBlit.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRMaskBlit.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,71 @@
 +package sun.java2d.xr;
 +
@@ -603,7 +601,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRMaskFill.java openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRMaskFill.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRMaskFill.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRMaskFill.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRMaskFill.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,75 @@
 +package sun.java2d.xr;
 +
@@ -682,7 +680,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,206 @@
 +/*
 + * Copyright 2000-2007 Sun Microsystems, Inc.  All Rights Reserved.
@@ -893,7 +891,7 @@
 \ No newline at end of file
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,255 @@
 +package sun.java2d.xr;
 +
@@ -1152,7 +1150,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,1017 @@
 +/*
 + * Copyright 1999-2007 Sun Microsystems, Inc.  All Rights Reserved.
@@ -2173,7 +2171,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceDataProxy.java openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceDataProxy.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceDataProxy.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceDataProxy.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceDataProxy.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,103 @@
 +/*
 + * Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
@@ -2280,7 +2278,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRUtils.java openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRUtils.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRUtils.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRUtils.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRUtils.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,142 @@
 +package sun.java2d.xr;
 +
@@ -2426,7 +2424,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRVolatileSurfaceManager.java openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRVolatileSurfaceManager.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/java2d/xr/XRVolatileSurfaceManager.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRVolatileSurfaceManager.java	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRVolatileSurfaceManager.java	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,105 @@
 +/*
 + * Copyright 2000-2007 Sun Microsystems, Inc.  All Rights Reserved.
@@ -2535,7 +2533,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/font/XRTextRenderer.c openjdk/jdk/src/solaris/native/sun/font/XRTextRenderer.c
 --- openjdk.orig/jdk/src/solaris/native/sun/font/XRTextRenderer.c	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/font/XRTextRenderer.c	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/font/XRTextRenderer.c	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,77 @@
 +/*
 + * Copyright 2000-2005 Sun Microsystems, Inc.  All Rights Reserved.
@@ -2616,7 +2614,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/ArrayList.c openjdk/jdk/src/solaris/native/sun/java2d/x11/ArrayList.c
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/ArrayList.c	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/ArrayList.c	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/ArrayList.c	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,39 @@
 +#include <malloc.h>
 +#include <string.h>
@@ -2659,7 +2657,7 @@
 +
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/ArrayList.h openjdk/jdk/src/solaris/native/sun/java2d/x11/ArrayList.h
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/ArrayList.h	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/ArrayList.h	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/ArrayList.h	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,18 @@
 +#ifndef ArrayList_h_Included
 +#define ArrayList_h_Included
@@ -2681,7 +2679,7 @@
 +#endif /* ArrayList_h_Included */
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/MaskBuffer.c openjdk/jdk/src/solaris/native/sun/java2d/x11/MaskBuffer.c
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/MaskBuffer.c	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/MaskBuffer.c	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/MaskBuffer.c	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,576 @@
 +#include "MaskBuffer.h"
 +#include "XRSurfaceData.h"
@@ -3261,7 +3259,7 @@
 +// printf("Rendering region: %d %d %d %d\n", buf->region.x, buf->region.y, buf->region.x2 - buf->region.x, buf->region.y2 - buf->region.y);fflush(stdout);
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/MaskBuffer.h openjdk/jdk/src/solaris/native/sun/java2d/x11/MaskBuffer.h
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/MaskBuffer.h	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/MaskBuffer.h	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/MaskBuffer.h	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,80 @@
 +#ifndef MaskBuffer_h_Included
 +#define MaskBuffer_h_Included
@@ -3344,8 +3342,8 @@
 +
 +#endif /* MaskBuffer_h_Included */
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c openjdk/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c
---- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c	2008-11-20 08:44:55.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c	2008-12-09 18:22:57.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c	2009-03-30 17:23:08.000000000 +0100
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c	2009-05-13 01:02:29.000000000 +0100
 @@ -71,7 +71,7 @@
  extern AwtGraphicsConfigDataPtr
      getGraphicsConfigFromComponentPeer(JNIEnv *env, jobject this);
@@ -3465,7 +3463,7 @@
  #endif /* !HEADLESS */
  }
  
-@@ -287,6 +300,8 @@
+@@ -304,6 +317,8 @@
      } else {
          xsdo->pixelmask = 0xff;
      }
@@ -3474,7 +3472,7 @@
  #endif /* !HEADLESS */
  }
  
-@@ -367,6 +382,10 @@
+@@ -384,6 +399,10 @@
          XFreeGC(awt_display, xsdo->cachedGC);
          xsdo->cachedGC = NULL;
      }
@@ -3485,7 +3483,7 @@
      AWT_UNLOCK();
  #endif /* !HEADLESS */
  }
-@@ -387,29 +406,10 @@
+@@ -404,29 +423,10 @@
  #endif /* !HEADLESS */
  }
  
@@ -3517,7 +3515,7 @@
  
      if (drawable != (jlong)0) {
          /* Double-buffering */
-@@ -435,7 +435,7 @@
+@@ -452,7 +452,7 @@
              if (xsdo->drawable) {
                  xsdo->shmPMData.usingShmPixmap = JNI_TRUE;
                  xsdo->shmPMData.shmPixmap = xsdo->drawable;
@@ -3526,7 +3524,7 @@
              }
          }
  #endif /* MITSHM */
-@@ -455,7 +455,40 @@
+@@ -472,7 +472,40 @@
      if (xsdo->drawable == 0) {
          JNU_ThrowOutOfMemoryError(env,
                                    "Can't create offscreen surface");
@@ -3567,7 +3565,7 @@
  #endif /* !HEADLESS */
  }
  
-@@ -701,7 +734,7 @@
+@@ -718,7 +751,7 @@
  }
  #endif /* MITSHM */
  
@@ -3577,8 +3575,8 @@
      if (xsdo->isPixmap == JNI_TRUE) {
          return SD_FAILURE;
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.h openjdk/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.h
---- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.h	2008-11-20 08:44:55.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.h	2008-12-09 18:22:57.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.h	2009-03-30 17:23:08.000000000 +0100
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.h	2009-05-13 01:02:29.000000000 +0100
 @@ -30,6 +30,10 @@
  
  #include <jdga.h>
@@ -3630,7 +3628,7 @@
 +
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRGlyphCache.c openjdk/jdk/src/solaris/native/sun/java2d/x11/XRGlyphCache.c
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRGlyphCache.c	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRGlyphCache.c	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRGlyphCache.c	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,313 @@
 +#include <malloc.h>
 +#include "jni.h"
@@ -3947,7 +3945,7 @@
 +//         fflush(stdout);
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRGlyphCache.h openjdk/jdk/src/solaris/native/sun/java2d/x11/XRGlyphCache.h
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRGlyphCache.h	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRGlyphCache.h	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRGlyphCache.h	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,41 @@
 +#ifndef XRGlyphCache_h_Included
 +#define XRGlyphCache_h_Included
@@ -3992,7 +3990,7 @@
 +#endif /* XRGlyphCache_h_Included */
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRPMBlitLoops.c openjdk/jdk/src/solaris/native/sun/java2d/x11/XRPMBlitLoops.c
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRPMBlitLoops.c	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRPMBlitLoops.c	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRPMBlitLoops.c	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,223 @@
 +/*
 + * Copyright 2000-2007 Sun Microsystems, Inc.  All Rights Reserved.
@@ -4219,7 +4217,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRRenderer.c openjdk/jdk/src/solaris/native/sun/java2d/x11/XRRenderer.c
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRRenderer.c	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRRenderer.c	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRRenderer.c	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,318 @@
 +/*
 + * Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
@@ -4541,7 +4539,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,519 @@
 +#include "GraphicsPrimitiveMgr.h"
 +#include "Region.h"
@@ -5065,7 +5063,7 @@
 \ No newline at end of file
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.h openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.h
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.h	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.h	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.h	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,33 @@
 +#ifndef XRSurfaceData_h_Included
 +#define XRSurfaceData_h_Included
@@ -5102,7 +5100,7 @@
 +#endif //XRSurfaceData_h_Included
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRTextRenderer_md.c openjdk/jdk/src/solaris/native/sun/java2d/x11/XRTextRenderer_md.c
 --- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRTextRenderer_md.c	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRTextRenderer_md.c	2008-12-09 18:22:57.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRTextRenderer_md.c	2009-05-13 01:02:29.000000000 +0100
 @@ -0,0 +1,171 @@
 +/*
 + * Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.