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/branches/branch-2@1418573 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2e12de45a4
commit
ddd84ebedb
|
@ -105,6 +105,9 @@ Release 2.0.3-alpha - Unreleased
|
||||||
|
|
||||||
BUG FIXES
|
BUG FIXES
|
||||||
|
|
||||||
|
HADOOP-8418. Update UGI Principal classes name for running with
|
||||||
|
IBM JDK on 64 bits Windows. (Yu Gao via eyang)
|
||||||
|
|
||||||
HADOOP-8795. BASH tab completion doesn't look in PATH, assumes path to
|
HADOOP-8795. BASH tab completion doesn't look in PATH, assumes path to
|
||||||
executable is specified. (Sean Mackrory via atm)
|
executable is specified. (Sean Mackrory via atm)
|
||||||
|
|
||||||
|
|
|
@ -289,12 +289,16 @@ public class UserGroupInformation {
|
||||||
private static String OS_LOGIN_MODULE_NAME;
|
private static String OS_LOGIN_MODULE_NAME;
|
||||||
private static Class<? extends Principal> OS_PRINCIPAL_CLASS;
|
private static Class<? extends Principal> OS_PRINCIPAL_CLASS;
|
||||||
private static final boolean windows =
|
private static final boolean windows =
|
||||||
System.getProperty("os.name").startsWith("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 */
|
/* Return the OS login module class name */
|
||||||
private static String getOSLoginModuleName() {
|
private static String getOSLoginModuleName() {
|
||||||
if (System.getProperty("java.vendor").contains("IBM")) {
|
if (System.getProperty("java.vendor").contains("IBM")) {
|
||||||
return windows ? "com.ibm.security.auth.module.NTLoginModule"
|
return windows ? (is64Bit
|
||||||
: "com.ibm.security.auth.module.LinuxLoginModule";
|
? "com.ibm.security.auth.module.Win64LoginModule"
|
||||||
|
: "com.ibm.security.auth.module.NTLoginModule")
|
||||||
|
: "com.ibm.security.auth.module.LinuxLoginModule";
|
||||||
} else {
|
} else {
|
||||||
return windows ? "com.sun.security.auth.module.NTLoginModule"
|
return windows ? "com.sun.security.auth.module.NTLoginModule"
|
||||||
: "com.sun.security.auth.module.UnixLoginModule";
|
: "com.sun.security.auth.module.UnixLoginModule";
|
||||||
|
@ -308,13 +312,13 @@ public class UserGroupInformation {
|
||||||
try {
|
try {
|
||||||
if (System.getProperty("java.vendor").contains("IBM")) {
|
if (System.getProperty("java.vendor").contains("IBM")) {
|
||||||
if (windows) {
|
if (windows) {
|
||||||
return (Class<? extends Principal>)
|
return (Class<? extends Principal>) (is64Bit
|
||||||
cl.loadClass("com.ibm.security.auth.UsernamePrincipal");
|
? cl.loadClass("com.ibm.security.auth.UsernamePrincipal")
|
||||||
|
: cl.loadClass("com.ibm.security.auth.NTUserPrincipal"));
|
||||||
} else {
|
} else {
|
||||||
return (Class<? extends Principal>)
|
return (Class<? extends Principal>) (is64Bit
|
||||||
(System.getProperty("os.arch").contains("64")
|
? cl.loadClass("com.ibm.security.auth.UsernamePrincipal")
|
||||||
? cl.loadClass("com.ibm.security.auth.UsernamePrincipal")
|
: cl.loadClass("com.ibm.security.auth.LinuxPrincipal"));
|
||||||
: cl.loadClass("com.ibm.security.auth.LinuxPrincipal"));
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return (Class<? extends Principal>) (windows
|
return (Class<? extends Principal>) (windows
|
||||||
|
|
Loading…
Reference in New Issue