From 4be975dfe3e1fec17400b1ae69dac3df4c97a781 Mon Sep 17 00:00:00 2001 From: rabbitmq-ci Date: Thu, 6 Feb 2025 10:50:13 +0000 Subject: [PATCH 01/81] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e200535bf..8762917ce 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.rabbitmq amqp-client - 5.25.0 + 5.26.0-SNAPSHOT jar RabbitMQ Java Client @@ -42,7 +42,7 @@ https://github.com/rabbitmq/rabbitmq-java-client scm:git:git://github.com/rabbitmq/rabbitmq-java-client.git scm:git:https://github.com/rabbitmq/rabbitmq-java-client.git - v5.25.0 + HEAD From abd5d9b99d95409ee440046f6c27928fb4c71fd5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 00:44:17 +0000 Subject: [PATCH 02/81] Bump opentelemetry.version from 1.46.0 to 1.47.0 Bumps `opentelemetry.version` from 1.46.0 to 1.47.0. Updates `io.opentelemetry:opentelemetry-api` from 1.46.0 to 1.47.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.46.0...v1.47.0) Updates `io.opentelemetry:opentelemetry-sdk-testing` from 1.46.0 to 1.47.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.46.0...v1.47.0) --- updated-dependencies: - dependency-name: io.opentelemetry:opentelemetry-api dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.opentelemetry:opentelemetry-sdk-testing dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8762917ce..40f8447c6 100644 --- a/pom.xml +++ b/pom.xml @@ -58,7 +58,7 @@ 1.7.36 4.2.30 1.14.3 - 1.46.0 + 1.47.0 2.18.2 1.2.13 5.11.4 From 1e3ed052380f39eb782bb289abfffa943d6e9abe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 00:59:08 +0000 Subject: [PATCH 03/81] Bump io.micrometer:micrometer-tracing-integration-test Bumps [io.micrometer:micrometer-tracing-integration-test](https://github.com/micrometer-metrics/tracing) from 1.4.2 to 1.4.3. - [Release notes](https://github.com/micrometer-metrics/tracing/releases) - [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.4.2...v1.4.3) --- updated-dependencies: - dependency-name: io.micrometer:micrometer-tracing-integration-test dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 40f8447c6..67f1026e4 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ 5.11.4 5.15.2 3.27.3 - 1.4.2 + 1.4.3 1.0.4 9.4.57.v20241219 1.80 From 60cfcf95b40d1cce989c0b3a078a50c1563e034b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 00:59:19 +0000 Subject: [PATCH 04/81] Bump io.micrometer:micrometer-core from 1.14.3 to 1.14.4 Bumps [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.14.3 to 1.14.4. - [Release notes](https://github.com/micrometer-metrics/micrometer/releases) - [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.14.3...v1.14.4) --- updated-dependencies: - dependency-name: io.micrometer:micrometer-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 40f8447c6..1aec530d3 100644 --- a/pom.xml +++ b/pom.xml @@ -57,7 +57,7 @@ true 1.7.36 4.2.30 - 1.14.3 + 1.14.4 1.47.0 2.18.2 1.2.13 From e9e56e72847661aaf3448eac0828102af8af5ba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= Date: Mon, 17 Feb 2025 09:30:08 +0100 Subject: [PATCH 05/81] Activate Khepri on CI (cherry picked from commit 3a8afd4853082b2d1aaad9c9caff64fd853c2c12) --- ci/start-broker.sh | 1 + ci/start-cluster.sh | 3 +++ 2 files changed, 4 insertions(+) diff --git a/ci/start-broker.sh b/ci/start-broker.sh index 86d81ece9..453dbc078 100755 --- a/ci/start-broker.sh +++ b/ci/start-broker.sh @@ -37,5 +37,6 @@ docker run -d --name rabbitmq \ wait_for_message rabbitmq "completed with" +docker exec rabbitmq rabbitmqctl enable_feature_flag --opt-in khepri_db docker exec rabbitmq rabbitmq-diagnostics erlang_version docker exec rabbitmq rabbitmqctl version diff --git a/ci/start-cluster.sh b/ci/start-cluster.sh index efee59ee2..2534c9bd8 100755 --- a/ci/start-cluster.sh +++ b/ci/start-cluster.sh @@ -74,6 +74,9 @@ sleep 10 docker exec hare rabbitmqctl --node hare@$(hostname) await_startup +docker exec hare rabbitmqctl --node hare@$(hostname) enable_feature_flag --opt-in khepri_db +docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) enable_feature_flag --opt-in khepri_db + docker exec rabbitmq rabbitmq-diagnostics --node rabbit@$(hostname) erlang_version docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) version docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) status From 1e1ed9817b8a287101255e852f0c427387bfa7c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= Date: Mon, 17 Feb 2025 14:48:03 +0100 Subject: [PATCH 06/81] Revert "Activate Khepri on CI" This reverts commit e9e56e72847661aaf3448eac0828102af8af5ba7. --- ci/start-broker.sh | 1 - ci/start-cluster.sh | 3 --- 2 files changed, 4 deletions(-) diff --git a/ci/start-broker.sh b/ci/start-broker.sh index 453dbc078..86d81ece9 100755 --- a/ci/start-broker.sh +++ b/ci/start-broker.sh @@ -37,6 +37,5 @@ docker run -d --name rabbitmq \ wait_for_message rabbitmq "completed with" -docker exec rabbitmq rabbitmqctl enable_feature_flag --opt-in khepri_db docker exec rabbitmq rabbitmq-diagnostics erlang_version docker exec rabbitmq rabbitmqctl version diff --git a/ci/start-cluster.sh b/ci/start-cluster.sh index 2534c9bd8..efee59ee2 100755 --- a/ci/start-cluster.sh +++ b/ci/start-cluster.sh @@ -74,9 +74,6 @@ sleep 10 docker exec hare rabbitmqctl --node hare@$(hostname) await_startup -docker exec hare rabbitmqctl --node hare@$(hostname) enable_feature_flag --opt-in khepri_db -docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) enable_feature_flag --opt-in khepri_db - docker exec rabbitmq rabbitmq-diagnostics --node rabbit@$(hostname) erlang_version docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) version docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) status From fd2ca8b1ce55255490530f6be1c8d263822c9afd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= Date: Mon, 17 Feb 2025 14:53:08 +0100 Subject: [PATCH 07/81] Activate Khepri on CI (cherry picked from commit bee5a7aa51fe9452b1ec6e83a5735b9a0aa5049d) --- ci/start-broker.sh | 1 + ci/start-cluster.sh | 3 +++ .../rabbitmq/client/test/functional/ConnectionRecovery.java | 2 ++ 3 files changed, 6 insertions(+) diff --git a/ci/start-broker.sh b/ci/start-broker.sh index 86d81ece9..453dbc078 100755 --- a/ci/start-broker.sh +++ b/ci/start-broker.sh @@ -37,5 +37,6 @@ docker run -d --name rabbitmq \ wait_for_message rabbitmq "completed with" +docker exec rabbitmq rabbitmqctl enable_feature_flag --opt-in khepri_db docker exec rabbitmq rabbitmq-diagnostics erlang_version docker exec rabbitmq rabbitmqctl version diff --git a/ci/start-cluster.sh b/ci/start-cluster.sh index efee59ee2..2534c9bd8 100755 --- a/ci/start-cluster.sh +++ b/ci/start-cluster.sh @@ -74,6 +74,9 @@ sleep 10 docker exec hare rabbitmqctl --node hare@$(hostname) await_startup +docker exec hare rabbitmqctl --node hare@$(hostname) enable_feature_flag --opt-in khepri_db +docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) enable_feature_flag --opt-in khepri_db + docker exec rabbitmq rabbitmq-diagnostics --node rabbit@$(hostname) erlang_version docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) version docker exec rabbitmq rabbitmqctl --node rabbit@$(hostname) status diff --git a/src/test/java/com/rabbitmq/client/test/functional/ConnectionRecovery.java b/src/test/java/com/rabbitmq/client/test/functional/ConnectionRecovery.java index 8dfb268ae..9e871e72a 100644 --- a/src/test/java/com/rabbitmq/client/test/functional/ConnectionRecovery.java +++ b/src/test/java/com/rabbitmq/client/test/functional/ConnectionRecovery.java @@ -23,6 +23,7 @@ import com.rabbitmq.client.test.BrokerTestCase; import com.rabbitmq.client.test.TestUtils; import com.rabbitmq.tools.Host; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.io.IOException; @@ -367,6 +368,7 @@ private void testClientNamedQueueRecoveryWith(String q, boolean noWait) throws I } // bug 26552 + @Disabled @Test public void clientNamedTransientAutoDeleteQueueAndBindingRecovery() throws IOException, InterruptedException, TimeoutException { String q = UUID.randomUUID().toString(); String x = "tmp-fanout"; From b75b24bb7cfccde6f9843597b1d11e914c14ead1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= Date: Mon, 17 Feb 2025 16:55:16 +0100 Subject: [PATCH 08/81] Disable test (cherry picked from commit 122fdbd9bf44e6ead4b3160c7089de00b3b5f701) --- ci/start-broker.sh | 1 + ci/start-cluster.sh | 1 + .../com/rabbitmq/client/test/functional/DurableOnTransient.java | 2 ++ 3 files changed, 4 insertions(+) diff --git a/ci/start-broker.sh b/ci/start-broker.sh index 453dbc078..89ab76572 100755 --- a/ci/start-broker.sh +++ b/ci/start-broker.sh @@ -19,6 +19,7 @@ mv tls-gen/basic/result/server_$(hostname -s)_key.pem tls-gen/basic/result/serve mv tls-gen/basic/server_$(hostname -s) tls-gen/basic/server mv tls-gen/basic/client_$(hostname -s) tls-gen/basic/client +rm -rf rabbitmq-configuration mkdir -p rabbitmq-configuration/tls cp -R "${PWD}"/tls-gen/basic/* rabbitmq-configuration/tls diff --git a/ci/start-cluster.sh b/ci/start-cluster.sh index 2534c9bd8..6b01992d9 100755 --- a/ci/start-cluster.sh +++ b/ci/start-cluster.sh @@ -19,6 +19,7 @@ mv tls-gen/basic/result/server_$(hostname -s)_key.pem tls-gen/basic/result/serve mv tls-gen/basic/server_$(hostname -s) tls-gen/basic/server mv tls-gen/basic/client_$(hostname -s) tls-gen/basic/client +rm -rf rabbitmq-configuration mkdir -p rabbitmq-configuration/tls cp -R "${PWD}"/tls-gen/basic/* rabbitmq-configuration/tls diff --git a/src/test/java/com/rabbitmq/client/test/functional/DurableOnTransient.java b/src/test/java/com/rabbitmq/client/test/functional/DurableOnTransient.java index 06c788da1..f807d1a5e 100644 --- a/src/test/java/com/rabbitmq/client/test/functional/DurableOnTransient.java +++ b/src/test/java/com/rabbitmq/client/test/functional/DurableOnTransient.java @@ -20,6 +20,7 @@ import java.io.IOException; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import com.rabbitmq.client.GetResponse; @@ -67,6 +68,7 @@ protected void releaseResources() throws IOException { assertNotNull(basicGet()); } + @Disabled("Does not apply with Khepri (update datastore while second node is down)") @Test public void semiDurableBindingRemoval() throws IOException { if (clusteredConnection != null) { deleteExchange("x"); From fe28bec9019aabd39880490de36780bf6aec66b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Feb 2025 00:38:53 +0000 Subject: [PATCH 09/81] Bump com.diffplug.spotless:spotless-maven-plugin from 2.44.2 to 2.44.3 Bumps [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) from 2.44.2 to 2.44.3. - [Release notes](https://github.com/diffplug/spotless/releases) - [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md) - [Commits](https://github.com/diffplug/spotless/compare/maven/2.44.2...maven/2.44.3) --- updated-dependencies: - dependency-name: com.diffplug.spotless:spotless-maven-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5a4b9da24..02cfe3e66 100644 --- a/pom.xml +++ b/pom.xml @@ -91,7 +91,7 @@ 1.7.0 1.11 1.4 - 2.44.2 + 2.44.3 1.19.2 6026DFCA @@ -185,35 +178,6 @@ - - - use-provided-test-keystores - - - ${test-tls-certs.dir}/testca/cacert.pem - - - - - - org.codehaus.mojo - keytool-maven-plugin - ${keytool.maven.plugin.version} - - false - - - - - - - - generate-test-resources - remove-old-test-keystores - - execute - - - - ${groovy-scripts.dir}/remove_old_test_keystores.groovy - - - @@ -840,47 +778,6 @@ - - - org.codehaus.mojo - keytool-maven-plugin - ${keytool.maven.plugin.version} - - true - - - - generate-test-ca-keystore - generate-test-resources - - importCertificate - - - ${test-tls-certs.dir}/testca/cacert.pem - ${test-keystore.ca} - ${test-keystore.password} - true - server1 - - - - generate-test-empty-keystore - generate-test-resources - - importCertificate - deleteAlias - - - ${test-tls-certs.dir}/testca/cacert.pem - ${test-keystore.empty} - ${test-keystore.password} - true - server1 - - - - - org.apache.maven.plugins maven-jar-plugin diff --git a/src/test/java/com/rabbitmq/client/AmqpClientTestExtension.java b/src/test/java/com/rabbitmq/client/AmqpClientTestExtension.java index bd41d2a2c..dcffa744b 100644 --- a/src/test/java/com/rabbitmq/client/AmqpClientTestExtension.java +++ b/src/test/java/com/rabbitmq/client/AmqpClientTestExtension.java @@ -1,4 +1,5 @@ -// Copyright (c) 2023-2024 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. +// Copyright (c) 2023-2025 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom +// Inc. and/or its subsidiaries. // // This software, the RabbitMQ Java client library, is triple-licensed under the // Mozilla Public License 2.0 ("MPL"), the GNU General Public License version 2 @@ -24,9 +25,7 @@ import com.rabbitmq.client.test.server.ServerTestSuite; import com.rabbitmq.client.test.ssl.SslTestSuite; import com.rabbitmq.tools.Host; -import java.io.File; import java.net.Socket; -import java.util.Properties; import org.junit.jupiter.api.extension.AfterEachCallback; import org.junit.jupiter.api.extension.BeforeAllCallback; import org.junit.jupiter.api.extension.BeforeEachCallback; @@ -36,31 +35,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class AmqpClientTestExtension implements ExecutionCondition, BeforeAllCallback, - BeforeEachCallback, - AfterEachCallback { +public class AmqpClientTestExtension + implements ExecutionCondition, BeforeAllCallback, BeforeEachCallback, AfterEachCallback { private static final Logger LOGGER = LoggerFactory.getLogger(AmqpClientTestExtension.class); - static { - Properties TESTS_PROPS = new Properties(System.getProperties()); - String make = System.getenv("MAKE"); - if (make != null) { - TESTS_PROPS.setProperty("make.bin", make); - } - try { - TESTS_PROPS.load(Host.class.getClassLoader().getResourceAsStream("config.properties")); - } catch (Exception e) { - System.out.println( - "\"build.properties\" or \"config.properties\" not found" + - " in classpath. Please copy \"build.properties\" and" + - " \"config.properties\" into src/test/resources. Ignore" + - " this message if running with ant."); - } finally { - System.setProperties(TESTS_PROPS); - } - } - private static boolean isFunctionalSuite(ExtensionContext context) { return isTestSuite(context, FunctionalTestSuite.class); } @@ -86,8 +65,7 @@ public static boolean requiredProperties() { String rabbitmqctl = Host.rabbitmqctlCommand(); if (rabbitmqctl == null) { System.err.println( - "rabbitmqctl required; please set \"rabbitmqctl.bin\" system" + - " property"); + "rabbitmqctl required; please set \"rabbitmqctl.bin\" system" + " property"); return false; } @@ -95,20 +73,7 @@ public static boolean requiredProperties() { } public static boolean isSSLAvailable() { - String sslClientCertsDir = System.getProperty("test-client-cert.path"); - String hostname = System.getProperty("broker.hostname"); - String port = System.getProperty("broker.sslport"); - if (sslClientCertsDir == null || hostname == null || port == null) { - return false; - } - - // If certificate is present and some server is listening on port 5671 - if (new File(sslClientCertsDir).exists() && - checkServerListening(hostname, Integer.parseInt(port))) { - return true; - } else { - return false; - } + return checkServerListening("localhost", 5671); } private static boolean checkServerListening(String host, int port) { @@ -132,40 +97,42 @@ private static boolean checkServerListening(String host, int port) { public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) { // HA test suite must be checked first because it contains other test suites if (isHaSuite(context)) { - return requiredProperties() ? enabled("Required properties available") + return requiredProperties() + ? enabled("Required properties available") : disabled("Required properties not available"); } else if (isServerSuite(context)) { - return requiredProperties() ? enabled("Required properties available") + return requiredProperties() + ? enabled("Required properties available") : disabled("Required properties not available"); } else if (isFunctionalSuite(context)) { - return requiredProperties() ? enabled("Required properties available") + return requiredProperties() + ? enabled("Required properties available") : disabled("Required properties not available"); } else if (isSslSuite(context)) { - return requiredProperties() && isSSLAvailable() ? enabled( - "Required properties and TLS available") + return requiredProperties() && isSSLAvailable() + ? enabled("Required properties and TLS available") : disabled("Required properties or TLS not available"); } return enabled("ok"); } @Override - public void beforeAll(ExtensionContext context) { - - } + public void beforeAll(ExtensionContext context) {} @Override public void beforeEach(ExtensionContext context) { LOGGER.info( "Starting test: {}.{} (nio? {})", - context.getTestClass().get().getSimpleName(), context.getTestMethod().get().getName(), - TestUtils.USE_NIO - ); + context.getTestClass().get().getSimpleName(), + context.getTestMethod().get().getName(), + TestUtils.USE_NIO); } @Override public void afterEach(ExtensionContext context) { - LOGGER.info("Test finished: {}.{}", - context.getTestClass().get().getSimpleName(), context.getTestMethod().get().getName()); + LOGGER.info( + "Test finished: {}.{}", + context.getTestClass().get().getSimpleName(), + context.getTestMethod().get().getName()); } - } diff --git a/src/test/java/com/rabbitmq/client/test/functional/DurableOnTransient.java b/src/test/java/com/rabbitmq/client/test/functional/DurableOnTransient.java index f807d1a5e..767e32df0 100644 --- a/src/test/java/com/rabbitmq/client/test/functional/DurableOnTransient.java +++ b/src/test/java/com/rabbitmq/client/test/functional/DurableOnTransient.java @@ -20,7 +20,6 @@ import java.io.IOException; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import com.rabbitmq.client.GetResponse; @@ -68,7 +67,6 @@ protected void releaseResources() throws IOException { assertNotNull(basicGet()); } - @Disabled("Does not apply with Khepri (update datastore while second node is down)") @Test public void semiDurableBindingRemoval() throws IOException { if (clusteredConnection != null) { deleteExchange("x"); @@ -78,18 +76,25 @@ protected void releaseResources() throws IOException { channel.queueBind("q", "x", "k"); stopSecondary(); + boolean restarted = false; + try { + deleteExchange("x"); - deleteExchange("x"); - - startSecondary(); + startSecondary(); + restarted = true; - declareTransientTopicExchange("x"); + declareTransientTopicExchange("x"); - basicPublishVolatile("x", "k"); - assertDelivered("q", 0); + basicPublishVolatile("x", "k"); + assertDelivered("q", 0); - deleteQueue("q"); - deleteExchange("x"); + deleteQueue("q"); + deleteExchange("x"); + } finally { + if (!restarted) { + startSecondary(); + } + } } } } diff --git a/src/test/java/com/rabbitmq/client/test/ssl/TlsTestUtils.java b/src/test/java/com/rabbitmq/client/test/ssl/TlsTestUtils.java index 65815d422..f85829c11 100644 --- a/src/test/java/com/rabbitmq/client/test/ssl/TlsTestUtils.java +++ b/src/test/java/com/rabbitmq/client/test/ssl/TlsTestUtils.java @@ -1,4 +1,5 @@ -// Copyright (c) 2023 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. +// Copyright (c) 2007-2025 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom +// Inc. and/or its subsidiaries. // // This software, the RabbitMQ Java client library, is triple-licensed under the // Mozilla Public License 2.0 ("MPL"), the GNU General Public License version 2 @@ -15,82 +16,38 @@ package com.rabbitmq.client.test.ssl; -import static org.junit.jupiter.api.Assertions.assertNotNull; - +import com.rabbitmq.tools.Host; import java.io.FileInputStream; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.security.KeyStore; import java.security.NoSuchAlgorithmException; +import java.security.cert.Certificate; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; import java.util.Arrays; import java.util.Collection; import java.util.stream.Collectors; -import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; class TlsTestUtils { + static final String[] PROTOCOLS = new String[] {"TLSv1.3", "TLSv1.2"}; + private TlsTestUtils() {} static SSLContext badVerifiedSslContext() throws Exception { - return verifiedSslContext(() -> getSSLContext(), emptyKeystoreCa()); + return sslContext(trustManagerFactory(clientCertificate())); } static SSLContext verifiedSslContext() throws Exception { - return verifiedSslContext(() -> getSSLContext(), keystoreCa()); - } - - static SSLContext verifiedSslContext(CallableSupplier sslContextSupplier) throws Exception { - return verifiedSslContext(sslContextSupplier, keystoreCa()); - } - - static SSLContext verifiedSslContext(CallableSupplier sslContextSupplier, String keystorePath) throws Exception { - // for local testing, run ./mvnw test-compile -Dtest-tls-certs.dir=/tmp/tls-gen/basic - // (generates the Java keystores) - assertNotNull(keystorePath); - String keystorePasswd = keystorePassword(); - assertNotNull(keystorePasswd); - char [] keystorePassword = keystorePasswd.toCharArray(); - - KeyStore tks = KeyStore.getInstance("JKS"); - tks.load(new FileInputStream(keystorePath), keystorePassword); - - TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); - tmf.init(tks); - - String p12Path = clientCertPath(); - assertNotNull(p12Path); - String p12Passwd = clientCertPassword(); - assertNotNull(p12Passwd); - KeyStore ks = KeyStore.getInstance("PKCS12"); - char [] p12Password = p12Passwd.toCharArray(); - ks.load(new FileInputStream(p12Path), p12Password); - - KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); - kmf.init(ks, p12Password); - - SSLContext c = sslContextSupplier.get(); - c.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); - return c; + return sslContext(trustManagerFactory(caCertificate())); } - static String keystoreCa() { - return System.getProperty("test-keystore.ca", "./target/ca.keystore"); - } - - static String emptyKeystoreCa() { - return System.getProperty("test-keystore.empty", "./target/empty.keystore"); - } - - static String keystorePassword() { - return System.getProperty("test-keystore.password", "bunnies"); - } - - static String clientCertPath() { - return System.getProperty("test-client-cert.path", "/tmp/tls-gen/basic/client/keycert.p12"); - } - - static String clientCertPassword() { - return System.getProperty("test-client-cert.password", ""); + static SSLContext verifiedSslContext(CallableSupplier sslContextSupplier) + throws Exception { + return sslContext(sslContextSupplier, trustManagerFactory(caCertificate())); } public static SSLContext getSSLContext() throws NoSuchAlgorithmException { @@ -112,15 +69,78 @@ public static SSLContext getSSLContext() throws NoSuchAlgorithmException { static Collection availableTlsProtocols() { try { String[] protocols = SSLContext.getDefault().getSupportedSSLParameters().getProtocols(); - return Arrays.stream(protocols).filter(p -> p.toLowerCase().startsWith("tls")).collect( - Collectors.toList()); + return Arrays.stream(protocols) + .filter(p -> p.toLowerCase().startsWith("tls")) + .collect(Collectors.toList()); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } } + static SSLContext sslContext(TrustManagerFactory trustManagerFactory) throws Exception { + return sslContext(() -> SSLContext.getInstance(PROTOCOLS[0]), trustManagerFactory); + } + + static SSLContext sslContext( + CallableSupplier sslContextSupplier, TrustManagerFactory trustManagerFactory) + throws Exception { + SSLContext sslContext = sslContextSupplier.get(); + sslContext.init( + null, trustManagerFactory == null ? null : trustManagerFactory.getTrustManagers(), null); + return sslContext; + } + + static TrustManagerFactory trustManagerFactory(Certificate certificate) throws Exception { + KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); + keyStore.load(null, null); + keyStore.setCertificateEntry("some-certificate", certificate); + TrustManagerFactory trustManagerFactory = + TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + trustManagerFactory.init(keyStore); + return trustManagerFactory; + } + + static X509Certificate caCertificate() throws Exception { + return loadCertificate(caCertificateFile()); + } + + static String caCertificateFile() { + return tlsArtefactPath( + System.getProperty("ca.certificate", "./rabbitmq-configuration/tls/ca_certificate.pem")); + } + + static X509Certificate clientCertificate() throws Exception { + return loadCertificate(clientCertificateFile()); + } + + static String clientCertificateFile() { + return tlsArtefactPath( + System.getProperty( + "client.certificate", + "./rabbitmq-configuration/tls/client_" + hostname() + "_certificate.pem")); + } + + static X509Certificate loadCertificate(String file) throws Exception { + try (FileInputStream inputStream = new FileInputStream(file)) { + CertificateFactory fact = CertificateFactory.getInstance("X.509"); + return (X509Certificate) fact.generateCertificate(inputStream); + } + } + + private static String tlsArtefactPath(String in) { + return in.replace("$(hostname)", hostname()).replace("$(hostname -s)", hostname()); + } + + private static String hostname() { + try { + return InetAddress.getLocalHost().getHostName(); + } catch (UnknownHostException e) { + return Host.hostname(); + } + } + @FunctionalInterface - interface CallableSupplier { + interface CallableSupplier { T get() throws Exception; } diff --git a/src/test/java/com/rabbitmq/tools/Host.java b/src/test/java/com/rabbitmq/tools/Host.java index 96cf6b0da..5304e120c 100644 --- a/src/test/java/com/rabbitmq/tools/Host.java +++ b/src/test/java/com/rabbitmq/tools/Host.java @@ -42,6 +42,14 @@ public class Host { private static final String DOCKER_PREFIX = "DOCKER:"; private static final Pattern CONNECTION_NAME_PATTERN = Pattern.compile("\"connection_name\",\"(?[a-zA-Z0-9\\-]+)?\""); + public static String hostname() { + try { + return executeCommand("hostname").output(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + public static String capture(InputStream is) throws IOException { @@ -189,17 +197,6 @@ public static void clearResourceAlarm(String source) throws IOException { rabbitmqctl("eval 'rabbit_alarm:clear_alarm({resource_limit, " + source + ", node()}).'"); } - public static ProcessState invokeMakeTarget(String command) throws IOException { - File rabbitmqctl = new File(rabbitmqctlCommand()); - return executeCommand(makeCommand() + - " -C \'" + rabbitmqDir() + "\'" + - " RABBITMQCTL=\'" + rabbitmqctl.getAbsolutePath() + "\'" + - " RABBITMQ_NODENAME=\'" + nodenameA() + "\'" + - " RABBITMQ_NODE_PORT=" + node_portA() + - " RABBITMQ_CONFIG_FILE=\'" + config_fileA() + "\'" + - " " + command); - } - public static void startRabbitOnNode() throws IOException { rabbitmqctl("start_app"); tryConnectFor(10_000); @@ -210,7 +207,7 @@ public static void stopRabbitOnNode() throws IOException { } public static void tryConnectFor(int timeoutInMs) throws IOException { - tryConnectFor(timeoutInMs, node_portA() == null ? 5672 : Integer.valueOf(node_portA())); + tryConnectFor(timeoutInMs, 5672); } public static void tryConnectFor(int timeoutInMs, int port) throws IOException { @@ -245,15 +242,6 @@ public static String nodenameA() return System.getProperty("test-broker.A.nodename"); } - public static String node_portA() - { - return System.getProperty("test-broker.A.node_port"); - } - - public static String config_fileA() - { - return System.getProperty("test-broker.A.config_file"); - } public static String nodenameB() { @@ -265,11 +253,6 @@ public static String node_portB() return System.getProperty("test-broker.B.node_port"); } - public static String config_fileB() - { - return System.getProperty("test-broker.B.config_file"); - } - public static String rabbitmqctlCommand() { String rabbitmqCtl = System.getProperty("rabbitmqctl.bin"); if (rabbitmqCtl == null) { @@ -291,11 +274,6 @@ public static boolean isOnDocker() { return rabbitmqCtl.startsWith(DOCKER_PREFIX); } - public static String rabbitmqDir() - { - return System.getProperty("rabbitmq.dir"); - } - public static void closeConnection(String pid) throws IOException { rabbitmqctl("close_connection '" + pid + "' 'Closed via rabbitmqctl'"); } diff --git a/src/test/resources/config.properties b/src/test/resources/config.properties deleted file mode 100644 index 6562e2f80..000000000 --- a/src/test/resources/config.properties +++ /dev/null @@ -1,3 +0,0 @@ -broker.hostname=localhost -broker.port=5672 -broker.sslport=5671 diff --git a/src/test/resources/hare@localhost.config b/src/test/resources/hare@localhost.config deleted file mode 100644 index 41667a9c7..000000000 --- a/src/test/resources/hare@localhost.config +++ /dev/null @@ -1,15 +0,0 @@ -% vim:ft=erlang: - -[ - {rabbit, [ - {ssl_listeners, [5670]}, - {ssl_options, [ - {cacertfile, "${test-tls-certs.dir}/testca/cacert.pem"}, - {certfile, "${test-tls-certs.dir}/server/cert.pem"}, - {keyfile, "${test-tls-certs.dir}/server/key.pem"}, - {verify, verify_peer}, - {fail_if_no_peer_cert, false}, - {honor_cipher_order, true}]}, - {auth_mechanisms, ['PLAIN', 'ANONYMOUS', 'AMQPLAIN', 'EXTERNAL', 'RABBIT-CR-DEMO']} - ]} -]. diff --git a/src/test/resources/log4j2-test.properties b/src/test/resources/log4j2-test.properties deleted file mode 100644 index b7e0a6869..000000000 --- a/src/test/resources/log4j2-test.properties +++ /dev/null @@ -1,12 +0,0 @@ -status = error -dest = err -name = PropertiesConfig - -appender.console.type = Console -appender.console.name = STDOUT -appender.console.layout.type = PatternLayout -appender.console.layout.pattern = %m%n - -logger.com.rabbitmq.level = info -rootLogger.level = error -rootLogger.appenderRef.stdout.ref = STDOUT \ No newline at end of file diff --git a/src/test/resources/rabbit@localhost.config b/src/test/resources/rabbit@localhost.config deleted file mode 100644 index 9e3b77c94..000000000 --- a/src/test/resources/rabbit@localhost.config +++ /dev/null @@ -1,15 +0,0 @@ -% vim:ft=erlang: - -[ - {rabbit, [ - {ssl_listeners, [5671]}, - {ssl_options, [ - {cacertfile, "${test-tls-certs.dir}/testca/cacert.pem"}, - {certfile, "${test-tls-certs.dir}/server/cert.pem"}, - {keyfile, "${test-tls-certs.dir}/server/key.pem"}, - {verify, verify_peer}, - {fail_if_no_peer_cert, false}, - {honor_cipher_order, true}]}, - {auth_mechanisms, ['PLAIN', 'ANONYMOUS', 'AMQPLAIN', 'EXTERNAL', 'RABBIT-CR-DEMO']} - ]} -]. From 0b0cc0adfb5f10b87fcbd3390ad867d00d602c7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= Date: Wed, 19 Feb 2025 14:35:16 +0100 Subject: [PATCH 16/81] Delete TLS-related groovy scripts (cherry picked from commit 5da298c3f89759040dc4465e467af4d97dcb8704) --- .../scripts/query_test_tls_certs_dir.groovy | 25 ------------------- .../scripts/remove_old_test_keystores.groovy | 8 ------ 2 files changed, 33 deletions(-) delete mode 100644 src/main/scripts/query_test_tls_certs_dir.groovy delete mode 100644 src/main/scripts/remove_old_test_keystores.groovy diff --git a/src/main/scripts/query_test_tls_certs_dir.groovy b/src/main/scripts/query_test_tls_certs_dir.groovy deleted file mode 100644 index 2c86bb8c1..000000000 --- a/src/main/scripts/query_test_tls_certs_dir.groovy +++ /dev/null @@ -1,25 +0,0 @@ -String[] command = [ - properties['make.bin'], - '-C', properties['rabbitmq.dir'], - '--no-print-directory', - 'show-test-tls-certs-dir', - "DEPS_DIR=${properties['deps.dir']}", -] - -def pb = new ProcessBuilder(command) -pb.redirectErrorStream(true) - -def process = pb.start() - -// We are only interested in the last line of output. Previous lines, if -// any, are related to the generation of the test certificates. -def whole_output = "" -process.inputStream.eachLine { - whole_output += it - project.properties['test-tls-certs.dir'] = it.trim() -} -process.waitFor() -if (process.exitValue() != 0) { - println(whole_output.trim()) - fail("Failed to query test TLS certs directory with command: ${command.join(' ')}") -} diff --git a/src/main/scripts/remove_old_test_keystores.groovy b/src/main/scripts/remove_old_test_keystores.groovy deleted file mode 100644 index e08775e4e..000000000 --- a/src/main/scripts/remove_old_test_keystores.groovy +++ /dev/null @@ -1,8 +0,0 @@ -def dir = new File(project.build.directory) - -// This pattern starts with `.*`. This is normally useless and even -// inefficient but the matching doesn't work without it... -def pattern = ~/.*\.keystore$/ -dir.eachFileMatch(pattern) { file -> - file.delete() -} From 847fcda2879f9f9ba6dd507a927c06582bdfd469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= Date: Fri, 21 Feb 2025 16:53:18 +0100 Subject: [PATCH 17/81] Set loopback users back to initial value after test (cherry picked from commit 46b245f3601df40444687d08c630b958d57191ee) --- .../test/functional/ConnectionRecovery.java | 2 -- .../client/test/server/LoopbackUsers.java | 22 ++++++++++++++----- src/test/java/com/rabbitmq/tools/Host.java | 4 ++-- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/test/java/com/rabbitmq/client/test/functional/ConnectionRecovery.java b/src/test/java/com/rabbitmq/client/test/functional/ConnectionRecovery.java index 9e871e72a..8dfb268ae 100644 --- a/src/test/java/com/rabbitmq/client/test/functional/ConnectionRecovery.java +++ b/src/test/java/com/rabbitmq/client/test/functional/ConnectionRecovery.java @@ -23,7 +23,6 @@ import com.rabbitmq.client.test.BrokerTestCase; import com.rabbitmq.client.test.TestUtils; import com.rabbitmq.tools.Host; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.io.IOException; @@ -368,7 +367,6 @@ private void testClientNamedQueueRecoveryWith(String q, boolean noWait) throws I } // bug 26552 - @Disabled @Test public void clientNamedTransientAutoDeleteQueueAndBindingRecovery() throws IOException, InterruptedException, TimeoutException { String q = UUID.randomUUID().toString(); String x = "tmp-fanout"; diff --git a/src/test/java/com/rabbitmq/client/test/server/LoopbackUsers.java b/src/test/java/com/rabbitmq/client/test/server/LoopbackUsers.java index 813e4d23f..e3bd70a7b 100644 --- a/src/test/java/com/rabbitmq/client/test/server/LoopbackUsers.java +++ b/src/test/java/com/rabbitmq/client/test/server/LoopbackUsers.java @@ -48,14 +48,26 @@ public class LoopbackUsers { @Test public void loopback() throws IOException, TimeoutException { if (!Host.isOnDocker()) { String addr = findRealIPAddress().getHostAddress(); - assertGuestFail(addr); - Host.rabbitmqctl("eval 'application:set_env(rabbit, loopback_users, []).'"); - assertGuestSucceed(addr); - Host.rabbitmqctl("eval 'application:set_env(rabbit, loopback_users, [<<\"guest\">>]).'"); - assertGuestFail(addr); + String initialValue = getLoopbackUsers(); + try { + setLoopbackUsers("[]"); + assertGuestSucceed(addr); + setLoopbackUsers("[<<\"guest\">>]"); + assertGuestFail(addr); + } finally { + setLoopbackUsers(initialValue); + } } } + private static String getLoopbackUsers() throws IOException { + return Host.rabbitmqctl("eval '{ok, V} = application:get_env(rabbit, loopback_users), V.'").output(); + } + + private static void setLoopbackUsers(String value) throws IOException { + Host.rabbitmqctl(String.format("eval 'application:set_env(rabbit, loopback_users, %s).'", value)); + } + private void assertGuestSucceed(String addr) throws IOException, TimeoutException { succeedConnect("guest", addr); succeedConnect("guest", "localhost"); diff --git a/src/test/java/com/rabbitmq/tools/Host.java b/src/test/java/com/rabbitmq/tools/Host.java index 5304e120c..ad8799c11 100644 --- a/src/test/java/com/rabbitmq/tools/Host.java +++ b/src/test/java/com/rabbitmq/tools/Host.java @@ -80,7 +80,7 @@ public static ProcessState executeCommand(String command) throws IOException return new ProcessState(pr, inputState, errorState); } - static class ProcessState { + public static class ProcessState { private final Process process; private final InputStreamPumpState inputState; @@ -93,7 +93,7 @@ static class ProcessState { this.errorState = errorState; } - private String output() { + public String output() { return inputState.buffer.toString(); } From 94b9d3b0501dd8f7cc13fb13b5dbdc2ac14f1f18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= <514737+acogoluegnes@users.noreply.github.com> Date: Wed, 5 Mar 2025 11:41:04 +0100 Subject: [PATCH 18/81] Remove unnecessary throws (cherry picked from commit 44c9dc2c86206b725aecad138e2e1a51ef18954d) --- .../com/rabbitmq/client/impl/WorkPoolTests.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/test/java/com/rabbitmq/client/impl/WorkPoolTests.java b/src/test/java/com/rabbitmq/client/impl/WorkPoolTests.java index 19d874ced..8306c1055 100644 --- a/src/test/java/com/rabbitmq/client/impl/WorkPoolTests.java +++ b/src/test/java/com/rabbitmq/client/impl/WorkPoolTests.java @@ -41,9 +41,8 @@ public class WorkPoolTests { /** * Test add work and remove work - * @throws Exception untested */ - @Test public void basicInOut() throws Exception { + @Test public void basicInOut() { Object one = new Object(); Object two = new Object(); @@ -70,9 +69,8 @@ public class WorkPoolTests { /** * Test add work when work in progress. - * @throws Exception untested */ - @Test public void workInWhileInProgress() throws Exception { + @Test public void workInWhileInProgress() { Object one = new Object(); Object two = new Object(); @@ -98,9 +96,8 @@ public class WorkPoolTests { /** * Test multiple work keys. - * @throws Exception untested */ - @Test public void interleavingKeys() throws Exception { + @Test public void interleavingKeys() { Object one = new Object(); Object two = new Object(); Object three = new Object(); @@ -129,9 +126,8 @@ public class WorkPoolTests { /** * Test removal of key (with work) - * @throws Exception untested */ - @Test public void unregisterKey() throws Exception { + @Test public void unregisterKey() { Object one = new Object(); Object two = new Object(); Object three = new Object(); @@ -154,9 +150,8 @@ public class WorkPoolTests { /** * Test removal of all keys (with work). - * @throws Exception untested */ - @Test public void unregisterAllKeys() throws Exception { + @Test public void unregisterAllKeys() { Object one = new Object(); Object two = new Object(); Object three = new Object(); From 22b1e1bc1da839988310ec6dd5661313c0c9a0d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 00:13:20 +0000 Subject: [PATCH 19/81] Bump opentelemetry.version from 1.47.0 to 1.48.0 Bumps `opentelemetry.version` from 1.47.0 to 1.48.0. Updates `io.opentelemetry:opentelemetry-api` from 1.47.0 to 1.48.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.47.0...v1.48.0) Updates `io.opentelemetry:opentelemetry-sdk-testing` from 1.47.0 to 1.48.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.47.0...v1.48.0) --- updated-dependencies: - dependency-name: io.opentelemetry:opentelemetry-api dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.opentelemetry:opentelemetry-sdk-testing dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 07841d3e3..266011ec5 100644 --- a/pom.xml +++ b/pom.xml @@ -58,7 +58,7 @@ 1.7.36 4.2.30 1.14.4 - 1.47.0 + 1.48.0 2.18.3 1.2.13 5.12.0 From f43ea58b8415f8c500d5ce69836589a87ec1d603 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 00:17:01 +0000 Subject: [PATCH 20/81] Bump io.micrometer:micrometer-core from 1.14.4 to 1.14.5 Bumps [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.14.4 to 1.14.5. - [Release notes](https://github.com/micrometer-metrics/micrometer/releases) - [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.14.4...v1.14.5) --- updated-dependencies: - dependency-name: io.micrometer:micrometer-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 266011ec5..d8e32c0a1 100644 --- a/pom.xml +++ b/pom.xml @@ -57,7 +57,7 @@ true 1.7.36 4.2.30 - 1.14.4 + 1.14.5 1.48.0 2.18.3 1.2.13 From 4c8125a5ee4c40b4a9ca7e6e9ba621ce863ec480 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 00:17:08 +0000 Subject: [PATCH 21/81] Bump io.micrometer:micrometer-tracing-integration-test Bumps [io.micrometer:micrometer-tracing-integration-test](https://github.com/micrometer-metrics/tracing) from 1.4.3 to 1.4.4. - [Release notes](https://github.com/micrometer-metrics/tracing/releases) - [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.4.3...v1.4.4) --- updated-dependencies: - dependency-name: io.micrometer:micrometer-tracing-integration-test dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 266011ec5..e52265581 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ 5.12.0 5.16.0 3.27.3 - 1.4.3 + 1.4.4 1.0.4 9.4.57.v20241219 1.80 From 88aced025ad88993a3b516200487414141227d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= <514737+acogoluegnes@users.noreply.github.com> Date: Thu, 13 Mar 2025 08:37:51 +0100 Subject: [PATCH 22/81] Test against RabbitMQ 4.1 alpha (cherry picked from commit 1765236e36da063775621835db7d565daa81fbec) --- .github/workflows/test-rabbitmq-alphas.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-rabbitmq-alphas.yml b/.github/workflows/test-rabbitmq-alphas.yml index 934ccbbdd..10db388a9 100644 --- a/.github/workflows/test-rabbitmq-alphas.yml +++ b/.github/workflows/test-rabbitmq-alphas.yml @@ -16,7 +16,10 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - rabbitmq-image: [ 'pivotalrabbitmq/rabbitmq:v4.0.x', 'pivotalrabbitmq/rabbitmq:main' ] + rabbitmq-image: + - pivotalrabbitmq/rabbitmq:v4.0.x-otp27 + - pivotalrabbitmq/rabbitmq:v4.1.x-otp27 + - pivotalrabbitmq/rabbitmq:main-otp27 name: Test against ${{ matrix.rabbitmq-image }} steps: - uses: actions/checkout@v4 From db98b7a15770e9754681b3c3d46c1b006a10b2db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 00:17:33 +0000 Subject: [PATCH 23/81] Bump org.junit:junit-bom from 5.12.0 to 5.12.1 Bumps [org.junit:junit-bom](https://github.com/junit-team/junit5) from 5.12.0 to 5.12.1. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.12.0...r5.12.1) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 81d997417..98c753f93 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ 1.48.0 2.18.3 1.2.13 - 5.12.0 + 5.12.1 5.16.0 3.27.3 1.4.4 From 80cae5bdd70b58621db3791e1779265db552a8eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 03:09:18 +0000 Subject: [PATCH 24/81] Bump org.mockito:mockito-core from 5.16.0 to 5.16.1 Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.16.0 to 5.16.1. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.16.0...v5.16.1) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 98c753f93..cbffdea1b 100644 --- a/pom.xml +++ b/pom.xml @@ -62,7 +62,7 @@ 2.18.3 1.2.13 5.12.1 - 5.16.0 + 5.16.1 3.27.3 1.4.4 1.0.4 From e00945384ecce559a9ee6b8a78c742361f9d5db4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= <514737+acogoluegnes@users.noreply.github.com> Date: Mon, 17 Mar 2025 10:33:30 +0100 Subject: [PATCH 25/81] Use -R flag in cp command Compatible MacOS/Linux. (cherry picked from commit 7f105b24f7af6d22a851f320c408c9172bb39f9a) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d9041b265..f320fd349 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ $(DEPS_DIR)/rabbitmq_codegen: git clone -n --depth=1 --filter=tree:0 https://github.com/rabbitmq/rabbitmq-server.git $(DEPS_DIR)/rabbitmq-server git -C $(DEPS_DIR)/rabbitmq-server sparse-checkout set --no-cone deps/rabbitmq_codegen git -C $(DEPS_DIR)/rabbitmq-server checkout - cp -r $(DEPS_DIR)/rabbitmq-server/deps/rabbitmq_codegen "$@" + cp -R $(DEPS_DIR)/rabbitmq-server/deps/rabbitmq_codegen "$@" rm -rf $(DEPS_DIR)/rabbitmq-server tests: deps From dff74a4521a16aaae79e4ae41d617a324283248e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Mar 2025 00:10:38 +0000 Subject: [PATCH 26/81] Bump org.sonarsource.scanner.maven:sonar-maven-plugin Bumps [org.sonarsource.scanner.maven:sonar-maven-plugin](https://github.com/SonarSource/sonar-scanner-maven) from 5.0.0.4389 to 5.1.0.4751. - [Release notes](https://github.com/SonarSource/sonar-scanner-maven/releases) - [Commits](https://github.com/SonarSource/sonar-scanner-maven/compare/5.0.0.4389...5.1.0.4751) --- updated-dependencies: - dependency-name: org.sonarsource.scanner.maven:sonar-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cbffdea1b..1ab88883e 100644 --- a/pom.xml +++ b/pom.xml @@ -639,7 +639,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 5.0.0.4389 + 5.1.0.4751 From 367e3486039b425f28b597d86d55bf153ea4e817 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 01:26:53 +0000 Subject: [PATCH 27/81] Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.2 to 3.5.3 Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.5.2 to 3.5.3. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.2...surefire-3.5.3) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1ab88883e..0839d59af 100644 --- a/pom.xml +++ b/pom.xml @@ -80,7 +80,7 @@ 2.4.21 3.6.0 3.14.0 - 3.5.2 + 3.5.3 3.8.1 3.5.2 3.2.7 From 590fcbd997e2b1e82a37c2d29e6f9ef340876d38 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 01:27:00 +0000 Subject: [PATCH 28/81] Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.2 to 3.5.3 Bumps [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire) from 3.5.2 to 3.5.3. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.2...surefire-3.5.3) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-failsafe-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1ab88883e..ac3f7ce5e 100644 --- a/pom.xml +++ b/pom.xml @@ -82,7 +82,7 @@ 3.14.0 3.5.2 3.8.1 - 3.5.2 + 3.5.3 3.2.7 3.4.2 5.1.9 From 1ab1f318891abcfd69f0b036487f1eabf37e35b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Apr 2025 00:15:45 +0000 Subject: [PATCH 29/81] Bump opentelemetry.version from 1.48.0 to 1.49.0 Bumps `opentelemetry.version` from 1.48.0 to 1.49.0. Updates `io.opentelemetry:opentelemetry-api` from 1.48.0 to 1.49.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.48.0...v1.49.0) Updates `io.opentelemetry:opentelemetry-sdk-testing` from 1.48.0 to 1.49.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.48.0...v1.49.0) --- updated-dependencies: - dependency-name: io.opentelemetry:opentelemetry-api dependency-version: 1.49.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.opentelemetry:opentelemetry-sdk-testing dependency-version: 1.49.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0b039b404..9bc6dbca1 100644 --- a/pom.xml +++ b/pom.xml @@ -58,7 +58,7 @@ 1.7.36 4.2.30 1.14.5 - 1.48.0 + 1.49.0 2.18.3 1.2.13 5.12.1 From cd49fc00eab5895ca5f36fbe8282e691c5fb0d98 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Apr 2025 00:15:54 +0000 Subject: [PATCH 30/81] Bump org.mockito:mockito-core from 5.16.1 to 5.17.0 Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.16.1 to 5.17.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.16.1...v5.17.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-version: 5.17.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0b039b404..d88b9a8f5 100644 --- a/pom.xml +++ b/pom.xml @@ -62,7 +62,7 @@ 2.18.3 1.2.13 5.12.1 - 5.16.1 + 5.17.0 3.27.3 1.4.4 1.0.4 From a9b08cdae2470cdd6417c4161c950804adae7f18 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 01:37:08 +0000 Subject: [PATCH 31/81] Bump com.diffplug.spotless:spotless-maven-plugin from 2.44.3 to 2.44.4 Bumps [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) from 2.44.3 to 2.44.4. - [Release notes](https://github.com/diffplug/spotless/releases) - [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md) - [Commits](https://github.com/diffplug/spotless/compare/maven/2.44.3...maven/2.44.4) --- updated-dependencies: - dependency-name: com.diffplug.spotless:spotless-maven-plugin dependency-version: 2.44.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index eba8d3d70..e872557fb 100644 --- a/pom.xml +++ b/pom.xml @@ -90,7 +90,7 @@ 1.7.0 1.11 1.4 - 2.44.3 + 2.44.4 1.19.2 - - milestone - - - - org.apache.maven.plugins - maven-javadoc-plugin - ${maven.javadoc.plugin.version} - - ${javadoc.opts} - ${javadoc.joption} - true - 8 - - - - - jar - - - - - - - net.nicoulaj.maven.plugins - checksum-maven-plugin - ${checksum.maven.plugin.version} - - - sign-artifacts - package - - files - - - - - ${project.build.directory} - - *.jar - *.pom - - - - - MD5 - SHA-1 - - - - - - - - org.apache.maven.plugins - maven-gpg-plugin - ${maven.gpg.plugin.version} - - - sign-artifacts - package - - sign - - - ${gpg.keyname} - - - - - - - - - packagecloud-rabbitmq-maven-milestones - packagecloud+https://packagecloud.io/rabbitmq/maven-milestones - - - mockito-4-on-java-8 @@ -907,14 +798,18 @@ + + org.sonatype.central + central-publishing-maven-plugin + ${central-publishing-maven-plugin.version} + true + + central + true + + + - - - io.packagecloud.maven.wagon - maven-packagecloud-wagon - ${maven.packagecloud.wagon.version} - - From 6ac5e5ec1fc9402a2c761f4a4824136cea197304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= <514737+acogoluegnes@users.noreply.github.com> Date: Fri, 13 Jun 2025 09:36:24 +0200 Subject: [PATCH 62/81] Disable auto-publish --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 22f8b8e66..489d39126 100644 --- a/pom.xml +++ b/pom.xml @@ -805,7 +805,7 @@ true central - true + false From e08e5f71ebe59d66d32fa6ee6c589eba6dedf9a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 00:37:41 +0000 Subject: [PATCH 63/81] Bump com.fasterxml.jackson.core:jackson-databind from 2.19.0 to 2.19.1 Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.19.0 to 2.19.1. - [Commits](https://github.com/FasterXML/jackson/commits) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-version: 2.19.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 489d39126..34a7ddf8b 100644 --- a/pom.xml +++ b/pom.xml @@ -59,7 +59,7 @@ 4.2.32 1.15.1 1.51.0 - 2.19.0 + 2.19.1 1.2.13 5.13.1 5.18.0 From 8762c06551a53b247b1e5ea704bfba44c2de614a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Jun 2025 00:45:42 +0000 Subject: [PATCH 64/81] Bump org.sonatype.central:central-publishing-maven-plugin Bumps [org.sonatype.central:central-publishing-maven-plugin](https://github.com/sonatype/central-publishing-maven-plugin) from 0.7.0 to 0.8.0. - [Commits](https://github.com/sonatype/central-publishing-maven-plugin/commits) --- updated-dependencies: - dependency-name: org.sonatype.central:central-publishing-maven-plugin dependency-version: 0.8.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 34a7ddf8b..c20763a13 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ 3.4.2 5.1.9 1.11 - 0.7.0 + 0.8.0 1.4 2.44.5 1.19.2 From 34429fec24ba4058b80d17b3ed515480dcdf792b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Jun 2025 01:01:03 +0000 Subject: [PATCH 65/81] Bump io.dropwizard.metrics:metrics-core from 4.2.32 to 4.2.33 Bumps [io.dropwizard.metrics:metrics-core](https://github.com/dropwizard/metrics) from 4.2.32 to 4.2.33. - [Release notes](https://github.com/dropwizard/metrics/releases) - [Commits](https://github.com/dropwizard/metrics/compare/v4.2.32...v4.2.33) --- updated-dependencies: - dependency-name: io.dropwizard.metrics:metrics-core dependency-version: 4.2.33 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c20763a13..724c57984 100644 --- a/pom.xml +++ b/pom.xml @@ -56,7 +56,7 @@ true 1.7.36 - 4.2.32 + 4.2.33 1.15.1 1.51.0 2.19.1 From 479c39d625d178cb2d2151445ab268a4d45bfda5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 00:08:49 +0000 Subject: [PATCH 66/81] Bump org.junit:junit-bom from 5.13.1 to 5.13.2 Bumps [org.junit:junit-bom](https://github.com/junit-team/junit-framework) from 5.13.1 to 5.13.2. - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.1...r5.13.2) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-version: 5.13.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 724c57984..f3066cf6e 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ 1.51.0 2.19.1 1.2.13 - 5.13.1 + 5.13.2 5.18.0 3.27.3 1.5.1 From 3c8138de00cec3b49611f3732bda8f836e098f55 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Jul 2025 00:34:45 +0000 Subject: [PATCH 67/81] Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8 Bumps [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) from 3.2.7 to 3.2.8. - [Release notes](https://github.com/apache/maven-gpg-plugin/releases) - [Commits](https://github.com/apache/maven-gpg-plugin/compare/maven-gpg-plugin-3.2.7...maven-gpg-plugin-3.2.8) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-gpg-plugin dependency-version: 3.2.8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f3066cf6e..1e46dee99 100644 --- a/pom.xml +++ b/pom.xml @@ -83,7 +83,7 @@ 3.5.3 3.8.1 3.5.3 - 3.2.7 + 3.2.8 3.4.2 5.1.9 1.11 From 227244c876802f42af2a93d38302ef249aacd32c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Jul 2025 00:18:46 +0000 Subject: [PATCH 68/81] Bump org.junit:junit-bom from 5.13.2 to 5.13.3 Bumps [org.junit:junit-bom](https://github.com/junit-team/junit-framework) from 5.13.2 to 5.13.3. - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-version: 5.13.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1e46dee99..728ae0905 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ 1.51.0 2.19.1 1.2.13 - 5.13.2 + 5.13.3 5.18.0 3.27.3 1.5.1 From 3b8c53d9400994681af4ac8b2f099026857fbcae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Jul 2025 03:44:29 +0000 Subject: [PATCH 69/81] Bump com.diffplug.spotless:spotless-maven-plugin from 2.44.5 to 2.45.0 Bumps [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) from 2.44.5 to 2.45.0. - [Release notes](https://github.com/diffplug/spotless/releases) - [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md) - [Commits](https://github.com/diffplug/spotless/compare/maven/2.44.5...lib/2.45.0) --- updated-dependencies: - dependency-name: com.diffplug.spotless:spotless-maven-plugin dependency-version: 2.45.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 728ae0905..27a6f7fd3 100644 --- a/pom.xml +++ b/pom.xml @@ -89,7 +89,7 @@ 1.11 0.8.0 1.4 - 2.44.5 + 2.45.0 1.19.2

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy