You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by kh...@apache.org on 2014/05/09 01:35:15 UTC

svn commit: r1593460 - /hive/branches/branch-0.13/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge20S.java

Author: khorgath
Date: Thu May  8 23:35:15 2014
New Revision: 1593460

URL: http://svn.apache.org/r1593460
Log:
HIVE-6957 : SQL authorization does not work with HS2 binary mode and Kerberos auth (Thejas Nair, reviewed by Vaibhav Gumashta)
(from https://issues.apache.org/jira/secure/attachment/12641964/HIVE-6957.04-branch.0.13.patch)

Modified:
    hive/branches/branch-0.13/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge20S.java

Modified: hive/branches/branch-0.13/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge20S.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.13/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge20S.java?rev=1593460&r1=1593459&r2=1593460&view=diff
==============================================================================
--- hive/branches/branch-0.13/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge20S.java (original)
+++ hive/branches/branch-0.13/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge20S.java Thu May  8 23:35:15 2014
@@ -609,6 +609,7 @@ public class HadoopThriftAuthBridge20S e
             clientUgi = UserGroupInformation.createProxyUser(
                 endUser, UserGroupInformation.getLoginUser());
             remoteUser.set(clientUgi.getShortUserName());
+            LOG.debug("Set remoteUser :" + remoteUser.get());
             return clientUgi.doAs(new PrivilegedExceptionAction<Boolean>() {
               @Override
               public Boolean run() {
@@ -620,7 +621,10 @@ public class HadoopThriftAuthBridge20S e
               }
             });
           } else {
-            remoteUser.set(endUser);
+            // use the short user name for the request
+            UserGroupInformation endUserUgi = UserGroupInformation.createRemoteUser(endUser);
+            remoteUser.set(endUserUgi.getShortUserName());
+            LOG.debug("Set remoteUser :" + remoteUser.get() + ", from endUser :" + endUser);
             return wrapped.process(inProt, outProt);
           }
         } catch (RuntimeException rte) {