HADOOP-11628. SPNEGO auth does not work with CNAMEs in JDK8. (Daryn Sharp via stevel).
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/bafeb6c7 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/bafeb6c7 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/bafeb6c7 Branch: refs/heads/trunk Commit: bafeb6c7bc50efd11c6637921a50dd9cfdd53841 Parents: 58590fe Author: Steve Loughran <[email protected]> Authored: Sun Oct 18 11:45:11 2015 +0100 Committer: Steve Loughran <[email protected]> Committed: Sun Oct 18 11:45:41 2015 +0100 ---------------------------------------------------------------------- .../authentication/server/KerberosAuthenticationHandler.java | 4 +++- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/bafeb6c7/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/KerberosAuthenticationHandler.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/KerberosAuthenticationHandler.java b/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/KerberosAuthenticationHandler.java index 846541b..c6d1881 100644 --- a/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/KerberosAuthenticationHandler.java +++ b/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/KerberosAuthenticationHandler.java @@ -37,6 +37,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; +import java.net.InetAddress; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; import java.util.ArrayList; @@ -342,7 +343,8 @@ public class KerberosAuthenticationHandler implements AuthenticationHandler { authorization = authorization.substring(KerberosAuthenticator.NEGOTIATE.length()).trim(); final Base64 base64 = new Base64(0); final byte[] clientToken = base64.decode(authorization); - final String serverName = request.getServerName(); + final String serverName = InetAddress.getByName(request.getServerName()) + .getCanonicalHostName(); try { token = Subject.doAs(serverSubject, new PrivilegedExceptionAction<AuthenticationToken>() { http://git-wip-us.apache.org/repos/asf/hadoop/blob/bafeb6c7/hadoop-common-project/hadoop-common/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 2f2ce6b..af10154 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -1234,6 +1234,9 @@ Release 2.8.0 - UNRELEASED HADOOP-12479. ProtocMojo does not log the reason for a protoc compilation failure. (cnauroth) + HADOOP-11628. SPNEGO auth does not work with CNAMEs in JDK8. + (Daryn Sharp via stevel). + OPTIMIZATIONS HADOOP-12051. ProtobufRpcEngine.invoke() should use Exception.toString()
