ports/180541: commit references a PR

dfilter service dfilter at FreeBSD.ORG
Tue Jul 16 21:10:02 UTC 2013


The following reply was made to PR ports/180541; it has been noted by GNATS.

From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: ports/180541: commit references a PR
Date: Tue, 16 Jul 2013 21:07:35 +0000 (UTC)

 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 ***
 _______________________________________________
 svn-ports-all at freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-ports-all
 To unsubscribe, send any mail to "svn-ports-all-unsubscribe at freebsd.org"
 


More information about the freebsd-java mailing list