From eeced257c074760b9ffefa5b3532c677f58f0cfe Mon Sep 17 00:00:00 2001 From: Robert Joseph Evans Date: Wed, 14 Nov 2012 17:35:42 +0000 Subject: [PATCH] svn merge -r 1409090:1409089 reverting HDFS-4171 until test failures can be fixed. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1409268 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/hadoop/lib/wsrs/UserProvider.java | 18 +----- .../hadoop/lib/wsrs/TestUserProvider.java | 55 ------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 2 - .../hadoop/hdfs/web/resources/UserParam.java | 22 +------- .../hadoop/hdfs/web/resources/TestParam.java | 40 -------------- 5 files changed, 4 insertions(+), 133 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/UserProvider.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/UserProvider.java index b6422a781a6..8310b00d9d4 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/UserProvider.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/UserProvider.java @@ -31,7 +31,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.ext.Provider; import java.lang.reflect.Type; import java.security.Principal; -import java.text.MessageFormat; import java.util.regex.Pattern; @Provider @@ -41,26 +40,13 @@ public class UserProvider extends AbstractHttpContextInjectable imple public static final String USER_NAME_PARAM = "user.name"; - public static final Pattern USER_PATTERN = Pattern.compile("^[a-z_][a-z0-9_-]*[$]?$"); + public static final Pattern USER_PATTERN = Pattern.compile("[_a-zA-Z0-9]+"); - static class UserParam extends StringParam { + private static class UserParam extends StringParam { public UserParam(String user) { super(USER_NAME_PARAM, user, USER_PATTERN); } - - @Override - public String parseParam(String str) { - if (str != null) { - int len = str.length(); - if (len < 1 || len > 31) { - throw new IllegalArgumentException(MessageFormat.format( - "Parameter [{0}], invalid value [{1}], it's length must be between 1 and 31", - getName(), str)); - } - } - return super.parseParam(str); - } } @Override diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/lib/wsrs/TestUserProvider.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/lib/wsrs/TestUserProvider.java index 2bba4f090d0..2e5c646f374 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/lib/wsrs/TestUserProvider.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/lib/wsrs/TestUserProvider.java @@ -19,18 +19,13 @@ package org.apache.hadoop.lib.wsrs; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import java.security.Principal; import javax.ws.rs.core.MultivaluedMap; -import org.apache.hadoop.test.TestException; -import org.apache.hadoop.test.TestExceptionHelper; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.MethodRule; import org.mockito.Mockito; import org.slf4j.MDC; @@ -40,9 +35,6 @@ import com.sun.jersey.core.spi.component.ComponentScope; public class TestUserProvider { - @Rule - public MethodRule exceptionHelper = new TestExceptionHelper(); - @Test @SuppressWarnings("unchecked") public void noUser() { @@ -100,51 +92,4 @@ public class TestUserProvider { assertEquals(up.getInjectable(null, null, Principal.class), up); assertNull(up.getInjectable(null, null, String.class)); } - - @Test - @TestException(exception = IllegalArgumentException.class) - public void userNameEmpty() { - UserProvider.UserParam userParam = new UserProvider.UserParam("username"); - userParam.parseParam(""); - } - - @Test - @TestException(exception = IllegalArgumentException.class) - public void userNameTooLong() { - UserProvider.UserParam userParam = new UserProvider.UserParam("username"); - userParam.parseParam("a123456789012345678901234567890x"); - } - - @Test - @TestException(exception = IllegalArgumentException.class) - public void userNameInvalidStart() { - UserProvider.UserParam userParam = new UserProvider.UserParam("username"); - userParam.parseParam("1x"); - } - - @Test - @TestException(exception = IllegalArgumentException.class) - public void userNameInvalidDollarSign() { - UserProvider.UserParam userParam = new UserProvider.UserParam("username"); - userParam.parseParam("1$x"); - } - - @Test - public void userNameMinLength() { - UserProvider.UserParam userParam = new UserProvider.UserParam("username"); - assertNotNull(userParam.parseParam("a")); - } - - @Test - public void userNameMaxLength() { - UserProvider.UserParam userParam = new UserProvider.UserParam("username"); - assertNotNull(userParam.parseParam("a123456789012345678901234567890")); - } - - @Test - public void userNameValidDollarSign() { - UserProvider.UserParam userParam = new UserProvider.UserParam("username"); - assertNotNull(userParam.parseParam("a$")); - } - } diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index b078cb2d233..45ae0691c67 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -235,8 +235,6 @@ Release 2.0.3-alpha - Unreleased HDFS-4106. BPServiceActor#lastHeartbeat, lastBlockReport and lastDeletedReport should be volatile. (Jing Zhao via suresh) - HDFS-4171. WebHDFS and HttpFs should accept only valid Unix user names. (tucu) - HDFS-4139. fuse-dfs RO mode still allows file truncation. (Colin Patrick McCabe via eli) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/UserParam.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/UserParam.java index 298accb664a..e50460306ae 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/UserParam.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/resources/UserParam.java @@ -19,9 +19,6 @@ package org.apache.hadoop.hdfs.web.resources; import org.apache.hadoop.security.UserGroupInformation; -import java.text.MessageFormat; -import java.util.regex.Pattern; - /** User parameter. */ public class UserParam extends StringParam { /** Parameter name. */ @@ -29,29 +26,14 @@ public class UserParam extends StringParam { /** Default parameter value. */ public static final String DEFAULT = ""; - private static final Domain DOMAIN = new Domain(NAME, - Pattern.compile("^[a-z_][a-z0-9_-]*[$]?$")); - - private static String validateLength(String str) { - if (str == null) { - throw new IllegalArgumentException( - MessageFormat.format("Parameter [{0}], cannot be NULL", NAME)); - } - int len = str.length(); - if (len < 1 || len > 31) { - throw new IllegalArgumentException(MessageFormat.format( - "Parameter [{0}], invalid value [{1}], it's length must be between 1 and 31", - NAME, str)); - } - return str; - } + private static final Domain DOMAIN = new Domain(NAME, null); /** * Constructor. * @param str a string representation of the parameter value. */ public UserParam(final String str) { - super(DOMAIN, (str == null) ? null: validateLength(str)); + super(DOMAIN, str == null || str.equals(DEFAULT)? null: str); } /** diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/resources/TestParam.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/resources/TestParam.java index 634559209a2..a6825f3ec83 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/resources/TestParam.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/resources/TestParam.java @@ -26,8 +26,6 @@ import org.apache.hadoop.hdfs.DFSConfigKeys; import org.junit.Assert; import org.junit.Test; -import static org.junit.Assert.assertNotNull; - public class TestParam { public static final Log LOG = LogFactory.getLog(TestParam.class); @@ -236,42 +234,4 @@ public class TestParam { final String actual = Param.toSortedString(sep, equalParam, ampParam); Assert.assertEquals(expected, actual); } - - @Test(expected = IllegalArgumentException.class) - public void userNameEmpty() { - UserParam userParam = new UserParam(""); - } - - @Test(expected = IllegalArgumentException.class) - public void userNameTooLong() { - UserParam userParam = new UserParam("a123456789012345678901234567890x"); - } - - @Test(expected = IllegalArgumentException.class) - public void userNameInvalidStart() { - UserParam userParam = new UserParam("1x"); - } - - @Test(expected = IllegalArgumentException.class) - public void userNameInvalidDollarSign() { - UserParam userParam = new UserParam("1$x"); - } - - @Test - public void userNameMinLength() { - UserParam userParam = new UserParam("a"); - assertNotNull(userParam.getValue()); - } - - @Test - public void userNameMaxLength() { - UserParam userParam = new UserParam("a123456789012345678901234567890"); - assertNotNull(userParam.getValue()); - } - - @Test - public void userNameValidDollarSign() { - UserParam userParam = new UserParam("a$"); - assertNotNull(userParam.getValue()); - } }