Repository: cassandra
Updated Branches:
  refs/heads/trunk 5dc55e715 -> 59814db54


NodeTool clientstats should show SSL Cipher

patch by Dinesh Joshi; reviewed by jasobrown for CASSANDRA-14322


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

Branch: refs/heads/trunk
Commit: 59814db54375d4002eb11403c72861765d9eb356
Parents: 5dc55e7
Author: Dinesh Joshi <dinesh.jo...@yahoo.com>
Authored: Mon Mar 19 09:54:11 2018 -0700
Committer: Jason Brown <jasedbr...@gmail.com>
Committed: Mon Mar 19 09:54:11 2018 -0700

----------------------------------------------------------------------
 CHANGES.txt                                                   | 1 +
 src/java/org/apache/cassandra/tools/nodetool/ClientStats.java | 4 ++--
 src/java/org/apache/cassandra/transport/Server.java           | 6 +++++-
 3 files changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/59814db5/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 9436539..fed0cd1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0
+ * NodeTool clientstats should show SSL Cipher (CASSANDRA-14322)
  * Add ability to specify driver name and version (CASSANDRA-14275)
  * Abstract streaming for pluggable storage (CASSANDRA-14115)
  * Forced incremental repairs should promote sstables if they can 
(CASSANDRA-14294)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/59814db5/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java 
b/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java
index 4529c86..0469074 100644
--- a/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java
+++ b/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java
@@ -43,10 +43,10 @@ public class ClientStats extends NodeToolCmd
             if (!clients.isEmpty())
             {
                 TableBuilder table = new TableBuilder();
-                table.add("Address", "SSL", "Version", "User", "Keyspace", 
"Requests", "Driver-Name", "Driver-Version");
+                table.add("Address", "SSL", "Cipher", "Protocol", "Version", 
"User", "Keyspace", "Requests", "Driver-Name", "Driver-Version");
                 for (Map<String, String> conn : clients)
                 {
-                    table.add(conn.get("address"), conn.get("ssl"), 
conn.get("version"), 
+                    table.add(conn.get("address"), conn.get("ssl"), 
conn.get("cipher"), conn.get("protocol"), conn.get("version"),
                               conn.get("user"), conn.get("keyspace"), 
conn.get("requests"), conn.get("driverName"), conn.get("driverVersion"));
                 }
                 table.printTo(System.out);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/59814db5/src/java/org/apache/cassandra/transport/Server.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/Server.java 
b/src/java/org/apache/cassandra/transport/Server.java
index 0504b2f..0f666d8 100644
--- a/src/java/org/apache/cassandra/transport/Server.java
+++ b/src/java/org/apache/cassandra/transport/Server.java
@@ -189,13 +189,17 @@ public class Server implements CassandraDaemon.Server
             if (connection instanceof ServerConnection)
             {
                 ServerConnection conn = (ServerConnection) connection;
+                SslHandler sslHandler = 
conn.channel().pipeline().get(SslHandler.class);
+
                 result.add(new ImmutableMap.Builder<String, String>()
                         .put("user", conn.getClientState().getUser().getName())
                         .put("keyspace", 
conn.getClientState().getRawKeyspace() == null ? "" : 
conn.getClientState().getRawKeyspace())
                         .put("address", 
conn.getClientState().getRemoteAddress().toString())
                         .put("version", 
String.valueOf(conn.getVersion().asInt()))
                         .put("requests", 
String.valueOf(conn.requests.getCount()))
-                        .put("ssl", 
conn.channel().pipeline().get(SslHandler.class) == null ? "false" : "true")
+                        .put("ssl", Boolean.toString(sslHandler == null))
+                        .put("cipher", sslHandler != null ? 
sslHandler.engine().getSession().getCipherSuite() : "undefined")
+                        .put("protocol", sslHandler != null ? 
sslHandler.engine().getSession().getProtocol() : "undefined")
                         .put("driverName", 
conn.getClientState().getDriverName().orElse("undefined"))
                         .put("driverVersion", 
conn.getClientState().getDriverVersion().orElse("undefined"))
                         .build());


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to