Allow "android" package name.
Test: /data/nativetest64/installd_utils_test/installd_utils_test
Bug: 36062649
(cherry picked from commit ab7ac8d5a04bd3f38b85ce20ae5bb382f2a26585)
Change-Id: I20d546fdd20813e96bcb5f061ca5b352dff44450
diff --git a/cmds/installd/tests/installd_utils_test.cpp b/cmds/installd/tests/installd_utils_test.cpp
index 2840212..8b23b3e 100644
--- a/cmds/installd/tests/installd_utils_test.cpp
+++ b/cmds/installd/tests/installd_utils_test.cpp
@@ -330,19 +330,6 @@
<< "Package path should be a really long string of a's";
}
-TEST_F(UtilsTest, CreatePkgPath_LongPkgNameFail) {
- char path[PKG_PATH_MAX];
-
- // Create long packagename of "aaaaa..."
- size_t pkgnameSize = PKG_NAME_MAX + 1;
- char pkgname[pkgnameSize + 1];
- memset(pkgname, 'a', pkgnameSize);
- pkgname[pkgnameSize] = '\0';
-
- EXPECT_EQ(-1, create_pkg_path(path, pkgname, "", 0))
- << "Should return error because package name is too long.";
-}
-
TEST_F(UtilsTest, CreatePkgPath_LongPostfixFail) {
char path[PKG_PATH_MAX];
@@ -510,6 +497,7 @@
}
TEST_F(UtilsTest, IsValidPackageName) {
+ EXPECT_EQ(true, is_valid_package_name("android"));
EXPECT_EQ(true, is_valid_package_name("com.example"));
EXPECT_EQ(true, is_valid_package_name("com.example-1"));
EXPECT_EQ(true, is_valid_package_name("com.example-1024"));
@@ -518,9 +506,10 @@
EXPECT_EQ(false, is_valid_package_name("1234.package"));
EXPECT_EQ(false, is_valid_package_name("com.1234.package"));
- EXPECT_EQ(false, is_valid_package_name("package"));
EXPECT_EQ(false, is_valid_package_name(""));
EXPECT_EQ(false, is_valid_package_name("."));
+ EXPECT_EQ(false, is_valid_package_name(".."));
+ EXPECT_EQ(false, is_valid_package_name("../"));
EXPECT_EQ(false, is_valid_package_name("com.example/../com.evil/"));
EXPECT_EQ(false, is_valid_package_name("com.example-1/../com.evil/"));
EXPECT_EQ(false, is_valid_package_name("/com.evil"));
diff --git a/cmds/installd/utils.cpp b/cmds/installd/utils.cpp
index ba40041..c59f481 100644
--- a/cmds/installd/utils.cpp
+++ b/cmds/installd/utils.cpp
@@ -371,7 +371,7 @@
return false;
}
- if (!hasSep || front) {
+ if (front) {
LOG(WARNING) << "Missing separator in " << packageName;
return false;
}