You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by mc...@apache.org on 2020/08/28 08:05:59 UTC

[cassandra] branch cassandra-2.1 updated: Only allow strings to be passed to JMX authentication

This is an automated email from the ASF dual-hosted git repository.

mck pushed a commit to branch cassandra-2.1
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-2.1 by this push:
     new 63f4da9  Only allow strings to be passed to JMX authentication
63f4da9 is described below

commit 63f4da90c3c51d230c535265786dbc7a33c1ace9
Author: Brandon Williams <br...@apache.org>
AuthorDate: Thu Aug 27 13:20:31 2020 -0500

    Only allow strings to be passed to JMX authentication
    
     patch by Brandon Williams; reviewed by Mick Semb Wever for CASSANDRA-16077
---
 CHANGES.txt                                                | 1 +
 src/java/org/apache/cassandra/service/CassandraDaemon.java | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 367504b..04cbfa3 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.22
+ * Only allow strings to be passed to JMX authentication (CASSANDRA-16077)
  * Disable JMX rebinding (CASSANDRA-15653, CASSANDRA-16075)
 
 2.1.21
diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java
index afd376e..313cc9d 100644
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@ -104,8 +104,10 @@ public class CassandraDaemon
                 try
                 {
                     RMIServerSocketFactory serverFactory = new RMIServerSocketFactoryImpl();
-                    Map<String, ?> env = Collections.singletonMap(RMIConnectorServer.RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE, serverFactory);
-
+                    Map<String, Object> env = new HashMap<>();
+                    env.put(RMIConnectorServer.RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE, serverFactory);
+                    env.put("jmx.remote.rmi.server.credential.types",
+                        new String[] { String[].class.getName(), String.class.getName() });
                     Registry registry = new JmxRegistry(Integer.valueOf(jmxPort), null, serverFactory, "jmxrmi");
                     JMXServiceURL url = new JMXServiceURL(String.format("service:jmx:rmi://localhost/jndi/rmi://localhost:%s/jmxrmi", jmxPort));
                     @SuppressWarnings("resource")


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