From d5c853c08883147d01db6cf56a91abd504be1d54 Mon Sep 17 00:00:00 2001 From: Weijun Wang Date: Fri, 23 Jan 2015 09:22:14 +0800 Subject: [PATCH] 8071313: krb5.conf not read if SCDynamicStore krb5 config is empty Reviewed-by: mullan --- .../sun/security/krb5/SCDynamicStoreConfig.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/SCDynamicStoreConfig.java b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/SCDynamicStoreConfig.java index f94a1372054..422e9ffbe61 100644 --- a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/SCDynamicStoreConfig.java +++ b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/SCDynamicStoreConfig.java @@ -113,15 +113,17 @@ public class SCDynamicStoreConfig { @SuppressWarnings("unchecked") private static Hashtable convertNativeConfig( - Hashtable stanzaTable) { + Hashtable stanzaTable) throws IOException { // convert SCDynamicStore realm structure to Java realm structure Hashtable realms = (Hashtable) stanzaTable.get("realms"); - if (realms != null) { - stanzaTable.remove("realms"); - Hashtable realmsTable = convertRealmConfigs(realms); - stanzaTable.put("realms", realmsTable); + if (realms == null || realms.isEmpty()) { + throw new IOException( + "SCDynamicStore contains an empty Kerberos setting"); } + stanzaTable.remove("realms"); + Hashtable realmsTable = convertRealmConfigs(realms); + stanzaTable.put("realms", realmsTable); WrapAllStringInVector(stanzaTable); if (DEBUG) System.out.println("stanzaTable : " + stanzaTable); return stanzaTable;