HADOOP-8418. Update UGI Principal classes name for running with
IBM JDK on 64 bits Windows. (Yu Gao via eyang) git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1418572 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e7cb3fd39c
commit
bcaba93941
|
@ -143,6 +143,9 @@ Trunk (Unreleased)
|
|||
|
||||
BUG FIXES
|
||||
|
||||
HADOOP-8418. Update UGI Principal classes name for running with
|
||||
IBM JDK on 64 bits Windows. (Yu Gao via eyang)
|
||||
|
||||
HADOOP-8177. MBeans shouldn't try to register when it fails to create MBeanName.
|
||||
(Devaraj K via umamahesh)
|
||||
|
||||
|
|
|
@ -301,10 +301,14 @@ public class UserGroupInformation {
|
|||
private static Class<? extends Principal> OS_PRINCIPAL_CLASS;
|
||||
private static final boolean windows =
|
||||
System.getProperty("os.name").startsWith("Windows");
|
||||
private static final boolean is64Bit =
|
||||
System.getProperty("os.arch").contains("64");
|
||||
/* Return the OS login module class name */
|
||||
private static String getOSLoginModuleName() {
|
||||
if (System.getProperty("java.vendor").contains("IBM")) {
|
||||
return windows ? "com.ibm.security.auth.module.NTLoginModule"
|
||||
return windows ? (is64Bit
|
||||
? "com.ibm.security.auth.module.Win64LoginModule"
|
||||
: "com.ibm.security.auth.module.NTLoginModule")
|
||||
: "com.ibm.security.auth.module.LinuxLoginModule";
|
||||
} else {
|
||||
return windows ? "com.sun.security.auth.module.NTLoginModule"
|
||||
|
@ -319,11 +323,11 @@ public class UserGroupInformation {
|
|||
try {
|
||||
if (System.getProperty("java.vendor").contains("IBM")) {
|
||||
if (windows) {
|
||||
return (Class<? extends Principal>)
|
||||
cl.loadClass("com.ibm.security.auth.UsernamePrincipal");
|
||||
return (Class<? extends Principal>) (is64Bit
|
||||
? cl.loadClass("com.ibm.security.auth.UsernamePrincipal")
|
||||
: cl.loadClass("com.ibm.security.auth.NTUserPrincipal"));
|
||||
} else {
|
||||
return (Class<? extends Principal>)
|
||||
(System.getProperty("os.arch").contains("64")
|
||||
return (Class<? extends Principal>) (is64Bit
|
||||
? cl.loadClass("com.ibm.security.auth.UsernamePrincipal")
|
||||
: cl.loadClass("com.ibm.security.auth.LinuxPrincipal"));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue