Thank you for taking care of the issue. The update looks good to me. I added myself as the reviewer in the CSR.

Xuelei

On 6/10/2020 4:12 PM, Joe Darcy wrote:
Hello,

Please review the addition of several explicit constructors to abstract classes in javax.net.ssl to remove the use of implicit default constructors; CSR link and patch below:

     JDK-8247374: Remove default constructors from javax.net.ssl
     CSR: https://bugs.openjdk.java.net/browse/JDK-8247375
     webrev: http://cr.openjdk.java.net/~darcy/8247374.0/

Thanks,

-Joe

diff -r d9daa4ce8017 src/java.base/share/classes/javax/net/ssl/ExtendedSSLSession.java --- a/src/java.base/share/classes/javax/net/ssl/ExtendedSSLSession.java Wed Jun 10 13:29:44 2020 -0700 +++ b/src/java.base/share/classes/javax/net/ssl/ExtendedSSLSession.java Wed Jun 10 16:09:50 2020 -0700
@@ -1,5 +1,5 @@
  /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,11 @@
   */
  public abstract class ExtendedSSLSession implements SSLSession {
      /**
+     * Constructor for subclasses to call.
+     */
+    public ExtendedSSLSession() {}
+
+    /**
      * Obtains an array of supported signature algorithms that the local side
       * is willing to use.
       * <p>
diff -r d9daa4ce8017 src/java.base/share/classes/javax/net/ssl/KeyManagerFactorySpi.java --- a/src/java.base/share/classes/javax/net/ssl/KeyManagerFactorySpi.java Wed Jun 10 13:29:44 2020 -0700 +++ b/src/java.base/share/classes/javax/net/ssl/KeyManagerFactorySpi.java Wed Jun 10 16:09:50 2020 -0700
@@ -1,5 +1,5 @@
  /*
- * Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
@@ -41,6 +41,11 @@
   */
  public abstract class KeyManagerFactorySpi {
      /**
+     * Constructor for subclasses to call.
+     */
+    public KeyManagerFactorySpi() {}
+
+    /**
       * Initializes this factory with a source of key material.
       *
       * @param ks the key store or null
diff -r d9daa4ce8017 src/java.base/share/classes/javax/net/ssl/SSLContextSpi.java --- a/src/java.base/share/classes/javax/net/ssl/SSLContextSpi.java Wed Jun 10 13:29:44 2020 -0700 +++ b/src/java.base/share/classes/javax/net/ssl/SSLContextSpi.java Wed Jun 10 16:09:50 2020 -0700
@@ -40,6 +40,11 @@
   */
  public abstract class SSLContextSpi {
      /**
+     * Constructor for subclasses to call.
+     */
+    public SSLContextSpi() {}
+
+    /**
       * Initializes this context.
       *
       * @param km the sources of authentication keys
diff -r d9daa4ce8017 src/java.base/share/classes/javax/net/ssl/TrustManagerFactorySpi.java --- a/src/java.base/share/classes/javax/net/ssl/TrustManagerFactorySpi.java Wed Jun 10 13:29:44 2020 -0700 +++ b/src/java.base/share/classes/javax/net/ssl/TrustManagerFactorySpi.java Wed Jun 10 16:09:50 2020 -0700
@@ -1,5 +1,5 @@
  /*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
@@ -41,6 +41,11 @@
   */
  public abstract class TrustManagerFactorySpi {
      /**
+     * Constructor for subclasses to call.
+     */
+    public TrustManagerFactorySpi() {}
+
+    /**
       * Initializes this factory with a source of certificate
       * authorities and related trust material.
       *
diff -r d9daa4ce8017 src/java.base/share/classes/javax/net/ssl/X509ExtendedTrustManager.java --- a/src/java.base/share/classes/javax/net/ssl/X509ExtendedTrustManager.java Wed Jun 10 13:29:44 2020 -0700 +++ b/src/java.base/share/classes/javax/net/ssl/X509ExtendedTrustManager.java Wed Jun 10 16:09:50 2020 -0700
@@ -1,5 +1,5 @@
  /*
- * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
@@ -55,6 +55,11 @@
   */
 public abstract class X509ExtendedTrustManager implements X509TrustManager {
      /**
+     * Constructor for subclasses to call.
+     */
+    public X509ExtendedTrustManager() {}
+
+    /**
       * Given the partial or complete certificate chain provided by the
       * peer, build and validate the certificate path based on the
       * authentication type and ssl parameters.

Reply via email to