This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch 2.19.x
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/2.19.x by this push:
new a4b6898 ARTEMIS-3543 Fix encrypted passwords in composite urls
a4b6898 is described below
commit a4b68982f27a69d829396cf71441214f62ce8714
Author: Domenico Francesco Bruscino <[email protected]>
AuthorDate: Wed Oct 27 22:44:24 2021 +0200
ARTEMIS-3543 Fix encrypted passwords in composite urls
(cherry picked from commit 7988739f41f1c10aae911c64cfd7cb08c1e2bbb0)
---
.../apache/activemq/artemis/utils/uri/URIFactory.java | 2 +-
.../artemis/uri/ConnectionFactoryURITest.java | 19 +++++++++++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git
a/artemis-commons/src/main/java/org/apache/activemq/artemis/utils/uri/URIFactory.java
b/artemis-commons/src/main/java/org/apache/activemq/artemis/utils/uri/URIFactory.java
index 1680a0f..9e40acf 100644
---
a/artemis-commons/src/main/java/org/apache/activemq/artemis/utils/uri/URIFactory.java
+++
b/artemis-commons/src/main/java/org/apache/activemq/artemis/utils/uri/URIFactory.java
@@ -108,7 +108,7 @@ public class URIFactory<T, P> {
* */
private URI normalise(String uri) throws URISyntaxException {
if (uri.startsWith("(")) {
- String[] split = uri.split("\\)");
+ String[] split = uri.split("\\)", 2);
String[] connectorURIS = split[0].substring(split[0].indexOf('(') +
1).split(",");
String factoryQuery = split.length > 1 ? split[1] : "";
StringBuilder builder = new StringBuilder(connectorURIS[0]);
diff --git
a/artemis-jms-client/src/test/java/org/apache/activemq/artemis/uri/ConnectionFactoryURITest.java
b/artemis-jms-client/src/test/java/org/apache/activemq/artemis/uri/ConnectionFactoryURITest.java
index 1cfccbd..44bace8 100644
---
a/artemis-jms-client/src/test/java/org/apache/activemq/artemis/uri/ConnectionFactoryURITest.java
+++
b/artemis-jms-client/src/test/java/org/apache/activemq/artemis/uri/ConnectionFactoryURITest.java
@@ -224,6 +224,25 @@ public class ConnectionFactoryURITest {
checkTC(props3, staticConnectors[2], 2);
}
+ @Test
+ public void testTCPEncryptedNettyConnectorPropertiesMultiple() throws
Exception {
+ final String trustStorePath = "truststore.jks";
+ final String trustStorePassword =
"ENC(3a34fd21b82bf2a822fa49a8d8fa115d)";
+
+ ActiveMQConnectionFactory factory = parser.newObject(parser.expandURI(
+
"(tcp://localhost0:61616?,tcp://localhost1:61617?,tcp://localhost2:61618?)" +
+ "?ha=true&clientID=myID&trustStorePath=" + trustStorePath +
+ "&trustStorePassword=" + trustStorePassword), null);
+
+ TransportConfiguration[] staticConnectors =
factory.getStaticConnectors();
+ Assert.assertEquals(3, staticConnectors.length);
+
+ for (int i = 0; i < 3; i++) {
+ Assert.assertEquals(trustStorePath,
staticConnectors[i].getParams().get("trustStorePath"));
+ Assert.assertEquals(trustStorePassword,
staticConnectors[0].getParams().get("trustStorePassword"));
+ }
+ }
+
private void checkTC(Map<String, Object> props, TransportConfiguration
staticConnector, int offfSet) {
TransportConfiguration connector = staticConnector;
Assert.assertEquals(connector.getParams().get("host"), "localhost" +
offfSet);