JDK 16 RFR of JDK-8247374: Remove default constructors from javax.net.ssl

Xuelei Fan xuelei.fan at oracle.com
Thu Jun 11 00:09:56 UTC 2020


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.
> 


More information about the security-dev mailing list