From d98371fcfec13857bf695dd6206f69e54e51fdc9 Mon Sep 17 00:00:00 2001 From: Pavel Rappo Date: Tue, 13 Dec 2016 12:26:18 +0000 Subject: [PATCH] 8038079: Re-examine integration of SPNEGO authentication @module tags have been removed from the HttpNegotiateServer.java as it turns out exactly the same lines have been already defined in TEST.properties sitting in the same folder Reviewed-by: chegar, dfuchs --- .../classes/sun/net/www/protocol/http/Negotiator.java | 4 +++- jdk/src/java.security.jgss/share/classes/module-info.java | 6 ++++++ jdk/test/ProblemList.txt | 2 -- jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java | 7 ------- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/jdk/src/java.base/share/classes/sun/net/www/protocol/http/Negotiator.java b/jdk/src/java.base/share/classes/sun/net/www/protocol/http/Negotiator.java index 856efe16f41..7993b9d284d 100644 --- a/jdk/src/java.base/share/classes/sun/net/www/protocol/http/Negotiator.java +++ b/jdk/src/java.base/share/classes/sun/net/www/protocol/http/Negotiator.java @@ -48,7 +48,9 @@ public abstract class Negotiator { Class clazz; Constructor c; try { - clazz = Class.forName("sun.net.www.protocol.http.spnego.NegotiatorImpl", true, null); + clazz = Class.forName("sun.net.www.protocol.http.spnego.NegotiatorImpl", + true, + ClassLoader.getPlatformClassLoader()); c = clazz.getConstructor(HttpCallerInfo.class); } catch (ClassNotFoundException cnfe) { finest(cnfe); diff --git a/jdk/src/java.security.jgss/share/classes/module-info.java b/jdk/src/java.security.jgss/share/classes/module-info.java index 6380721852c..78a72496ace 100644 --- a/jdk/src/java.security.jgss/share/classes/module-info.java +++ b/jdk/src/java.security.jgss/share/classes/module-info.java @@ -42,6 +42,12 @@ module java.security.jgss { jdk.security.jgss; exports sun.security.krb5.internal.ktab to jdk.security.auth; + + // Opens for reflective instantiation of sun.net.www.protocol.http.spnego.NegotiatorImpl + // to sun.net.www.protocol.http.HttpURLConnection + opens sun.net.www.protocol.http.spnego to + java.base; + provides java.security.Provider with sun.security.jgss.SunProvider; provides sun.security.ssl.ClientKeyExchangeService with sun.security.krb5.internal.ssl.Krb5KeyExchangeService; diff --git a/jdk/test/ProblemList.txt b/jdk/test/ProblemList.txt index 69c91f02c57..e39299b7b97 100644 --- a/jdk/test/ProblemList.txt +++ b/jdk/test/ProblemList.txt @@ -215,8 +215,6 @@ sun/security/tools/keytool/ListKeychainStore.sh 8156889 macosx-a sun/security/tools/jarsigner/warnings/BadKeyUsageTest.java 8026393 generic-all -sun/security/krb5/auto/HttpNegotiateServer.java 8038079 generic-all - sun/security/ssl/SSLSocketImpl/AsyncSSLSocketClose.java 8161232 macosx-all sun/net/www/protocol/https/HttpsClient/ServerIdentityTest.java 8171043 windows-all diff --git a/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java b/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java index 2ef37651374..96245002874 100644 --- a/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java +++ b/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java @@ -24,13 +24,6 @@ /* * @test * @bug 6578647 6829283 - * @modules java.base/sun.security.util - * java.security.jgss/sun.security.jgss - * java.security.jgss/sun.security.krb5 - * java.security.jgss/sun.security.krb5.internal - * java.security.jgss/sun.security.krb5.internal.ccache - * java.security.jgss/sun.security.krb5.internal.crypto - * java.security.jgss/sun.security.krb5.internal.ktab * @run main/othervm HttpNegotiateServer * @summary Undefined requesting URL in java.net.Authenticator.getPasswordAuthentication() * @summary HTTP/Negotiate: Authenticator triggered again when user cancels the first one