changeset 2990:30db65b2cd27

PR1336: Bootstrap failure on Fedora 17/18 2013-04-22 Andrew John Hughes <gnu.andrew@member.fsf.org> PR1336: Bootstrap failure on Fedora 17/18 * Makefile.am: (ICEDTEA_BOOTSTRAP_CLASSES): Add SSLContext, SSLEngine, TrustAnchor and KeyStoreBuilderParameters depending on if methods are missing. * NEWS: Updated. * configure.ac: Mention bugs in comments. Add tests for getDefaultSSLParameters/setSSLParameters, new TrustAnchor constructor, TrustAnchor.getCA() and KeyStoreBuilderParameters.getParameters().
author Andrew John Hughes <gnu.andrew@redhat.com>
date Tue, 23 Apr 2013 22:38:22 +0100
parents 9f3282f826c4
children bb6ce131dcc2
files ChangeLog Makefile.am NEWS configure.ac
diffstat 4 files changed, 77 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Apr 17 12:01:42 2013 +0100
+++ b/ChangeLog	Tue Apr 23 22:38:22 2013 +0100
@@ -1,3 +1,16 @@
+2013-04-22  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR1336: Bootstrap failure on Fedora 17/18
+	* Makefile.am:
+	(ICEDTEA_BOOTSTRAP_CLASSES): Add SSLContext,
+	SSLEngine, TrustAnchor and KeyStoreBuilderParameters
+	depending on if methods are missing.
+	* NEWS: Updated.
+	* configure.ac: Mention bugs in comments.
+	Add tests for getDefaultSSLParameters/setSSLParameters,
+	new TrustAnchor constructor, TrustAnchor.getCA() and
+	KeyStoreBuilderParameters.getParameters().
+
 2013-04-17  Andrew John Hughes  <gnu.andrew@redhat.com>
 
 	* Makefile.am:
--- a/Makefile.am	Wed Apr 17 12:01:42 2013 +0100
+++ b/Makefile.am	Tue Apr 23 22:38:22 2013 +0100
@@ -118,6 +118,28 @@
 	$(SHARE)/javax/security/sasl/Sasl.java
 endif
 
+#PR56553 - SSLParameters support missing
+if LACKS_JAVAX_NET_SSL_SSLCONTEXT_GETDEFAULTSSLPARAMETERS
+ ICEDTEA_BOOTSTRAP_CLASSES += \
+	$(SHARE)/javax/net/ssl/SSLContext.java
+endif
+if LACKS_JAVAX_NET_SSL_SSLENGINE_SETSSLPARAMETERS
+ICEDTEA_BOOTSTRAP_CLASSES += \
+	$(SHARE)/javax/net/ssl/SSLEngine.java
+endif
+
+#PR57030 - Add missing TrustAnchor methods
+if LACKS_JAVA_SECURITY_CERT_TRUSTANCHOR_X500_CONS
+ICEDTEA_BOOTSTRAP_CLASSES += \
+	$(SHARE)/java/security/cert/TrustAnchor.java
+endif
+
+#PR57031 - Add missing getParameters() method in KeyStoreBuilderParameters
+if LACKS_JAVAX_NET_SSL_KEYSTOREBUILDERPARAMETERS_GETPARAMETERS
+ICEDTEA_BOOTSTRAP_CLASSES += \
+	$(SHARE)/javax/net/ssl/KeyStoreBuilderParameters.java
+endif
+
 # Flags
 MEMORY_LIMIT = -J-Xmx1024m
 IT_CFLAGS=$(CFLAGS) $(ARCHFLAG)
--- a/NEWS	Wed Apr 17 12:01:42 2013 +0100
+++ b/NEWS	Tue Apr 23 22:38:22 2013 +0100
@@ -61,6 +61,7 @@
   - PR1362: Fedora 19 / rawhide FTBFS SIGILL
   - PR1338: Remove dependence on libXp
   - PR1339: Simplify the rhino class rewriter to avoid use of concurrency
+  - PR1336: Bootstrap failure on Fedora 17/18
 
 New in release 1.12.4 (2013-03-04):
 
--- a/configure.ac	Wed Apr 17 12:01:42 2013 +0100
+++ b/configure.ac	Tue Apr 23 22:38:22 2013 +0100
@@ -56,7 +56,7 @@
 IT_DISABLE_LANGTOOLS_TESTS
 IT_DISABLE_JDK_TESTS
 
-#PR42003 - Missing javax.swing.plaf.basic.BasicDirectoryModel methods cause OpenJDK build failure 
+dnl PR42003 - Missing javax.swing.plaf.basic.BasicDirectoryModel methods cause OpenJDK build failure 
 IT_CHECK_FOR_METHOD([JAVAX_SWING_PLAF_BASIC_BASICDIRECTORYMODEL_ADDPROPERTYCHANGELISTENER],
   [javax.swing.plaf.basic.BasicDirectoryModel.addPropertyChangeListener(PropertyChangeListener)],
   [javax.swing.plaf.basic.BasicDirectoryModel],
@@ -64,7 +64,7 @@
   [javax.swing.plaf.basic.BasicDirectoryModel model = new javax.swing.plaf.basic.BasicDirectoryModel(new javax.swing.JFileChooser()); model.addPropertyChangeListener(model)]
 )
 
-# Workaround issue with old CORBA classes in old OpenJDK builds
+dnl Workaround issue with old CORBA classes in old OpenJDK builds
 IT_CHECK_FOR_CLASS([ORBUTILSYSTEMEXCEPTION],[com.sun.corba.se.impl.logging.ORBUtilSystemException])
 IT_CHECK_FOR_METHOD([ORBUTILSYSTEMEXCEPTION_IOEXCEPTIONONCLOSE_THROWABLE],
   [com.sun.corba.se.impl.logging.ORBUtilSystemException.ioExceptionOnClose(Throwable)],
@@ -73,11 +73,11 @@
   [new com.sun.corba.se.impl.logging.ORBUtilSystemException(null).ioExceptionOnClose(new InternalError())]
 )
 
-# PR43389 - javax.management.StandardMBean
+dnl PR43389 - javax.management.StandardMBean
 IT_CHECK_FOR_CONSTRUCTOR([JAVAX_MANAGEMENT_STANDARDMBEAN_MXBEAN_TWO_ARG],[javax.management.StandardMBean],[Class.class,Boolean.TYPE],[Object.class, true])
 IT_CHECK_FOR_CONSTRUCTOR([JAVAX_MANAGEMENT_STANDARDMBEAN_MXBEAN_THREE_ARG],[javax.management.StandardMBean],[Object.class,Class.class,Boolean.TYPE],[new Object(), Object.class, true])
 
-# PR54274 - sun.security.other requires missing X509CRLSelector methods
+dnl PR54274 - sun.security.other requires missing X509CRLSelector methods
 IT_CHECK_FOR_METHOD([JAVA_SECURITY_CERT_X509CRLSELECTOR_ADDISSUER],
   [java.security.cert.X509CRLSelector.addIssuer(X500Principal)],
   [java.security.cert.X509CRLSelector],
@@ -115,9 +115,45 @@
   [new javax.security.auth.kerberos.KerberosTicket(null,null,null,null,0,null,null,null,null,null,null).getSessionKeyType()]
 )
 
-# PR54275 - sun.security.sasl requires missing Sasl.CREDENTIALS field
+dnl PR54275 - sun.security.sasl requires missing Sasl.CREDENTIALS field
 IT_CHECK_FOR_STATIC_FIELD([JAVAX_SECURITY_SASL_SASL_CREDENTIALS],[CREDENTIALS],[javax.security.sasl.Sasl])
 
+dnl PR56553 - SSLParameters support missing
+IT_CHECK_FOR_METHOD([JAVAX_NET_SSL_SSLCONTEXT_GETDEFAULTSSLPARAMETERS],
+  [javax.net.ssl.SSLContext.getDefaultSSLParameters],
+  [javax.net.ssl.SSLContext],
+  ["getDefaultSSLParameters"],
+  [try { javax.net.ssl.SSLContext.getDefault().getDefaultSSLParameters(); } catch (Exception e) {}]
+)
+IT_CHECK_FOR_METHOD([JAVAX_NET_SSL_SSLENGINE_SETSSLPARAMETERS],
+  [javax.net.ssl.SSLEngine.setSSLParameters],
+  [javax.net.ssl.SSLEngine],
+  ["setSSLParameters", javax.net.ssl.SSLParameters.class],
+  [try { javax.net.ssl.SSLContext.getDefault().createSSLEngine().setSSLParameters(new javax.net.ssl.SSLParameters()); }
+   catch (Exception e) {}]
+)
+
+dnl PR57030 - Add missing TrustAnchor methods
+IT_CHECK_FOR_CONSTRUCTOR([JAVA_SECURITY_CERT_TRUSTANCHOR_X500_CONS],
+  [java.security.cert.TrustAnchor],
+  [javax.security.auth.x500.X500Principal.class, java.security.PublicKey.class, byte@<:@@:>@.class],
+  [new javax.security.auth.x500.X500Principal("bob"),null,null]
+)
+IT_CHECK_FOR_METHOD([JAVA_SECURITY_CERT_TRUSTANCHOR_GETCA],
+  [java.security.cert.TrustAnchor.getCA],
+  [java.security.cert.TrustAnchor],
+  ["getCA"],
+  [new java.security.cert.TrustAnchor("", null, null).getCA()]
+)
+
+dnl PR57031 - Add missing getParameters() method in KeyStoreBuilderParameters
+IT_CHECK_FOR_METHOD([JAVAX_NET_SSL_KEYSTOREBUILDERPARAMETERS_GETPARAMETERS],
+  [javax.net.ssl.KeyStoreBuilderParameters.getParameters],
+  [javax.net.ssl.KeyStoreBuilderParameters],
+  ["getParameters"],
+  [new javax.net.ssl.KeyStoreBuilderParameters(new java.util.ArrayList<java.security.KeyStore.Builder>()).getParameters()]
+)
+
 # Use xvfb-run if found to run gui tests (check-jdk).
 AC_CHECK_PROG(XVFB_RUN_CMD, xvfb-run, [xvfb-run -a -e xvfb-errors], [])
 AC_SUBST(XVFB_RUN_CMD)