Updated Branches:
  refs/heads/trunk dc7db0451 -> f6edaa855

disallow user modification of System keyspace
patch by Dave Brosius; reviewed by jbellis for CASSANDRA-3759


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

Branch: refs/heads/trunk
Commit: f6edaa8555307dc94c905e5627e79c97d06b254e
Parents: dc7db04
Author: Jonathan Ellis <[email protected]>
Authored: Tue Jan 24 10:14:49 2012 -0600
Committer: Jonathan Ellis <[email protected]>
Committed: Tue Jan 24 10:16:05 2012 -0600

----------------------------------------------------------------------
 CHANGES.txt                                        |    1 +
 .../org/apache/cassandra/service/ClientState.java  |    4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f6edaa85/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ef21d65..3e5af50 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -53,6 +53,7 @@
 
 
 1.0.8
+ * disallow user modification of System keyspace (CASSANDRA-3738)
  * allow using sstable2json on secondary index data (CASSANDRA-3738)
  * (cqlsh) add DESCRIBE COLUMNFAMILIES (CASSANDRA-3586)
  * (cqlsh) format blobs correctly and use colors to improve output

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f6edaa85/src/java/org/apache/cassandra/service/ClientState.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/ClientState.java 
b/src/java/org/apache/cassandra/service/ClientState.java
index ca34be9..3c021b0 100644
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@ -140,6 +140,10 @@ public class ClientState
     {
         validateLogin();
         
+        // hardcode disallowing messing with system keyspace
+        if (keyspace.equalsIgnoreCase(Table.SYSTEM_TABLE) && perm == 
Permission.WRITE)
+            throw new InvalidRequestException("system keyspace is not 
user-modifiable");
+
         resourceClear();
         Set<Permission> perms = 
DatabaseDescriptor.getAuthority().authorize(user, resource);
 

Reply via email to