src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java
--- a/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Wed Jun 12 18:58:00 2019 -0700
+++ b/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Thu Jun 13 10:06:07 2019 +0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, 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
@@ -66,7 +66,7 @@
static {
MECH_MAP =
AccessController.doPrivileged(
- new PrivilegedAction<HashMap<String, String>>() {
+ new PrivilegedAction<>() {
public HashMap<String, String> run() {
DEBUG = Boolean.parseBoolean(
System.getProperty("sun.security.nativegss.debug"));
@@ -77,7 +77,7 @@
if (DEBUG) err.printStackTrace();
return null;
}
- String[] gssLibs = new String[0];
+ String[] gssLibs;
String defaultLib
= System.getProperty("sun.security.jgss.lib");
if (defaultLib == null || defaultLib.trim().equals("")) {
@@ -95,6 +95,12 @@
"libgssapi_krb5.dylib",
"/usr/lib/sasl2/libgssapiv2.2.so",
};
+ } else if (osname.contains("Windows")) {
+ // Full path needed, DLL is in jre/bin
+ gssLibs = new String[]{ System.getProperty("java.home")
+ + "\\bin\\sspi_bridge.dll" };
+ } else {
+ gssLibs = new String[0];
}
} else {
gssLibs = new String[]{ defaultLib };
@@ -103,8 +109,7 @@
if (GSSLibStub.init(libName, DEBUG)) {
debug("Loaded GSS library: " + libName);
Oid[] mechs = GSSLibStub.indicateMechs();
- HashMap<String, String> map =
- new HashMap<String, String>();
+ HashMap<String,String> map = new HashMap<>();
for (int i = 0; i < mechs.length; i++) {
debug("Native MF for " + mechs[i]);
map.put("GssApiMechanism." + mechs[i],