You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by ja...@apache.org on 2014/06/30 22:53:38 UTC
git commit: SENTRY-319: group names should be case sensitive.
Repository: incubator-sentry
Updated Branches:
refs/heads/master 0c3954045 -> bbec68b58
SENTRY-319: group names should be case sensitive.
(Sravya Tirukkovalur via Jarek Jarcec Cecho)
Project: http://git-wip-us.apache.org/repos/asf/incubator-sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-sentry/commit/bbec68b5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-sentry/tree/bbec68b5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-sentry/diff/bbec68b5
Branch: refs/heads/master
Commit: bbec68b5837ad7015ef6dcfabb60e112c447bdf0
Parents: 0c39540
Author: Jarek Jarcec Cecho <ja...@apache.org>
Authored: Mon Jun 30 13:53:10 2014 -0700
Committer: Jarek Jarcec Cecho <ja...@apache.org>
Committed: Mon Jun 30 13:53:10 2014 -0700
----------------------------------------------------------------------
.../db/service/persistent/SentryStore.java | 14 +++++++-------
.../db/service/persistent/TestSentryStore.java | 2 +-
.../e2e/dbprovider/TestDatabaseProvider.java | 20 ++++++++++++++++++++
3 files changed, 28 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/bbec68b5/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
index 5f77793..50507ea 100644
--- a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
+++ b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
@@ -644,7 +644,7 @@ public class SentryStore {
query.setUnique(true);
List<MSentryGroup> groups = Lists.newArrayList();
for (TSentryGroup tGroup : groupNames) {
- String groupName = tGroup.getGroupName().trim().toLowerCase();
+ String groupName = tGroup.getGroupName().trim();
MSentryGroup group = (MSentryGroup) query.execute(groupName);
if (group == null) {
group = new MSentryGroup(groupName, System.currentTimeMillis(),
@@ -687,7 +687,7 @@ public class SentryStore {
query.setUnique(true);
List<MSentryGroup> groups = Lists.newArrayList();
for (TSentryGroup tGroup : groupNames) {
- String groupName = tGroup.getGroupName().trim().toLowerCase();
+ String groupName = tGroup.getGroupName().trim();
MSentryGroup group = (MSentryGroup) query.execute(groupName);
if (group != null) {
group.removeRole(role);
@@ -863,7 +863,7 @@ public class SentryStore {
} else {
Query query = pm.newQuery(MSentryGroup.class);
MSentryGroup sentryGroup;
- groupName = groupName.trim().toLowerCase();
+ groupName = groupName.trim();
query.setFilter("this.groupName == t");
query.declareParameters("java.lang.String t");
query.setUnique(true);
@@ -920,8 +920,8 @@ public class SentryStore {
query.setFilter("this.groupName == t");
query.declareParameters("java.lang.String t");
query.setUnique(true);
- for (String group : toTrimedLower(groups)) {
- MSentryGroup sentryGroup = (MSentryGroup) query.execute(group);
+ for (String group : groups) {
+ MSentryGroup sentryGroup = (MSentryGroup) query.execute(group.trim());
if (sentryGroup != null) {
for (MSentryRole role : sentryGroup.getRoles()) {
for (MSentryPrivilege privilege : role.getPrivileges()) {
@@ -950,8 +950,8 @@ public class SentryStore {
query.setFilter("this.groupName == t");
query.declareParameters("java.lang.String t");
query.setUnique(true);
- for (String group : toTrimedLower(groups)) {
- MSentryGroup sentryGroup = (MSentryGroup) query.execute(group);
+ for (String group : groups) {
+ MSentryGroup sentryGroup = (MSentryGroup) query.execute(group.trim());
if (sentryGroup != null) {
for (MSentryRole role : sentryGroup.getRoles()) {
result.add(role.getRoleName());
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/bbec68b5/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java b/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java
index 6613d12..b23f477 100644
--- a/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java
+++ b/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java
@@ -73,7 +73,7 @@ public class TestSentryStore {
}
}
@Test
- public void testCaseInsensitiveRoleAndGroups() throws Exception {
+ public void testCaseInsensitiveRole() throws Exception {
String roleName = "newRole";
String grantor = "g1";
Set<TSentryGroup> groups = Sets.newHashSet();
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/bbec68b5/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDatabaseProvider.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDatabaseProvider.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDatabaseProvider.java
index 83bf406..e2c39ea 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDatabaseProvider.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDatabaseProvider.java
@@ -1734,4 +1734,24 @@ public class TestDatabaseProvider extends AbstractTestWithStaticConfiguration {
connection.close();
}
+ @Test
+ public void caseSensitiveGroupNames() throws Exception {
+ Connection connection = context.createConnection(ADMIN1);
+ Statement statement = context.createStatement(connection);
+ String testRole1 = "testRole1";
+ statement.execute("CREATE ROLE " + testRole1);
+ statement.execute("GRANT ROLE " + testRole1 + " TO GROUP " + ADMINGROUP);
+
+ ResultSet resultSet;
+ resultSet = statement.executeQuery("SHOW ROLE GRANT GROUP " + ADMINGROUP);
+ assertResultSize(resultSet, 1);
+
+ context.assertSentryException(statement, "SHOW ROLE GRANT GROUP Admin",
+ SentryNoSuchObjectException.class.getSimpleName());
+
+ statement.close();
+ connection.close();
+
+ }
+
}