Browse Source

HADOOP-11859. PseudoAuthenticationHandler fails with httpcomponents v4.4. Contributed by Eugene Koifman.

(cherry picked from commit db4419df6bc72e9a1ddd90bac4dd7dcf0fb05479)
Kihwal Lee 8 years ago
parent
commit
deae1f8323

+ 5 - 1
hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/PseudoAuthenticationHandler.java

@@ -142,7 +142,11 @@ public class PseudoAuthenticationHandler implements AuthenticationHandler {
   }
 
   private String getUserName(HttpServletRequest request) {
-    List<NameValuePair> list = URLEncodedUtils.parse(request.getQueryString(), UTF8_CHARSET);
+    String queryString = request.getQueryString();
+    if(queryString == null || queryString.length() == 0) {
+      return null;
+    }
+    List<NameValuePair> list = URLEncodedUtils.parse(queryString, UTF8_CHARSET);
     if (list != null) {
       for (NameValuePair nv : list) {
         if (PseudoAuthenticator.USER_NAME.equals(nv.getName())) {

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -104,6 +104,9 @@ Release 2.7.4 - UNRELEASED
     HADOOP-13804. MutableStat mean loses accuracy if add(long, long) is used.
     (Erik Krogen via zhz)
 
+    HADOOP-11859. PseudoAuthenticationHandler fails with httpcomponents v4.4.
+    (Eugene Koifman via jitendra)
+
 Release 2.7.3 - 2016-08-25
 
   INCOMPATIBLE CHANGES