提交 ed906154 编写于 作者: A alitvinov

8068184: Fix for JDK-8032832 caused a deadlock

Reviewed-by: dfuchs, chegar
上级 eae4fc04
...@@ -31,7 +31,6 @@ import java.net.Authenticator.RequestorType; ...@@ -31,7 +31,6 @@ import java.net.Authenticator.RequestorType;
import java.util.Base64; import java.util.Base64;
import java.util.HashMap; import java.util.HashMap;
import sun.net.www.HeaderParser; import sun.net.www.HeaderParser;
import sun.util.logging.PlatformLogger;
import static sun.net.www.protocol.http.AuthScheme.NEGOTIATE; import static sun.net.www.protocol.http.AuthScheme.NEGOTIATE;
import static sun.net.www.protocol.http.AuthScheme.KERBEROS; import static sun.net.www.protocol.http.AuthScheme.KERBEROS;
import sun.security.action.GetPropertyAction; import sun.security.action.GetPropertyAction;
...@@ -46,7 +45,6 @@ import sun.security.action.GetPropertyAction; ...@@ -46,7 +45,6 @@ import sun.security.action.GetPropertyAction;
class NegotiateAuthentication extends AuthenticationInfo { class NegotiateAuthentication extends AuthenticationInfo {
private static final long serialVersionUID = 100L; private static final long serialVersionUID = 100L;
private static final PlatformLogger logger = HttpURLConnection.getHttpLogger();
final private HttpCallerInfo hci; final private HttpCallerInfo hci;
...@@ -89,31 +87,6 @@ class NegotiateAuthentication extends AuthenticationInfo { ...@@ -89,31 +87,6 @@ class NegotiateAuthentication extends AuthenticationInfo {
return false; return false;
} }
/**
* Find out if the HttpCallerInfo supports Negotiate protocol.
* @return true if supported
*/
public static boolean isSupported(HttpCallerInfo hci) {
ClassLoader loader = null;
try {
loader = Thread.currentThread().getContextClassLoader();
} catch (SecurityException se) {
if (logger.isLoggable(PlatformLogger.Level.FINER)) {
logger.finer("NegotiateAuthentication: " +
"Attempt to get the context class loader failed - " + se);
}
}
if (loader != null) {
// Lock on the class loader instance to avoid the deadlock engaging
// the lock in "ClassLoader.loadClass(String, boolean)" method.
synchronized (loader) {
return isSupportedImpl(hci);
}
}
return isSupportedImpl(hci);
}
/** /**
* Find out if the HttpCallerInfo supports Negotiate protocol. In order to * Find out if the HttpCallerInfo supports Negotiate protocol. In order to
* find out yes or no, an initialization of a Negotiator object against it * find out yes or no, an initialization of a Negotiator object against it
...@@ -125,7 +98,7 @@ class NegotiateAuthentication extends AuthenticationInfo { ...@@ -125,7 +98,7 @@ class NegotiateAuthentication extends AuthenticationInfo {
* *
* @return true if supported * @return true if supported
*/ */
private static synchronized boolean isSupportedImpl(HttpCallerInfo hci) { synchronized public static boolean isSupported(HttpCallerInfo hci) {
if (supported == null) { if (supported == null) {
supported = new HashMap<>(); supported = new HashMap<>();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册