You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by pr...@apache.org on 2014/05/21 09:51:47 UTC

git commit: SENTRY-221: Privilege scope is case sensitive (Sravya Tirukkovalur via Prasad Mujumdar)

Repository: incubator-sentry
Updated Branches:
  refs/heads/master 37d8e8457 -> c7f7fa57a


SENTRY-221: Privilege scope is case sensitive (Sravya Tirukkovalur via Prasad Mujumdar)


Project: http://git-wip-us.apache.org/repos/asf/incubator-sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-sentry/commit/c7f7fa57
Tree: http://git-wip-us.apache.org/repos/asf/incubator-sentry/tree/c7f7fa57
Diff: http://git-wip-us.apache.org/repos/asf/incubator-sentry/diff/c7f7fa57

Branch: refs/heads/master
Commit: c7f7fa57aa406cd148f21c09d498b1468c1ce663
Parents: 37d8e84
Author: Prasad Mujumdar <pr...@cloudera.com>
Authored: Wed May 21 00:51:29 2014 -0700
Committer: Prasad Mujumdar <pr...@cloudera.com>
Committed: Wed May 21 00:51:29 2014 -0700

----------------------------------------------------------------------
 .../provider/db/service/persistent/SentryStore.java       |  3 ++-
 .../provider/db/service/persistent/TestSentryStore.java   | 10 +++++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/c7f7fa57/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 604dd64..cd71a58 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
@@ -401,7 +401,7 @@ public class SentryStore {
 
     // Validate privilege scope
     try {
-      scope = Enum.valueOf(PrivilegeScope.class, privilege.getPrivilegeScope());
+      scope = Enum.valueOf(PrivilegeScope.class, privilege.getPrivilegeScope().toUpperCase());
     } catch (IllegalArgumentException e) {
       throw new SentryInvalidInputException("Invalid Privilege scope: " +
           privilege.getPrivilegeScope());
@@ -470,6 +470,7 @@ public class SentryStore {
       } else {
         pm.retrieve(sentryRole);
         sentryRole.removePrivileges();
+
         pm.deletePersistent(sentryRole);
       }
       CommitContext commit = commitUpdateTransaction(pm);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/c7f7fa57/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 26bbf97..0d8e24f 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
@@ -107,7 +107,15 @@ public class TestSentryStore {
       // expected
     }
   }
-
+  @Test
+  public void testCaseSensitiveScope() throws Exception {
+    String roleName = "role1";
+    String grantor = "g1";
+    long seqId = sentryStore.createSentryRole(roleName, grantor).getSequenceId();
+    TSentryPrivilege sentryPrivilege = new TSentryPrivilege("Database", "server1", "all");
+    sentryPrivilege.setDbName("db1");
+    assertEquals(seqId + 1, sentryStore.alterSentryRoleGrantPrivilege(roleName, sentryPrivilege).getSequenceId());
+  }
   @Test
   public void testCreateDropRole() throws Exception {
     String roleName = "test-drop-role";