You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2013/01/31 20:07:58 UTC

git commit: Validate login for USE queries

Updated Branches:
  refs/heads/cassandra-1.2 d4ce7bee1 -> eed1b5382


Validate login for USE queries

patch by Aleksey Yeschenko; reviewed by Jonathan Ellis for
CASSANDRA-5207


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

Branch: refs/heads/cassandra-1.2
Commit: eed1b5382a1a4ad2ef46d07955fdd18c54ce62e6
Parents: d4ce7be
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Thu Jan 31 22:06:37 2013 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Thu Jan 31 22:06:37 2013 +0300

----------------------------------------------------------------------
 CHANGES.txt                                        |    1 +
 .../org/apache/cassandra/cql/QueryProcessor.java   |    3 ++-
 .../cassandra/cql3/statements/UseStatement.java    |    5 +++--
 3 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/eed1b538/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index e1af9ee..03218b9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
 1.2.2
  * fix symlinks under data dir not working (CASSANDRA-5185)
  * fix bug in compact storage metadata handling (CASSANDRA-5189)
+ * Validate login for USE queries (CASSANDRA-5207)
 
 1.2.1
  * stream undelivered hints on decommission (CASSANDRA-5128)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/eed1b538/src/java/org/apache/cassandra/cql/QueryProcessor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql/QueryProcessor.java b/src/java/org/apache/cassandra/cql/QueryProcessor.java
index ec07761..01e5ba3 100644
--- a/src/java/org/apache/cassandra/cql/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql/QueryProcessor.java
@@ -571,9 +571,10 @@ public class QueryProcessor
                 return result;
 
             case USE:
+                clientState.validateLogin();
                 clientState.setKeyspace(CliUtils.unescapeSQLString((String) statement.statement));
-                result.type = CqlResultType.VOID;
 
+                result.type = CqlResultType.VOID;
                 return result;
 
             case TRUNCATE:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/eed1b538/src/java/org/apache/cassandra/cql3/statements/UseStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/UseStatement.java b/src/java/org/apache/cassandra/cql3/statements/UseStatement.java
index 8329057..0db80bf 100644
--- a/src/java/org/apache/cassandra/cql3/statements/UseStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/UseStatement.java
@@ -23,6 +23,7 @@ import java.util.List;
 import org.apache.cassandra.cql3.CQLStatement;
 import org.apache.cassandra.db.ConsistencyLevel;
 import org.apache.cassandra.exceptions.InvalidRequestException;
+import org.apache.cassandra.exceptions.UnauthorizedException;
 import org.apache.cassandra.transport.messages.ResultMessage;
 import org.apache.cassandra.service.ClientState;
 import org.apache.cassandra.service.QueryState;
@@ -41,9 +42,9 @@ public class UseStatement extends ParsedStatement implements CQLStatement
         return new Prepared(this);
     }
 
-    public void checkAccess(ClientState state)
+    public void checkAccess(ClientState state) throws UnauthorizedException
     {
-        // No specific access
+        state.validateLogin();
     }
 
     public void validate(ClientState state) throws InvalidRequestException