Permalink
Browse files

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
  • Loading branch information...
1 parent 0fb5df0 commit c28b0c5c93599d6494132890964ea0f0fd86a2d0 @macroadster macroadster committed Dec 8, 2012
@@ -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)
@@ -299,13 +299,17 @@ private static boolean isAuthenticationMethodEnabled(AuthenticationMethod method
private static String OS_LOGIN_MODULE_NAME;
private static Class<? extends Principal> OS_PRINCIPAL_CLASS;
- private static final boolean windows =
- System.getProperty("os.name").startsWith("Windows");
+ 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"
- : "com.ibm.security.auth.module.LinuxLoginModule";
+ 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"
: "com.sun.security.auth.module.UnixLoginModule";
@@ -319,13 +323,13 @@ private static String getOSLoginModuleName() {
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")
- ? cl.loadClass("com.ibm.security.auth.UsernamePrincipal")
- : cl.loadClass("com.ibm.security.auth.LinuxPrincipal"));
+ return (Class<? extends Principal>) (is64Bit
+ ? cl.loadClass("com.ibm.security.auth.UsernamePrincipal")
+ : cl.loadClass("com.ibm.security.auth.LinuxPrincipal"));
}
} else {
return (Class<? extends Principal>) (windows

0 comments on commit c28b0c5

Please sign in to comment.