svn commit: r323126 - in head/java/openjdk6: . files/icedtea/openjdk files/icedtea/security/20130618
Jung-uk Kim
jkim at FreeBSD.org
Tue Jul 16 21:07:26 UTC 2013
Author: jkim
Date: Tue Jul 16 21:07:25 2013
New Revision: 323126
URL: http://svnweb.freebsd.org/changeset/ports/323126
Log:
Add multiple security patches and improvements from IcedTea6 1.12.6.
http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-July/023941.html
Obtained from: IcedTea Project
PR: ports/180541
Added:
head/java/openjdk6/Makefile.icedtea (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/6469266-xmlsec_1.4.2.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/6786028-wcag_bold_tags.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/6786682-wcag_lang.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/6786688-wcag_table.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/6786690-wcag_dl.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/6802694-no_deprecated.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/6851834-handle_renames.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/6851834-restructure.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/6888167-medialib_memory_leaks.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/6961178-doclet_xml.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/7006270-regressions.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/7195301-no_instanceof_node.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/8005615-failure_to_load_logger_implementation.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/8007393.patch (contents, props changed)
head/java/openjdk6/files/icedtea/openjdk/8007611.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/
head/java/openjdk6/files/icedtea/security/20130618/6741606-apache_santuario.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/7158805-nested_subroutine_rewriting.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/7170730-windows_network_stack.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8000638-improve_deserialization.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8000642-better_transportation_handling.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8001032-restrict_object_access-corba.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8001033-refactor_address_handling.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8001034-memory_management.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8001038-resourcefully_handle_resources.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8001043-clarify_definition_restrictions.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8001309-better_handling_of_annotation_interfaces.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8001318-6_fixup.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8001318-socket_getlocaladdress_consistency.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8001330-checking_order_improvement.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8001330-improve_checking_order.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8003703-update_rmi_connection_dialog.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8004584-augment_applet_contextualization.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8005007-better_glyph_processing.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8006328-6_fixup.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8006328-sound_class_robustness.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8006611-improve_scripting.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8007467-improve_jmx_internal_api_robustness.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8007471-6_fixup.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8007471-improve_mbean_notifications.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8007812-getenclosingmethod.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008120-improve_jmx_class_checking.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008124-better_compliance_testing.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008128-better_jmx_api_coherence.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008132-better_serialization.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008585-jmx_data_handling.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008593-better_urlclassloader.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008603-jmx_provider_provision.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008611-6_fixup.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008611-jmx_annotations.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008615-jmx_internal_api_robustness.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008623-mbeanserver_handling.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008744-6741606_rework.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8008982-jmx_interface_changes.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8009004-rmi_connection_improvement.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8009013-t2k_glyphs.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8009034-jmx_notification_improvement.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8009038-jmx_notification_support_improvement.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8009067-improve_key_storing.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8009071-improve_shape_handling.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8009235-improve_tsa_data_handling.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8011243-improve_imaginglib.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8011248-better_component_rasters.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8011253-better_short_component_rasters.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8011257-better_byte_component_rasters.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8011557-improve_reflection.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8012375-javadoc_framing.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8012421-better_positioning.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8012438-better_image_validation.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8012597-better_image_channel_validation.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8012601-better_layout_validation.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8014281-better_xml_signature_checking.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/8015997-more_javadoc_framing.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/diamond_fix.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/handle_npe.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/javac_issue.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/langtools_generics.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/langtools_merge-01.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/langtools_merge-02.patch (contents, props changed)
head/java/openjdk6/files/icedtea/security/20130618/langtools_merge-03.patch (contents, props changed)
Modified:
head/java/openjdk6/Makefile
Modified: head/java/openjdk6/Makefile
==============================================================================
--- head/java/openjdk6/Makefile Tue Jul 16 20:35:20 2013 (r323125)
+++ head/java/openjdk6/Makefile Tue Jul 16 21:07:25 2013 (r323126)
@@ -3,7 +3,7 @@
PORTNAME= openjdk6
PORTVERSION= b27
-PORTREVISION?= 3
+PORTREVISION?= 4
CATEGORIES= java devel
MASTER_SITES= http://download.java.net/openjdk/jdk6/promoted/${PORTVERSION}/ \
http://download.java.net/jaxp/openjdk/jdk6/:jaxp \
@@ -39,84 +39,6 @@ RUN_DEPENDS= javavm:${PORTSDIR}/java/jav
OPENJDK_BUILDDATE= 26_oct_2012
-EXTRA_PATCHES= ${FILESDIR}/icedtea/jaxp.patch \
- ${FILESDIR}/icedtea/jaxws.patch \
- ${FILESDIR}/icedtea/security/20120830/7182135-impossible_to_use_some_editors_directly.patch \
- ${FILESDIR}/icedtea/security/20130201/7201068.patch \
- ${FILESDIR}/icedtea/security/20130201/6563318.patch \
- ${FILESDIR}/icedtea/security/20130201/6664509.patch \
- ${FILESDIR}/icedtea/security/20130201/6776941.patch \
- ${FILESDIR}/icedtea/security/20130201/7141694.patch \
- ${FILESDIR}/icedtea/security/20130201/7173145.patch \
- ${FILESDIR}/icedtea/security/20130201/7186945.patch \
- ${FILESDIR}/icedtea/security/20130201/7186948.patch \
- ${FILESDIR}/icedtea/security/20130201/7186952.patch \
- ${FILESDIR}/icedtea/security/20130201/7186954.patch \
- ${FILESDIR}/icedtea/security/20130201/7192392.patch \
- ${FILESDIR}/icedtea/security/20130201/7192393.patch \
- ${FILESDIR}/icedtea/security/20130201/7192977.patch \
- ${FILESDIR}/icedtea/security/20130201/7197546.patch \
- ${FILESDIR}/icedtea/security/20130201/7200491.patch \
- ${FILESDIR}/icedtea/security/20130201/7200500.patch \
- ${FILESDIR}/icedtea/security/20130201/7201064.patch \
- ${FILESDIR}/icedtea/security/20130201/7201066.patch \
- ${FILESDIR}/icedtea/security/20130201/7201070.patch \
- ${FILESDIR}/icedtea/security/20130201/7201071.patch \
- ${FILESDIR}/icedtea/security/20130201/8000210.patch \
- ${FILESDIR}/icedtea/security/20130201/8000537.patch \
- ${FILESDIR}/icedtea/security/20130201/8000540.patch \
- ${FILESDIR}/icedtea/security/20130201/8000631.patch \
- ${FILESDIR}/icedtea/security/20130201/8001242.patch \
- ${FILESDIR}/icedtea/security/20130201/8001307.patch \
- ${FILESDIR}/icedtea/security/20130201/8001972.patch \
- ${FILESDIR}/icedtea/security/20130201/8002325.patch \
- ${FILESDIR}/icedtea/security/20130219/8006446.patch \
- ${FILESDIR}/icedtea/security/20130219/8006777.patch \
- ${FILESDIR}/icedtea/security/20130219/8007688.patch \
- ${FILESDIR}/icedtea/security/20130304/8007014.patch \
- ${FILESDIR}/icedtea/security/20130304/8007675.patch \
- ${FILESDIR}/icedtea/openjdk/7036559-concurrenthashmap_improvements.patch \
- ${FILESDIR}/icedtea/security/20130416/8009063.patch \
- ${FILESDIR}/icedtea/openjdk/8004302-soap_test_failure.patch \
- ${FILESDIR}/icedtea/security/20130416/6657673.patch \
- ${FILESDIR}/icedtea/security/20130416/6657673-fixup.patch \
- ${FILESDIR}/icedtea/openjdk/7133220-factory_finder_parser_transform_useBSClassLoader.patch \
- ${FILESDIR}/icedtea/security/20130416/6657673-factory_finder.patch \
- ${FILESDIR}/icedtea/openjdk/6669869-queries_per_appcontext.patch \
- ${FILESDIR}/icedtea/openjdk/5102804-memory_leak.patch \
- ${FILESDIR}/icedtea/openjdk/6963811-deadlock_fix.patch \
- ${FILESDIR}/icedtea/openjdk/7064279-resource_release.patch \
- ${FILESDIR}/icedtea/openjdk/7064279-fixup.patch \
- ${FILESDIR}/icedtea/security/20130416/7200507.patch \
- ${FILESDIR}/icedtea/security/20130416/8000724.patch \
- ${FILESDIR}/icedtea/security/20130416/8004986.patch \
- ${FILESDIR}/icedtea/openjdk/6501644-icu_sync.patch \
- ${FILESDIR}/icedtea/openjdk/6886358-layout_update.patch \
- ${FILESDIR}/icedtea/security/20130416/8001031.patch \
- ${FILESDIR}/icedtea/openjdk/7017324-kerning_crash.patch \
- ${FILESDIR}/icedtea/security/20130416/8001040.patch \
- ${FILESDIR}/icedtea/security/20130416/8001322.patch \
- ${FILESDIR}/icedtea/security/20130416/8001329.patch \
- ${FILESDIR}/icedtea/security/20130416/8003335.patch \
- ${FILESDIR}/icedtea/security/20130416/8003445.patch \
- ${FILESDIR}/icedtea/security/20130416/8003543.patch \
- ${FILESDIR}/icedtea/security/20130416/8004261.patch \
- ${FILESDIR}/icedtea/security/20130416/8004336.patch \
- ${FILESDIR}/icedtea/security/20130416/8005432.patch \
- ${FILESDIR}/icedtea/security/20130416/8005943.patch \
- ${FILESDIR}/icedtea/security/20130416/8006309.patch \
- ${FILESDIR}/icedtea/security/20130416/8006435.patch \
- ${FILESDIR}/icedtea/security/20130416/8006790.patch \
- ${FILESDIR}/icedtea/security/20130416/8006795.patch \
- ${FILESDIR}/icedtea/security/20130416/8007406.patch \
- ${FILESDIR}/icedtea/security/20130416/8007617.patch \
- ${FILESDIR}/icedtea/security/20130416/8007667.patch \
- ${FILESDIR}/icedtea/security/20130416/8007918.patch \
- ${FILESDIR}/icedtea/security/20130416/8009305.patch \
- ${FILESDIR}/icedtea/security/20130416/8009699.patch \
- ${FILESDIR}/icedtea/security/20130416/8009814.patch \
- ${FILESDIR}/icedtea/security/20130416/8009857.patch
-
OPTIONS_DEFINE= ICEDTEA IPV6 POLICY SOUND TZUPDATE
OPTIONS_DEFAULT=ICEDTEA IPV6 TZUPDATE
ICEDTEA_DESC= Apply additional patches from IcedTea
@@ -134,6 +56,9 @@ TEST_DESC= Add support for running regre
USES= gmake motif
.include <bsd.port.options.mk>
+.include "${.CURDIR}/Makefile.icedtea"
+
+EXTRA_PATCHES= ${ICEDTEA_PATCHES}
# java extracts directly to the cwd
WRKSRC= ${WRKDIR}
@@ -231,12 +156,6 @@ MAKE_ENV+= SKIP_FASTDEBUG_BUILD=false
MAKE_ENV+= SKIP_FASTDEBUG_BUILD=true
.endif
-.if ${PORT_OPTIONS:MICEDTEA}
-EXTRA_PATCHES+= ${FILESDIR}/icedtea/openjdk/7032388-work_without_cmov_instruction.patch \
- ${FILESDIR}/icedtea/applet_hole.patch \
- ${FILESDIR}/icedtea/jpegclasses.patch
-.endif
-
.if empty(PORT_OPTIONS:MIPV6)
MAKE_ENV+= DONT_ENABLE_IPV6="YES"
.endif
Added: head/java/openjdk6/Makefile.icedtea
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/java/openjdk6/Makefile.icedtea Tue Jul 16 21:07:25 2013 (r323126)
@@ -0,0 +1,170 @@
+# $FreeBSD$
+
+_PATCHES= \
+ jaxp.patch \
+ jaxws.patch \
+ security/20120830/7182135-impossible_to_use_some_editors_directly.patch \
+ security/20130201/7201068.patch \
+ security/20130201/6563318.patch \
+ security/20130201/6664509.patch \
+ security/20130201/6776941.patch \
+ security/20130201/7141694.patch \
+ security/20130201/7173145.patch \
+ security/20130201/7186945.patch \
+ security/20130201/7186948.patch \
+ security/20130201/7186952.patch \
+ security/20130201/7186954.patch \
+ security/20130201/7192392.patch \
+ security/20130201/7192393.patch \
+ security/20130201/7192977.patch \
+ security/20130201/7197546.patch \
+ security/20130201/7200491.patch \
+ security/20130201/7200500.patch \
+ security/20130201/7201064.patch \
+ security/20130201/7201066.patch \
+ security/20130201/7201070.patch \
+ security/20130201/7201071.patch \
+ security/20130201/8000210.patch \
+ security/20130201/8000537.patch \
+ security/20130201/8000540.patch \
+ security/20130201/8000631.patch \
+ security/20130201/8001242.patch \
+ security/20130201/8001307.patch \
+ security/20130201/8001972.patch \
+ security/20130201/8002325.patch \
+ security/20130219/8006446.patch \
+ security/20130219/8006777.patch \
+ security/20130219/8007688.patch \
+ security/20130304/8007014.patch \
+ security/20130304/8007675.patch \
+ openjdk/7036559-concurrenthashmap_improvements.patch \
+ security/20130416/8009063.patch \
+ openjdk/8004302-soap_test_failure.patch \
+ security/20130416/6657673.patch \
+ security/20130416/6657673-fixup.patch \
+ openjdk/7133220-factory_finder_parser_transform_useBSClassLoader.patch \
+ security/20130416/6657673-factory_finder.patch \
+ openjdk/6669869-queries_per_appcontext.patch \
+ openjdk/5102804-memory_leak.patch \
+ openjdk/6963811-deadlock_fix.patch \
+ openjdk/7064279-resource_release.patch \
+ openjdk/7064279-fixup.patch \
+ security/20130416/7200507.patch \
+ security/20130416/8000724.patch \
+ security/20130416/8004986.patch \
+ openjdk/6501644-icu_sync.patch \
+ openjdk/6886358-layout_update.patch \
+ security/20130416/8001031.patch \
+ openjdk/7017324-kerning_crash.patch \
+ security/20130416/8001040.patch \
+ security/20130416/8001322.patch \
+ security/20130416/8001329.patch \
+ security/20130416/8003335.patch \
+ security/20130416/8003445.patch \
+ security/20130416/8003543.patch \
+ security/20130416/8004261.patch \
+ security/20130416/8004336.patch \
+ security/20130416/8005432.patch \
+ security/20130416/8005943.patch \
+ security/20130416/8006309.patch \
+ security/20130416/8006435.patch \
+ security/20130416/8006790.patch \
+ security/20130416/8006795.patch \
+ security/20130416/8007406.patch \
+ security/20130416/8007617.patch \
+ security/20130416/8007667.patch \
+ security/20130416/8007918.patch \
+ security/20130416/8009305.patch \
+ security/20130416/8009699.patch \
+ security/20130416/8009814.patch \
+ security/20130416/8009857.patch \
+ openjdk/7195301-no_instanceof_node.patch \
+ openjdk/6469266-xmlsec_1.4.2.patch \
+ security/20130618/6741606-apache_santuario.patch \
+ security/20130618/7170730-windows_network_stack.patch \
+ security/20130618/8000638-improve_deserialization.patch \
+ security/20130618/8001032-restrict_object_access-corba.patch \
+ security/20130618/8001033-refactor_address_handling.patch \
+ security/20130618/8001034-memory_management.patch \
+ security/20130618/8001038-resourcefully_handle_resources.patch \
+ security/20130618/8001043-clarify_definition_restrictions.patch \
+ security/20130618/8001309-better_handling_of_annotation_interfaces.patch \
+ security/20130618/8001318-socket_getlocaladdress_consistency.patch \
+ security/20130618/8001318-6_fixup.patch \
+ security/20130618/8001330-improve_checking_order.patch \
+ security/20130618/8003703-update_rmi_connection_dialog.patch \
+ openjdk/8005615-failure_to_load_logger_implementation.patch \
+ openjdk/8007393.patch \
+ openjdk/8007611.patch \
+ security/20130618/8004584-augment_applet_contextualization.patch \
+ security/20130618/8005007-better_glyph_processing.patch \
+ security/20130618/8006328-sound_class_robustness.patch \
+ security/20130618/8006328-6_fixup.patch \
+ security/20130618/8006611-improve_scripting.patch \
+ security/20130618/8007467-improve_jmx_internal_api_robustness.patch \
+ security/20130618/8007471-improve_mbean_notifications.patch \
+ security/20130618/8007471-6_fixup.patch \
+ security/20130618/8007812-getenclosingmethod.patch \
+ security/20130618/8008120-improve_jmx_class_checking.patch \
+ security/20130618/8008124-better_compliance_testing.patch \
+ security/20130618/8008128-better_jmx_api_coherence.patch \
+ security/20130618/8008132-better_serialization.patch \
+ security/20130618/8008585-jmx_data_handling.patch \
+ security/20130618/8008593-better_urlclassloader.patch \
+ security/20130618/8008603-jmx_provider_provision.patch \
+ security/20130618/8008611-jmx_annotations.patch \
+ security/20130618/8008611-6_fixup.patch \
+ security/20130618/8008615-jmx_internal_api_robustness.patch \
+ security/20130618/8008623-mbeanserver_handling.patch \
+ security/20130618/8008744-6741606_rework.patch \
+ security/20130618/8008982-jmx_interface_changes.patch \
+ security/20130618/8009004-rmi_connection_improvement.patch \
+ security/20130618/8009013-t2k_glyphs.patch \
+ security/20130618/8009034-jmx_notification_improvement.patch \
+ security/20130618/8009038-jmx_notification_support_improvement.patch \
+ security/20130618/8009067-improve_key_storing.patch \
+ security/20130618/8009235-improve_tsa_data_handling.patch \
+ openjdk/6888167-medialib_memory_leaks.patch \
+ security/20130618/8011243-improve_imaginglib.patch \
+ security/20130618/8011248-better_component_rasters.patch \
+ security/20130618/8011253-better_short_component_rasters.patch \
+ security/20130618/8011257-better_byte_component_rasters.patch \
+ security/20130618/8011557-improve_reflection.patch \
+ security/20130618/8012421-better_positioning.patch \
+ security/20130618/8012438-better_image_validation.patch \
+ security/20130618/8012597-better_image_channel_validation.patch \
+ security/20130618/8012601-better_layout_validation.patch \
+ security/20130618/8014281-better_xml_signature_checking.patch \
+ security/20130618/diamond_fix.patch \
+ security/20130618/handle_npe.patch \
+ security/20130618/javac_issue.patch \
+ security/20130618/7158805-nested_subroutine_rewriting.patch \
+ security/20130618/8001330-checking_order_improvement.patch \
+ security/20130618/8000642-better_transportation_handling.patch \
+ openjdk/6786028-wcag_bold_tags.patch \
+ openjdk/6786682-wcag_lang.patch \
+ openjdk/6802694-no_deprecated.patch \
+ openjdk/6786690-wcag_dl.patch \
+ openjdk/6786688-wcag_table.patch \
+ openjdk/6961178-doclet_xml.patch \
+ openjdk/6851834-restructure.patch \
+ openjdk/6851834-handle_renames.patch \
+ openjdk/7006270-regressions.patch \
+ security/20130618/8012375-javadoc_framing.patch \
+ security/20130618/8015997-more_javadoc_framing.patch \
+ security/20130618/langtools_merge-01.patch \
+ security/20130618/langtools_merge-02.patch \
+ security/20130618/langtools_generics.patch \
+ security/20130618/langtools_merge-03.patch \
+ security/20130618/8009071-improve_shape_handling.patch
+
+.if ${PORT_OPTIONS:MICEDTEA}
+_PATCHES+= \
+ openjdk/7032388-work_without_cmov_instruction.patch \
+ applet_hole.patch \
+ jpegclasses.patch
+.endif
+
+.for p in ${_PATCHES}
+ICEDTEA_PATCHES+= ${FILESDIR}/icedtea/${p}
+.endfor
Added: head/java/openjdk6/files/icedtea/openjdk/6469266-xmlsec_1.4.2.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/java/openjdk6/files/icedtea/openjdk/6469266-xmlsec_1.4.2.patch Tue Jul 16 21:07:25 2013 (r323126)
@@ -0,0 +1,23876 @@
+# HG changeset patch
+# User andrew
+# Date 1371136223 -3600
+# Node ID a955a845f0d1b8e21e0780986d971b3712db26c7
+# Parent 2ae6d8da293f30c94c9478a6634c7a480328c5c5
+6469266: Integrate Apache XMLSec 1.4.2 into JDK 7
+Reviewed-by: valeriep
+
+diff --git a/src/share/classes/com/sun/org/apache/xml/internal/security/Init.java b/src/share/classes/com/sun/org/apache/xml/internal/security/Init.java
+--- jdk/src/share/classes/com/sun/org/apache/xml/internal/security/Init.java
++++ jdk/src/share/classes/com/sun/org/apache/xml/internal/security/Init.java
+@@ -20,12 +20,9 @@
+ */
+ package com.sun.org.apache.xml.internal.security;
+
+-
+-
+ import java.io.InputStream;
+ import java.security.AccessController;
+ import java.security.PrivilegedAction;
+-
+ import javax.xml.parsers.DocumentBuilder;
+ import javax.xml.parsers.DocumentBuilderFactory;
+
+@@ -51,7 +48,7 @@
+ * done by calling {@link Init#init} which should be done in any static block
+ * of the files of this library. We ensure that this call is only executed once.
+ *
+- * @author $Author: raul $
++ * @author $Author: mullan $
+ */
+ public final class Init {
+
+@@ -113,20 +110,19 @@
+ dbf.setValidating(false);
+
+ DocumentBuilder db = dbf.newDocumentBuilder();
+-
+ // We don't allow users to override the Apache XML Security
+ // configuration in the JRE. Users should use the standard security
+ // provider mechanism instead if implementing their own
+ // transform or canonicalization algorithms.
+- // String cfile = System.getProperty("com.sun.org.apache.xml.internal.security.resource.config");
+- // InputStream is =
+- // Class.forName("com.sun.org.apache.xml.internal.security.Init")
+- // .getResourceAsStream(cfile != null ? cfile : "resource/config.xml");
++ // InputStream is = Class.forName("com.sun.org.apache.xml.internal.security.Init").getResourceAsStream("resource/config.xml");
+ InputStream is = (InputStream) AccessController.doPrivileged(
+ new PrivilegedAction() {
+ public Object run() {
++// String cfile = System.getProperty
++// ("com.sun.org.apache.xml.internal.security.resource.config");
+ return getClass().getResourceAsStream
+- ("resource/config.xml");
++// (cfile != null ? cfile : "resource/config.xml");
++ ("resource/config.xml");
+ }
+ });
+
+@@ -167,7 +163,7 @@
+ //
+ // if (tag.equals("ResourceBundles")){
+ // XX_configure_i18n_start = System.currentTimeMillis();
+-// Element resource=(Element)el;
++// Element resource=(Element)el;
+ // /* configure internationalization */
+ // Attr langAttr = resource.getAttributeNode("defaultLanguageCode");
+ // Attr countryAttr = resource.getAttributeNode("defaultCountryCode");
+@@ -202,11 +198,11 @@
+
+ if (currMeth.getDeclaringClass().getName()
+ .equals(JAVACLASS)) {
+- log.log(java.util.logging.Level.FINE, currMeth.getDeclaringClass().toString());
++ log.log(java.util.logging.Level.FINE, currMeth.getDe claringClass().toString());
+ }
+ }*/
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Canonicalizer.register(" + URI + ", "
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Canonicalizer.register(" + URI + ", "
+ + JAVACLASS + ")");
+ Canonicalizer.register(URI, JAVACLASS);
+ } catch (ClassNotFoundException e) {
+@@ -233,9 +229,8 @@
+ "JAVACLASS");
+ try {
+ Class.forName(JAVACLASS);
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Transform.register(" + URI + ", " + JAVACLASS
+- + ")");
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Transform.register(" + URI + ", " + JAVACLASS + ")");
+ Transform.register(URI, JAVACLASS);
+ } catch (ClassNotFoundException e) {
+ Object exArgs[] = { URI, JAVACLASS };
+@@ -284,12 +279,11 @@
+ //
+ // if (currMeth.getDeclaringClass().getName()
+ // .equals(JAVACLASS)) {
+-// log.log(java.util.logging.Level.FINE, currMeth.getDeclaringClass().toString());
++// log.log(java.util.logging.Level.FINE, currMeth.getDe claringClass().toString());
+ // }
+ // }
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "SignatureAlgorithm.register(" + URI + ", "
+- + JAVACLASS + ")");
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "SignatureAlgorithm.register(" + URI + ", " + JAVACLASS + ")");
+ SignatureAlgorithm.register(URI, JAVACLASS);
+ } catch (ClassNotFoundException e) {
+ Object exArgs[] = { URI, JAVACLASS };
+@@ -320,13 +314,11 @@
+ "DESCRIPTION");
+
+ if ((Description != null) && (Description.length() > 0)) {
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Register Resolver: " + JAVACLASS + ": "
+- + Description);
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Register Resolver: " + JAVACLASS + ": " + Description);
+ } else {
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Register Resolver: " + JAVACLASS
+- + ": For unknown purposes");
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Register Resolver: " + JAVACLASS + ": For unknown purposes");
+ }
+ try {
+ ResourceResolver.register(JAVACLASS);
+@@ -359,13 +351,11 @@
+ "DESCRIPTION");
+
+ if ((Description != null) && (Description.length() > 0)) {
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Register Resolver: " + JAVACLASS + ": "
+- + Description);
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Register Resolver: " + JAVACLASS + ": " + Description);
+ } else {
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Register Resolver: " + JAVACLASS
+- + ": For unknown purposes");
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Register Resolver: " + JAVACLASS + ": For unknown purposes");
+ }
+
+ KeyResolver.register(JAVACLASS);
+@@ -376,8 +366,8 @@
+
+ if (tag.equals("PrefixMappings")){
+ XX_configure_reg_prefixes_start = System.currentTimeMillis();
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Now I try to bind prefixes:");
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Now I try to bind prefixes:");
+
+ Element[] nl = XMLUtils.selectNodes(el.getFirstChild(), CONF_NS,"PrefixMapping");
+
+@@ -386,8 +376,8 @@
+ "namespace");
+ String prefix = nl[i].getAttributeNS(null,
+ "prefix");
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Now I try to bind " + prefix + " to " + namespace);
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Now I try to bind " + prefix + " to " + namespace);
+ com.sun.org.apache.xml.internal.security.utils.ElementProxy
+ .setDefaultPrefix(namespace, prefix);
+ }
+@@ -398,19 +388,19 @@
+ long XX_init_end = System.currentTimeMillis();
+
+ //J-
+- if (true) {
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "XX_init " + ((int)(XX_init_end - XX_init_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_prng " + ((int)(XX_prng_end - XX_prng_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_parsing " + ((int)(XX_parsing_end - XX_parsing_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_configure_i18n " + ((int)(XX_configure_i18n_end- XX_configure_i18n_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_configure_reg_c14n " + ((int)(XX_configure_reg_c14n_end- XX_configure_reg_c14n_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_configure_reg_jcemapper " + ((int)(XX_configure_reg_jcemapper_end- XX_configure_reg_jcemapper_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_configure_reg_keyInfo " + ((int)(XX_configure_reg_keyInfo_end- XX_configure_reg_keyInfo_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_configure_reg_keyResolver " + ((int)(XX_configure_reg_keyResolver_end- XX_configure_reg_keyResolver_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_configure_reg_prefixes " + ((int)(XX_configure_reg_prefixes_end- XX_configure_reg_prefixes_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_configure_reg_resourceresolver " + ((int)(XX_configure_reg_resourceresolver_end- XX_configure_reg_resourceresolver_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_configure_reg_sigalgos " + ((int)(XX_configure_reg_sigalgos_end- XX_configure_reg_sigalgos_start)) + " ms");
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, " XX_configure_reg_transforms " + ((int)(XX_configure_reg_transforms_end- XX_configure_reg_transforms_start)) + " ms");
++ if (log.isLoggable(java.util.logging.Level.FINE)) {
++ log.log(java.util.logging.Level.FINE, "XX_init " + ((int)(XX_init_end - XX_init_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_prng " + ((int)(XX_prng_end - XX_prng_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_parsing " + ((int)(XX_parsing_end - XX_parsing_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_configure_i18n " + ((int)(XX_configure_i18n_end- XX_configure_i18n_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_configure_reg_c14n " + ((int)(XX_configure_reg_c14n_end- XX_configure_reg_c14n_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_configure_reg_jcemapper " + ((int)(XX_configure_reg_jcemapper_end- XX_configure_reg_jcemapper_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_configure_reg_keyInfo " + ((int)(XX_configure_reg_keyInfo_end- XX_configure_reg_keyInfo_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_configure_reg_keyResolver " + ((int)(XX_configure_reg_keyResolver_end- XX_configure_reg_keyResolver_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_configure_reg_prefixes " + ((int)(XX_configure_reg_prefixes_end- XX_configure_reg_prefixes_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_configure_reg_resourceresolver " + ((int)(XX_configure_reg_resourceresolver_end- XX_configure_reg_resourceresolver_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_configure_reg_sigalgos " + ((int)(XX_configure_reg_sigalgos_end- XX_configure_reg_sigalgos_start)) + " ms");
++ log.log(java.util.logging.Level.FINE, " XX_configure_reg_transforms " + ((int)(XX_configure_reg_transforms_end- XX_configure_reg_transforms_start)) + " ms");
+ }
+ } catch (Exception e) {
+ log.log(java.util.logging.Level.SEVERE, "Bad: ", e);
+diff --git a/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/Algorithm.java b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/Algorithm.java
+--- jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/Algorithm.java
++++ jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/Algorithm.java
+@@ -24,7 +24,7 @@
+
+ import com.sun.org.apache.xml.internal.security.exceptions.XMLSecurityException;
+ import com.sun.org.apache.xml.internal.security.utils.Constants;
+-import com.sun.org.apache.xml.internal.security.utils.ElementProxy;
++import com.sun.org.apache.xml.internal.security.utils.SignatureElementProxy;
+ import org.w3c.dom.Document;
+ import org.w3c.dom.Element;
+
+@@ -33,11 +33,7 @@
+ * The Algorithm class which stores the Algorithm URI as a string.
+ *
+ */
+-public abstract class Algorithm extends ElementProxy {
+-
+- /** {@link java.util.logging} logging facility */
+- static java.util.logging.Logger log =
+- java.util.logging.Logger.getLogger(Algorithm.class.getName());
++public abstract class Algorithm extends SignatureElementProxy {
+
+ /**
+ *
+@@ -79,7 +75,7 @@
+ */
+ protected void setAlgorithmURI(String algorithmURI) {
+
+- if ((this._state == MODE_CREATE) && (algorithmURI != null)) {
++ if ( (algorithmURI != null)) {
+ this._constructionElement.setAttributeNS(null, Constants._ATT_ALGORITHM,
+ algorithmURI);
+ }
+diff --git a/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java
+--- jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java
++++ jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java
+@@ -35,7 +35,7 @@
+ /**
+ * This class maps algorithm identifier URIs to JAVA JCE class names.
+ *
+- * @author $Author: raul $
++ * @author $Author: mullan $
+ */
+ public class JCEMapper {
+
+@@ -45,9 +45,9 @@
+
+
+
+- private static Map uriToJCEName = new HashMap();
++ private static Map uriToJCEName;
+
+- private static Map algorithmsMap = new HashMap();
++ private static Map algorithmsMap;
+
+ private static String providerName = null;
+ /**
+@@ -63,6 +63,8 @@
+
+ static void loadAlgorithms( Element algorithmsEl) {
+ Element[] algorithms = XMLUtils.selectNodes(algorithmsEl.getFirstChild(),Init.CONF_NS,"Algorithm");
++ uriToJCEName = new HashMap( algorithms.length * 2);
++ algorithmsMap = new HashMap( algorithms.length * 2);
+ for (int i = 0 ;i < algorithms.length ;i ++) {
+ Element el = algorithms[i];
+ String id = el.getAttribute("URI");
+@@ -70,6 +72,7 @@
+ uriToJCEName.put(id, jceName);
+ algorithmsMap.put(id, new Algorithm(el));
+ }
++
+ }
+
+ static Algorithm getAlgorithmMapping(String algoURI) {
+@@ -84,8 +87,8 @@
+ *
+ */
+ public static String translateURItoJCEID(String AlgorithmURI) {
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Request for URI " + AlgorithmURI);
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Request for URI " + AlgorithmURI);
+
+ String jceName = (String) uriToJCEName.get(AlgorithmURI);
+ return jceName;
+@@ -100,8 +103,8 @@
+ *
+ */
+ public static String getAlgorithmClassFromURI(String AlgorithmURI) {
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Request for URI " + AlgorithmURI);
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Request for URI " + AlgorithmURI);
+
+ return ((Algorithm) algorithmsMap.get(AlgorithmURI)).algorithmClass;
+ }
+diff --git a/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java
+--- jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java
++++ jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java
+@@ -20,10 +20,10 @@
+ */
+ package com.sun.org.apache.xml.internal.security.algorithms;
+
+-
+-
+ import java.security.MessageDigest;
+ import java.security.NoSuchProviderException;
++import java.util.HashMap;
++import java.util.Map;
+
+ import com.sun.org.apache.xml.internal.security.signature.XMLSignatureException;
+ import com.sun.org.apache.xml.internal.security.utils.Constants;
+@@ -41,11 +41,6 @@
+ */
+ public class MessageDigestAlgorithm extends Algorithm {
+
+- /** {@link java.util.logging} logging facility */
+- static java.util.logging.Logger log =
+- java.util.logging.Logger.getLogger(
+- MessageDigestAlgorithm.class.getName());
+-
+ /** Message Digest - NOT RECOMMENDED MD5*/
+ public static final String ALGO_ID_DIGEST_NOT_RECOMMENDED_MD5 = Constants.MoreAlgorithmsSpecNS + "md5";
+ /** Digest - Required SHA1*/
+@@ -76,6 +71,12 @@
+ this.algorithm = messageDigest;
+ }
+
++ static ThreadLocal instances=new ThreadLocal() {
++ protected Object initialValue() {
++ return new HashMap();
++ };
++ };
++
+ /**
+ * Factory method for constructing a message digest algorithm by name.
+ *
+@@ -86,8 +87,15 @@
+ */
+ public static MessageDigestAlgorithm getInstance(
+ Document doc, String algorithmURI) throws XMLSignatureException {
++ MessageDigest md = getDigestInstance(algorithmURI);
++ return new MessageDigestAlgorithm(doc, md, algorithmURI);
++ }
+
+- String algorithmID = JCEMapper.translateURItoJCEID(algorithmURI);
++private static MessageDigest getDigestInstance(String algorithmURI) throws XMLSignatureException {
++ MessageDigest result=(MessageDigest) ((Map)instances.get()).get(algorithmURI);
++ if (result!=null)
++ return result;
++ String algorithmID = JCEMapper.translateURItoJCEID(algorithmURI);
+
+ if (algorithmID == null) {
+ Object[] exArgs = { algorithmURI };
+@@ -113,8 +121,9 @@
+
+ throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
+ }
+- return new MessageDigestAlgorithm(doc, md, algorithmURI);
+- }
++ ((Map)instances.get()).put(algorithmURI, md);
++ return md;
++}
+
+ /**
+ * Returns the actual {@link java.security.MessageDigest} algorithm object
+diff --git a/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java
+--- jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java
++++ jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java
+@@ -25,6 +25,7 @@
+ import java.security.SecureRandom;
+ import java.security.spec.AlgorithmParameterSpec;
+ import java.util.HashMap;
++import java.util.Map;
+
+ import com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac;
+ import com.sun.org.apache.xml.internal.security.exceptions.AlgorithmAlreadyRegisteredException;
+@@ -52,9 +53,35 @@
+ /** All available algorithm classes are registered here */
+ static HashMap _algorithmHash = null;
+
++ static ThreadLocal instancesSigning=new ThreadLocal() {
++ protected Object initialValue() {
++ return new HashMap();
++ };
++ };
++
++ static ThreadLocal instancesVerify=new ThreadLocal() {
++ protected Object initialValue() {
++ return new HashMap();
++ };
++ };
++
++ static ThreadLocal keysSigning=new ThreadLocal() {
++ protected Object initialValue() {
++ return new HashMap();
++ };
++ };
++ static ThreadLocal keysVerify=new ThreadLocal() {
++ protected Object initialValue() {
++ return new HashMap();
++ };
++ };
++// boolean isForSigning=false;
++
+ /** Field _signatureAlgorithm */
+ protected SignatureAlgorithmSpi _signatureAlgorithm = null;
+
++ private String algorithmURI;
++
+ /**
+ * Constructor SignatureAlgorithm
+ *
+@@ -64,18 +91,49 @@
+ */
+ public SignatureAlgorithm(Document doc, String algorithmURI)
+ throws XMLSecurityException {
++ super(doc, algorithmURI);
++ this.algorithmURI = algorithmURI;
++ }
+
+- super(doc, algorithmURI);
+
+- try {
++ private void initializeAlgorithm(boolean isForSigning) throws XMLSignatureException {
++ if (_signatureAlgorithm!=null) {
++ return;
++ }
++ _signatureAlgorithm=isForSigning ? getInstanceForSigning(algorithmURI) : getInstanceForVerify(algorithmURI);
++ this._signatureAlgorithm
++ .engineGetContextFromElement(this._constructionElement);
++ }
++ private static SignatureAlgorithmSpi getInstanceForSigning(String algorithmURI) throws XMLSignatureException {
++ SignatureAlgorithmSpi result=(SignatureAlgorithmSpi) ((Map)instancesSigning.get()).get(algorithmURI);
++ if (result!=null) {
++ result.reset();
++ return result;
++ }
++ result=buildSigner(algorithmURI, result);
++ ((Map)instancesSigning.get()).put(algorithmURI,result);
++ return result;
++ }
++ private static SignatureAlgorithmSpi getInstanceForVerify(String algorithmURI) throws XMLSignatureException {
++ SignatureAlgorithmSpi result=(SignatureAlgorithmSpi) ((Map)instancesVerify.get()).get(algorithmURI);
++ if (result!=null) {
++ result.reset();
++ return result;
++ }
++ result=buildSigner(algorithmURI, result);
++ ((Map)instancesVerify.get()).put(algorithmURI,result);
++ return result;
++ }
++
++ private static SignatureAlgorithmSpi buildSigner(String algorithmURI, SignatureAlgorithmSpi result) throws XMLSignatureException {
++ try {
+ Class implementingClass =
+ SignatureAlgorithm.getImplementingClass(algorithmURI);
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Create URI \"" + algorithmURI + "\" class \""
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Create URI \"" + algorithmURI + "\" class \""
+ + implementingClass + "\"");
+-
+- this._signatureAlgorithm =
+- (SignatureAlgorithmSpi) implementingClass.newInstance();
++ result=(SignatureAlgorithmSpi) implementingClass.newInstance();
++ return result;
+ } catch (IllegalAccessException ex) {
+ Object exArgs[] = { algorithmURI, ex.getMessage() };
+
+@@ -92,7 +150,7 @@
+ throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs,
+ ex);
+ }
+- }
++}
+
+ /**
+ * Constructor SignatureAlgorithm
+@@ -107,7 +165,8 @@
+ throws XMLSecurityException {
+
+ this(doc, algorithmURI);
+-
++ this.algorithmURI=algorithmURI;
++ initializeAlgorithm(true);
+ this._signatureAlgorithm.engineSetHMACOutputLength(HMACOutputLength);
+ ((IntegrityHmac)this._signatureAlgorithm)
+ .engineAddContextToElement(this._constructionElement);
+@@ -124,37 +183,7 @@
+ throws XMLSecurityException {
+
+ super(element, BaseURI);
+-
+- String algorithmURI = this.getURI();
+-
+- try {
+- Class implementingClass =
+- SignatureAlgorithm.getImplementingClass(algorithmURI);
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Create URI \"" + algorithmURI + "\" class \""
+- + implementingClass + "\"");
+-
+- this._signatureAlgorithm =
+- (SignatureAlgorithmSpi) implementingClass.newInstance();
+-
+- this._signatureAlgorithm
+- .engineGetContextFromElement(this._constructionElement);
+- } catch (IllegalAccessException ex) {
+- Object exArgs[] = { algorithmURI, ex.getMessage() };
+-
+- throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs,
+- ex);
+- } catch (InstantiationException ex) {
+- Object exArgs[] = { algorithmURI, ex.getMessage() };
+-
+- throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs,
+- ex);
+- } catch (NullPointerException ex) {
+- Object exArgs[] = { algorithmURI, ex.getMessage() };
+-
+- throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs,
+- ex);
+- }
++ algorithmURI = this.getURI();
+ }
+
+ /**
+@@ -175,7 +204,12 @@
+ * @return the result of the {@link java.security.Signature#getAlgorithm} method
+ */
+ public String getJCEAlgorithmString() {
+- return this._signatureAlgorithm.engineGetJCEAlgorithmString();
++ try {
++ return getInstanceForVerify(algorithmURI).engineGetJCEAlgorithmString();
++ } catch (XMLSignatureException e) {
++ //Ignore.
++ return null;
++ }
+ }
+
+ /**
+@@ -184,7 +218,11 @@
+ * @return The Provider of this Signature Alogrithm
+ */
+ public String getJCEProviderName() {
+- return this._signatureAlgorithm.engineGetJCEProviderName();
++ try {
++ return getInstanceForVerify(algorithmURI).engineGetJCEProviderName();
++ } catch (XMLSignatureException e) {
++ return null;
++ }
+ }
+
+ /**
+@@ -231,7 +269,13 @@
+ * @throws XMLSignatureException
+ */
+ public void initSign(Key signingKey) throws XMLSignatureException {
+- this._signatureAlgorithm.engineInitSign(signingKey);
++ initializeAlgorithm(true);
++ Map map=(Map)keysSigning.get();
++ if (map.get(this.algorithmURI)==signingKey) {
++ return;
++ }
++ map.put(this.algorithmURI,signingKey);
++ this._signatureAlgorithm.engineInitSign(signingKey);
+ }
+
+ /**
+@@ -244,6 +288,7 @@
+ */
+ public void initSign(Key signingKey, SecureRandom secureRandom)
+ throws XMLSignatureException {
++ initializeAlgorithm(true);
+ this._signatureAlgorithm.engineInitSign(signingKey, secureRandom);
+ }
+
+@@ -258,6 +303,7 @@
+ public void initSign(
+ Key signingKey, AlgorithmParameterSpec algorithmParameterSpec)
+ throws XMLSignatureException {
++ initializeAlgorithm(true);
+ this._signatureAlgorithm.engineInitSign(signingKey,
+ algorithmParameterSpec);
+ }
+@@ -282,7 +328,13 @@
+ * @throws XMLSignatureException
+ */
+ public void initVerify(Key verificationKey) throws XMLSignatureException {
+- this._signatureAlgorithm.engineInitVerify(verificationKey);
++ initializeAlgorithm(false);
++ Map map=(Map)keysVerify.get();
++ if (map.get(this.algorithmURI)==verificationKey) {
++ return;
++ }
++ map.put(this.algorithmURI,verificationKey);
++ this._signatureAlgorithm.engineInitVerify(verificationKey);
+ }
+
+ /**
+@@ -320,7 +372,7 @@
+ .getLogger(SignatureAlgorithm.class.getName());
+ }
+
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Init() called");
++ log.log(java.util.logging.Level.FINE, "Init() called");
+
+ if (!SignatureAlgorithm._alreadyInitialized) {
+ SignatureAlgorithm._algorithmHash = new HashMap(10);
+@@ -340,8 +392,8 @@
+ throws AlgorithmAlreadyRegisteredException,XMLSignatureException {
+
+ {
+- if (true)
+- if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "Try to register " + algorithmURI + " " + implementingClass);
++ if (log.isLoggable(java.util.logging.Level.FINE))
++ log.log(java.util.logging.Level.FINE, "Try to register " + algorithmURI + " " + implementingClass);
+
+ // are we already registered?
+ Class registeredClassClass =
+diff --git a/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java
+--- jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java
++++ jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java
+@@ -20,27 +20,20 @@
+ */
+ package com.sun.org.apache.xml.internal.security.algorithms;
+
+-
+-
+ import java.security.Key;
+ import java.security.SecureRandom;
+ import java.security.spec.AlgorithmParameterSpec;
+
+ import com.sun.org.apache.xml.internal.security.signature.XMLSignatureException;
+-import org.w3c.dom.Document;
+ import org.w3c.dom.Element;
+
+
+ /**
+ *
+- * @author $Author: raul $
++ * @author $Author: mullan $
+ */
+ public abstract class SignatureAlgorithmSpi {
+
+- /** {@link java.util.logging} logging facility */
+- static java.util.logging.Logger log =
+- java.util.logging.Logger.getLogger(SignatureAlgorithmSpi.class.getName());
+-
+ /**
+ * Returns the URI representation of <code>Transformation algorithm</code>
+ *
+@@ -167,20 +160,6 @@
+ protected abstract void engineSetParameter(AlgorithmParameterSpec params)
+ throws XMLSignatureException;
+
+- /** Field _doc */
+- Document _doc = null;
+-
+- /**
+- * Method engineSetDocument
+- *
+- * @param doc
+- */
+- protected void engineSetDocument(Document doc) {
+- this._doc = doc;
+- }
+-
+- /** Field _constructionElement */
+- Element _constructionElement = null;
+
+ /**
+ * Method engineGetContextFromElement
+@@ -188,7 +167,6 @@
+ * @param element
+ */
+ protected void engineGetContextFromElement(Element element) {
+- this._constructionElement = element;
+ }
+
+ /**
+@@ -199,4 +177,7 @@
+ */
+ protected abstract void engineSetHMACOutputLength(int HMACOutputLength)
+ throws XMLSignatureException;
++
++ public void reset() {
++ }
+ }
+diff --git a/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java
+--- jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java
++++ jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java
+@@ -45,7 +45,7 @@
+
+ /**
+ *
+- * @author $Author: raul $
++ * @author $Author: mullan $
+ */
+ public abstract class IntegrityHmac extends SignatureAlgorithmSpi {
+
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-ports-head
mailing list