You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2021/12/14 14:31:08 UTC

[qpid-jms] branch 0.x updated (ec88eb4 -> 8362014)

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

robbie pushed a change to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git.


    from ec88eb4  [maven-release-plugin] prepare for next development iteration
     new cd70bf0  update version to 0.60.0-SNAPSHOT
     new 782d375  NO-JIRA: tweak logging to include stacktrace
     new 6938513  NO-JIRA: fix warnings during assembly creation
     new 2cd0ba4  NO-JIRA: update or exclude some test deps related to kdc bits
     new 0d1876d  NO-JIRA: enforce use of Maven 3.5.0+, overriding apache parent pom execution checking for 3.0.5
     new 73886a8  QPIDJMS-542: allow setting URI used for default connection factories via the context provider url property.
     new 4ca8a1f  NO-JIRA: try to upload archive of surefire logs upon failure
     new cfeddfe  NO-JIRA: consolidate on use of pkcs12 stores for test server
     new f7dee1b  QPIDJMS-544: log the variable value rather than constant, ensure correctness should the former ever be updated, tweak message for clarity
     new 10d5a6c  QPIDJMS-546: update various test dependencies
     new 2e8bb3a  NO-JIRA: update GHA build to use Temurin, and JDK 17 instead of 16
     new 763316d  QPIDJMS-549: use retained ref that isnt nulled during failover, and avoid multiple signals to the related code that let it NPE more than once
     new e30020a  QPIDJMS-551: update to proton-j 0.33.10
     new d949b2b  NO-JIRA: ensure browser tests validate distribution mode
     new 5c829bf  QPIDJMS-555, QPIDJMS-556: update Netty to 4.1.72 and netty-tcnative to 2.0.46
     new 8362014  QPIDJMS-556: update test+examples slf4j-log4j dep to 2.15.0

The 16 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/build.yml                        |  15 ++-
 apache-qpid-jms/pom.xml                            |   2 +-
 apache-qpid-jms/src/main/assembly/bin.xml          |   2 +-
 apache-qpid-jms/src/main/assembly/src.xml          |   4 +-
 pom.xml                                            |  84 ++++++++++++++--
 qpid-jms-client/pom.xml                            |   2 +-
 .../qpid/jms/jndi/JmsInitialContextFactory.java    |  23 ++++-
 .../qpid/jms/policy/JmsDefaultPrefetchPolicy.java  |   2 +-
 .../qpid/jms/provider/amqp/AmqpProvider.java       |  22 +++-
 .../jms/provider/failover/FailoverProvider.java    |   5 +-
 .../qpid/jms/integration/ProxyIntegrationTest.java |   8 +-
 .../qpid/jms/integration/SaslIntegrationTest.java  |  12 +--
 .../qpid/jms/integration/SslIntegrationTest.java   |  55 ++++------
 .../qpid/jms/integration/WsIntegrationTest.java    |   4 +-
 .../jms/jndi/JmsInitialContextFactoryTest.java     |  47 +++++++++
 ...hAmqpOpenProvidedServerListIntegrationTest.java | 112 ++++++++++++++++++---
 .../qpid/jms/test/testpeer/TestAmqpPeer.java       |  21 +++-
 .../qpid/jms/test/testpeer/TestAmqpPeerRunner.java |   2 +-
 .../qpid/jms/transports/TransportSupportTest.java  |   4 -
 .../transports/netty/NettySslTransportTest.java    |   7 +-
 qpid-jms-client/src/test/resources/README.txt      |  17 +---
 .../src/test/resources/broker-jceks.keystore       | Bin 3762 -> 0 bytes
 .../src/test/resources/broker-jceks.truststore     | Bin 843 -> 0 bytes
 .../src/test/resources/broker-jks.keystore         | Bin 3782 -> 0 bytes
 .../src/test/resources/broker-jks.truststore       | Bin 843 -> 0 bytes
 .../resources/broker-wrong-host-pkcs12.keystore    | Bin 0 -> 4349 bytes
 qpid-jms-discovery/pom.xml                         |   2 +-
 qpid-jms-docs/pom.xml                              |   2 +-
 qpid-jms-examples/pom.xml                          |  10 +-
 qpid-jms-interop-tests/pom.xml                     |   2 +-
 .../qpid-jms-activemq-tests/pom.xml                |   2 +-
 31 files changed, 355 insertions(+), 113 deletions(-)
 delete mode 100644 qpid-jms-client/src/test/resources/broker-jceks.keystore
 delete mode 100644 qpid-jms-client/src/test/resources/broker-jceks.truststore
 delete mode 100644 qpid-jms-client/src/test/resources/broker-jks.keystore
 delete mode 100644 qpid-jms-client/src/test/resources/broker-jks.truststore
 create mode 100644 qpid-jms-client/src/test/resources/broker-wrong-host-pkcs12.keystore

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


[qpid-jms] 08/16: NO-JIRA: consolidate on use of pkcs12 stores for test server

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit cfeddfe8830166dcb8c43f781bb1f389fe5df7f5
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Fri Jul 23 18:04:08 2021 +0100

    NO-JIRA: consolidate on use of pkcs12 stores for test server
    
    removes already-unused jceks and now-unused jks stores (converted one to pkcs12), and simplify creation steps accordingly
    
    (cherry picked from commit c24b9bd2b91be2a4be21512e4b48c56394080f22)
---
 .../qpid/jms/integration/ProxyIntegrationTest.java |   8 +--
 .../qpid/jms/integration/SaslIntegrationTest.java  |  12 ++---
 .../qpid/jms/integration/SslIntegrationTest.java   |  55 +++++++--------------
 .../qpid/jms/integration/WsIntegrationTest.java    |   4 +-
 ...hAmqpOpenProvidedServerListIntegrationTest.java |  24 ++++-----
 .../qpid/jms/transports/TransportSupportTest.java  |   4 --
 .../transports/netty/NettySslTransportTest.java    |   7 ++-
 qpid-jms-client/src/test/resources/README.txt      |  17 ++-----
 .../src/test/resources/broker-jceks.keystore       | Bin 3762 -> 0 bytes
 .../src/test/resources/broker-jceks.truststore     | Bin 843 -> 0 bytes
 .../src/test/resources/broker-jks.keystore         | Bin 3782 -> 0 bytes
 .../src/test/resources/broker-jks.truststore       | Bin 843 -> 0 bytes
 .../resources/broker-wrong-host-pkcs12.keystore    | Bin 0 -> 4349 bytes
 13 files changed, 51 insertions(+), 80 deletions(-)

diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProxyIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProxyIntegrationTest.java
index 96fd7b7..b2efc8a 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProxyIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProxyIntegrationTest.java
@@ -69,7 +69,7 @@ import io.netty.handler.proxy.Socks5ProxyHandler;
 @RunWith(QpidJMSTestRunner.class)
 public class ProxyIntegrationTest extends QpidJmsTestCase {
     private static final Logger LOG = LoggerFactory.getLogger(ProxyIntegrationTest.class);
-    private static final String BROKER_JKS_KEYSTORE = "src/test/resources/broker-jks.keystore";
+    private static final String BROKER_PKCS12_KEYSTORE = "src/test/resources/broker-pkcs12.keystore";
     private static final String CLIENT_JKS_TRUSTSTORE = "src/test/resources/client-jks.truststore";
     private static final String PASSWORD = "password";
 
@@ -98,7 +98,7 @@ public class ProxyIntegrationTest extends QpidJmsTestCase {
     @Test(timeout = 20000)
     public void testCreateSecureConnectionViaSocksProxy() throws Exception {
         TransportOptions sslOptions = new TransportOptions();
-        sslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        sslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         sslOptions.setKeyStorePassword(PASSWORD);
         sslOptions.setVerifyHost(false);
 
@@ -232,7 +232,7 @@ public class ProxyIntegrationTest extends QpidJmsTestCase {
 
     private void doTestCreateWebSocketConnectionViaHttpProxyAndStart(boolean secure) throws Exception {
         TransportOptions options = new TransportOptions();
-        options.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        options.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         options.setKeyStorePassword(PASSWORD);
         options.setVerifyHost(false);
 
@@ -290,7 +290,7 @@ public class ProxyIntegrationTest extends QpidJmsTestCase {
 
     private void doTestCreateWebSocketConnectionViaSocksProxyAndStart(boolean secure) throws Exception {
         TransportOptions serverOptions = new TransportOptions();
-        serverOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        serverOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         serverOptions.setKeyStorePassword(PASSWORD);
         serverOptions.setVerifyHost(false);
 
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SaslIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SaslIntegrationTest.java
index 8c8f8de..91ffda1 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SaslIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SaslIntegrationTest.java
@@ -70,8 +70,8 @@ public class SaslIntegrationTest extends QpidJmsTestCase {
     private static final UnsignedByte SASL_SYS_PERM = UnsignedByte.valueOf((byte) 3);
     private static final UnsignedByte SASL_SYS_TEMP = UnsignedByte.valueOf((byte) 4);
 
-    private static final String BROKER_JKS_KEYSTORE = "src/test/resources/broker-jks.keystore";
-    private static final String BROKER_JKS_TRUSTSTORE = "src/test/resources/broker-jks.truststore";
+    private static final String BROKER_PKCS12_KEYSTORE = "src/test/resources/broker-pkcs12.keystore";
+    private static final String BROKER_PKCS12_TRUSTSTORE = "src/test/resources/broker-pkcs12.truststore";
     private static final String CLIENT_JKS_KEYSTORE = "src/test/resources/client-jks.keystore";
     private static final String CLIENT_JKS_TRUSTSTORE = "src/test/resources/client-jks.truststore";
     private static final String PASSWORD = "password";
@@ -79,10 +79,10 @@ public class SaslIntegrationTest extends QpidJmsTestCase {
     @Test(timeout = 20000)
     public void testSaslExternalConnection() throws Exception {
         TransportOptions sslOptions = new TransportOptions();
-        sslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        sslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         sslOptions.setKeyStorePassword(PASSWORD);
         sslOptions.setVerifyHost(false);
-        sslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+        sslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
         sslOptions.setTrustStorePassword(PASSWORD);
 
         String connOptions = "?transport.trustStoreLocation=" + CLIENT_JKS_TRUSTSTORE + "&" +
@@ -342,11 +342,11 @@ public class SaslIntegrationTest extends QpidJmsTestCase {
 
     private void doMechanismSelectedExternalTestImpl(boolean requireClientCert, Symbol clientSelectedMech, Symbol[] serverMechs) throws Exception {
         TransportOptions sslOptions = new TransportOptions();
-        sslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        sslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         sslOptions.setKeyStorePassword(PASSWORD);
         sslOptions.setVerifyHost(false);
         if (requireClientCert) {
-            sslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+            sslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
             sslOptions.setTrustStorePassword(PASSWORD);
         }
 
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SslIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SslIntegrationTest.java
index e1668a7..ccb9e7b 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SslIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SslIntegrationTest.java
@@ -53,9 +53,7 @@ import io.netty.handler.ssl.OpenSsl;
 
 public class SslIntegrationTest extends QpidJmsTestCase {
 
-    private static final String BROKER_JKS_KEYSTORE = "src/test/resources/broker-jks.keystore";
     private static final String BROKER_PKCS12_KEYSTORE = "src/test/resources/broker-pkcs12.keystore";
-    private static final String BROKER_JKS_TRUSTSTORE = "src/test/resources/broker-jks.truststore";
     private static final String BROKER_PKCS12_TRUSTSTORE = "src/test/resources/broker-pkcs12.truststore";
     private static final String CLIENT_MULTI_KEYSTORE = "src/test/resources/client-multiple-keys-jks.keystore";
     private static final String CLIENT_JKS_TRUSTSTORE = "src/test/resources/client-jks.truststore";
@@ -100,7 +98,7 @@ public class SslIntegrationTest extends QpidJmsTestCase {
 
     private void testCreateAndCloseSslConnection(boolean openSSL) throws Exception {
         TransportOptions sslOptions = new TransportOptions();
-        sslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        sslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         sslOptions.setKeyStorePassword(PASSWORD);
         sslOptions.setVerifyHost(false);
 
@@ -135,7 +133,7 @@ public class SslIntegrationTest extends QpidJmsTestCase {
 
     private void doTestCreateSslConnectionWithServerSendingPreemptiveData(boolean openSSL) throws Exception {
         TransportOptions serverSslOptions = new TransportOptions();
-        serverSslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        serverSslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         serverSslOptions.setKeyStorePassword(PASSWORD);
         serverSslOptions.setVerifyHost(false);
 
@@ -179,8 +177,8 @@ public class SslIntegrationTest extends QpidJmsTestCase {
 
     private void doTestCreateAndCloseSslConnectionWithClientAuth(boolean openSSL) throws Exception {
         TransportOptions sslOptions = new TransportOptions();
-        sslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
-        sslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+        sslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
+        sslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
         sslOptions.setKeyStorePassword(PASSWORD);
         sslOptions.setTrustStorePassword(PASSWORD);
         sslOptions.setVerifyHost(false);
@@ -221,8 +219,8 @@ public class SslIntegrationTest extends QpidJmsTestCase {
 
     private void doConnectionWithAliasTestImpl(String alias, String expectedDN, boolean requestOpenSSL) throws Exception, JMSException, SSLPeerUnverifiedException, IOException {
         TransportOptions sslOptions = new TransportOptions();
-        sslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
-        sslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+        sslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
+        sslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
         sslOptions.setKeyStorePassword(PASSWORD);
         sslOptions.setTrustStorePassword(PASSWORD);
         sslOptions.setVerifyHost(false);
@@ -268,8 +266,8 @@ public class SslIntegrationTest extends QpidJmsTestCase {
 
     private void doCreateConnectionWithInvalidAliasTestImpl(String alias) throws Exception, IOException {
         TransportOptions sslOptions = new TransportOptions();
-        sslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
-        sslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+        sslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
+        sslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
         sslOptions.setKeyStorePassword(PASSWORD);
         sslOptions.setTrustStorePassword(PASSWORD);
         sslOptions.setVerifyHost(false);
@@ -327,8 +325,8 @@ public class SslIntegrationTest extends QpidJmsTestCase {
 
     private void doConnectionWithSslContextOverride(String clientKeyStorePath, String expectedDN, boolean useExtension) throws Exception {
         TransportOptions serverSslOptions = new TransportOptions();
-        serverSslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
-        serverSslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+        serverSslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
+        serverSslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
         serverSslOptions.setKeyStorePassword(PASSWORD);
         serverSslOptions.setTrustStorePassword(PASSWORD);
         serverSslOptions.setVerifyHost(false);
@@ -410,8 +408,8 @@ public class SslIntegrationTest extends QpidJmsTestCase {
 
     private void doConnectionWithSslContextOverrideAndURIConfig(SSLContext clientContext, String expectedDN) throws Exception {
         TransportOptions serverSslOptions = new TransportOptions();
-        serverSslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
-        serverSslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+        serverSslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
+        serverSslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
         serverSslOptions.setKeyStorePassword(PASSWORD);
         serverSslOptions.setTrustStorePassword(PASSWORD);
         serverSslOptions.setVerifyHost(false);
@@ -493,13 +491,13 @@ public class SslIntegrationTest extends QpidJmsTestCase {
     public void testConfigurePkcs12StoresWithSslSystemProperties() throws Exception {
         // Set properties and expect connection as Client1
         setSslSystemPropertiesForCurrentTest(CLIENT_PKCS12_KEYSTORE, CUSTOM_STORE_TYPE_PKCS12, PASSWORD, CLIENT_PKCS12_TRUSTSTORE, CUSTOM_STORE_TYPE_PKCS12, PASSWORD);
-        doConfigureStoresWithSslSystemPropertiesTestImpl(CLIENT_DN, true);
+        doConfigureStoresWithSslSystemPropertiesTestImpl(CLIENT_DN);
     }
 
     @Test(timeout = 30000)
     public void testNonSslConnectionFailsToSslServer() throws Exception {
         TransportOptions serverOptions = new TransportOptions();
-        serverOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        serverOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         serverOptions.setKeyStorePassword(PASSWORD);
         serverOptions.setVerifyHost(false);
 
@@ -537,27 +535,12 @@ public class SslIntegrationTest extends QpidJmsTestCase {
     }
 
     private void doConfigureStoresWithSslSystemPropertiesTestImpl(String expectedDN) throws Exception {
-        doConfigureStoresWithSslSystemPropertiesTestImpl(expectedDN, false);
-    }
-
-    private void doConfigureStoresWithSslSystemPropertiesTestImpl(String expectedDN, boolean usePkcs12Store) throws Exception {
         TransportOptions serverSslOptions = new TransportOptions();
-
-        if (!usePkcs12Store) {
-            serverSslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
-            serverSslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
-            serverSslOptions.setKeyStorePassword(PASSWORD);
-            serverSslOptions.setTrustStorePassword(PASSWORD);
-            serverSslOptions.setVerifyHost(false);
-        } else {
-            serverSslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
-            serverSslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
-            serverSslOptions.setKeyStoreType(CUSTOM_STORE_TYPE_PKCS12);
-            serverSslOptions.setTrustStoreType(CUSTOM_STORE_TYPE_PKCS12);
-            serverSslOptions.setKeyStorePassword(PASSWORD);
-            serverSslOptions.setTrustStorePassword(PASSWORD);
-            serverSslOptions.setVerifyHost(false);
-        }
+        serverSslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
+        serverSslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
+        serverSslOptions.setKeyStorePassword(PASSWORD);
+        serverSslOptions.setTrustStorePassword(PASSWORD);
+        serverSslOptions.setVerifyHost(false);
 
         SSLContext serverSslContext = TransportSupport.createJdkSslContext(serverSslOptions);
 
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/WsIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/WsIntegrationTest.java
index 6d5e045..b7a4698 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/WsIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/WsIntegrationTest.java
@@ -35,13 +35,13 @@ import org.junit.Test;
 
 public class WsIntegrationTest extends QpidJmsTestCase {
 
-    private static final String BROKER_JKS_KEYSTORE = "src/test/resources/broker-jks.keystore";
+    private static final String BROKER_PKCS12_KEYSTORE = "src/test/resources/broker-pkcs12.keystore";
     private static final String PASSWORD = "password";
 
     @Test(timeout = 30000)
     public void testNonSslWebSocketConnectionFailsToSslServer() throws Exception {
         TransportOptions serverOptions = new TransportOptions();
-        serverOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        serverOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         serverOptions.setKeyStorePassword(PASSWORD);
         serverOptions.setVerifyHost(false);
 
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverWithAmqpOpenProvidedServerListIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverWithAmqpOpenProvidedServerListIntegrationTest.java
index 0baed85..01ecbf8 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverWithAmqpOpenProvidedServerListIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverWithAmqpOpenProvidedServerListIntegrationTest.java
@@ -55,8 +55,8 @@ public class FailoverWithAmqpOpenProvidedServerListIntegrationTest extends QpidJ
 
     private static final Logger LOG = LoggerFactory.getLogger(FailoverWithAmqpOpenProvidedServerListIntegrationTest.class);
 
-    private static final String BROKER_JKS_KEYSTORE = "src/test/resources/broker-jks.keystore";
-    private static final String BROKER_JKS_TRUSTSTORE = "src/test/resources/broker-jks.truststore";
+    private static final String BROKER_PKCS12_KEYSTORE = "src/test/resources/broker-pkcs12.keystore";
+    private static final String BROKER_PKCS12_TRUSTSTORE = "src/test/resources/broker-pkcs12.truststore";
     private static final String PASSWORD = "password";
     private static final String CLIENT_JKS_KEYSTORE = "src/test/resources/client-jks.keystore";
     private static final String CLIENT_JKS_TRUSTSTORE = "src/test/resources/client-jks.truststore";
@@ -400,8 +400,8 @@ public class FailoverWithAmqpOpenProvidedServerListIntegrationTest extends QpidJ
     @Test(timeout = 20000)
     public void testFailoverUsingSSLConfiguredBySystemProperties() throws Exception {
         TransportOptions serverSslOptions = new TransportOptions();
-        serverSslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
-        serverSslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+        serverSslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
+        serverSslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
         serverSslOptions.setKeyStorePassword(PASSWORD);
         serverSslOptions.setTrustStorePassword(PASSWORD);
         serverSslOptions.setVerifyHost(false);
@@ -509,7 +509,7 @@ public class FailoverWithAmqpOpenProvidedServerListIntegrationTest extends QpidJ
     @Test(timeout = 20000)
     public void testFailoverUsingSSLConfiguredByTransportOptions() throws Exception {
         TransportOptions sslOptions = new TransportOptions();
-        sslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        sslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         sslOptions.setKeyStorePassword(PASSWORD);
         sslOptions.setVerifyHost(false);
 
@@ -628,7 +628,7 @@ public class FailoverWithAmqpOpenProvidedServerListIntegrationTest extends QpidJ
     @Test(timeout = 20000)
     public void testFailoverUsingSSLConfiguredByNestedTransportOptions() throws Exception {
         TransportOptions sslOptions = new TransportOptions();
-        sslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
+        sslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
         sslOptions.setKeyStorePassword(PASSWORD);
         sslOptions.setVerifyHost(false);
 
@@ -747,8 +747,8 @@ public class FailoverWithAmqpOpenProvidedServerListIntegrationTest extends QpidJ
     @Test(timeout = 20000)
     public void testFailoverUsingSSLConfiguredByCustomSSLContext() throws Exception {
         TransportOptions serverSslOptions = new TransportOptions();
-        serverSslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
-        serverSslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+        serverSslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
+        serverSslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
         serverSslOptions.setKeyStorePassword(PASSWORD);
         serverSslOptions.setTrustStorePassword(PASSWORD);
         serverSslOptions.setVerifyHost(false);
@@ -886,8 +886,8 @@ public class FailoverWithAmqpOpenProvidedServerListIntegrationTest extends QpidJ
     private void doTestFailoverHandlingOfInsecureRedirectAdvertisement(boolean allow) throws Exception {
 
         TransportOptions serverSslOptions = new TransportOptions();
-        serverSslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
-        serverSslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+        serverSslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
+        serverSslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
         serverSslOptions.setKeyStorePassword(PASSWORD);
         serverSslOptions.setTrustStorePassword(PASSWORD);
         serverSslOptions.setVerifyHost(false);
@@ -993,8 +993,8 @@ public class FailoverWithAmqpOpenProvidedServerListIntegrationTest extends QpidJ
     private void doTestFailoverAcceptsUpdateUsingTransportSchemes(String transportScheme, String expected) throws Exception {
 
         TransportOptions serverSslOptions = new TransportOptions();
-        serverSslOptions.setKeyStoreLocation(BROKER_JKS_KEYSTORE);
-        serverSslOptions.setTrustStoreLocation(BROKER_JKS_TRUSTSTORE);
+        serverSslOptions.setKeyStoreLocation(BROKER_PKCS12_KEYSTORE);
+        serverSslOptions.setTrustStoreLocation(BROKER_PKCS12_TRUSTSTORE);
         serverSslOptions.setKeyStorePassword(PASSWORD);
         serverSslOptions.setTrustStorePassword(PASSWORD);
         serverSslOptions.setVerifyHost(false);
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSupportTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSupportTest.java
index e4e7888..cac5c90 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSupportTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSupportTest.java
@@ -50,13 +50,9 @@ public class TransportSupportTest extends QpidJmsTestCase {
 
     public static final String PASSWORD = "password";
 
-    public static final String BROKER_JKS_KEYSTORE = "src/test/resources/broker-jks.keystore";
-    public static final String BROKER_JKS_TRUSTSTORE = "src/test/resources/broker-jks.truststore";
     public static final String CLIENT_JKS_KEYSTORE = "src/test/resources/client-jks.keystore";
     public static final String CLIENT_JKS_TRUSTSTORE = "src/test/resources/client-jks.truststore";
 
-    public static final String BROKER_JCEKS_KEYSTORE = "src/test/resources/broker-jceks.keystore";
-    public static final String BROKER_JCEKS_TRUSTSTORE = "src/test/resources/broker-jceks.truststore";
     public static final String CLIENT_JCEKS_KEYSTORE = "src/test/resources/client-jceks.keystore";
     public static final String CLIENT_JCEKS_TRUSTSTORE = "src/test/resources/client-jceks.truststore";
 
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportTest.java
index 1205587..d54db24 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportTest.java
@@ -57,9 +57,9 @@ public class NettySslTransportTest extends NettyTcpTransportTest {
     private static final Logger LOG = LoggerFactory.getLogger(NettySslTransportTest.class);
 
     public static final String PASSWORD = "password";
-    public static final String SERVER_KEYSTORE = "src/test/resources/broker-jks.keystore";
-    public static final String SERVER_TRUSTSTORE = "src/test/resources/broker-jks.truststore";
-    public static final String SERVER_WRONG_HOST_KEYSTORE = "src/test/resources/broker-wrong-host-jks.keystore";
+    public static final String SERVER_KEYSTORE = "src/test/resources/broker-pkcs12.keystore";
+    public static final String SERVER_TRUSTSTORE = "src/test/resources/broker-pkcs12.truststore";
+    public static final String SERVER_WRONG_HOST_KEYSTORE = "src/test/resources/broker-wrong-host-pkcs12.keystore";
     public static final String CLIENT_KEYSTORE = "src/test/resources/client-jks.keystore";
     public static final String CLIENT_MULTI_KEYSTORE = "src/test/resources/client-multiple-keys-jks.keystore";
     public static final String CLIENT_TRUSTSTORE = "src/test/resources/client-jks.truststore";
@@ -391,7 +391,6 @@ public class NettySslTransportTest extends NettyTcpTransportTest {
         options.setKeyStorePassword(PASSWORD);
         options.setTrustStoreLocation(SERVER_TRUSTSTORE);
         options.setTrustStorePassword(PASSWORD);
-        options.setStoreType(KEYSTORE_TYPE);
         options.setVerifyHost(false);
 
         return options;
diff --git a/qpid-jms-client/src/test/resources/README.txt b/qpid-jms-client/src/test/resources/README.txt
index 8e7b215..8b3048b 100644
--- a/qpid-jms-client/src/test/resources/README.txt
+++ b/qpid-jms-client/src/test/resources/README.txt
@@ -21,26 +21,19 @@ keytool -storetype pkcs12 -keystore ca-pkcs12.keystore -storepass password -alia
 keytool -storetype pkcs12 -keystore broker-pkcs12.keystore -storepass password -keypass password -importcert -alias ca -file ca.crt -noprompt
 keytool -storetype pkcs12 -keystore broker-pkcs12.keystore -storepass password -keypass password -importcert -alias broker -file broker.crt
 
-# Create some alternative keystore types for testing:
-# ---------------------------------------------------
-keytool -importkeystore -srckeystore broker-pkcs12.keystore -destkeystore broker-jceks.keystore -srcstoretype pkcs12 -deststoretype jceks -srcstorepass password -deststorepass password
-keytool -importkeystore -srckeystore broker-pkcs12.keystore -destkeystore broker-jks.keystore -srcstoretype pkcs12 -deststoretype jks -srcstorepass password -deststorepass password
-
 # Create a key pair for the broker with an unexpected hostname, and sign it with the CA:
 # --------------------------------------------------------------------------------------
-keytool -storetype jks -keystore broker-wrong-host-jks.keystore -storepass password -keypass password -alias broker-wrong-host -genkey -keyalg "RSA" -keysize 2048 -dname "O=Server,CN=wronghost" -validity 9999 -ext bc=ca:false -ext eku=sA
+keytool -storetype pkcs12 -keystore broker-wrong-host-pkcs12.keystore -storepass password -keypass password -alias broker-wrong-host -genkey -keyalg "RSA" -keysize 2048 -dname "O=Server,CN=wronghost" -validity 9999 -ext bc=ca:false -ext eku=sA
 
-keytool -storetype jks -keystore broker-wrong-host-jks.keystore -storepass password -alias broker-wrong-host -certreq -file broker-wrong-host.csr
+keytool -storetype pkcs12 -keystore broker-wrong-host-pkcs12.keystore -storepass password -alias broker-wrong-host -certreq -file broker-wrong-host.csr
 keytool -storetype pkcs12 -keystore ca-pkcs12.keystore -storepass password -alias ca -gencert -rfc -infile broker-wrong-host.csr -outfile broker-wrong-host.crt -validity 9999 -ext bc=ca:false -ext eku=sA
 
-keytool -storetype jks -keystore broker-wrong-host-jks.keystore -storepass password -keypass password -importcert -alias ca -file ca.crt -noprompt
-keytool -storetype jks -keystore broker-wrong-host-jks.keystore -storepass password -keypass password -importcert -alias broker-wrong-host -file broker-wrong-host.crt
+keytool -storetype pkcs12 -keystore broker-wrong-host-pkcs12.keystore -storepass password -keypass password -importcert -alias ca -file ca.crt -noprompt
+keytool -storetype pkcs12 -keystore broker-wrong-host-pkcs12.keystore -storepass password -keypass password -importcert -alias broker-wrong-host -file broker-wrong-host.crt
 
-# Create trust stores for the broker, import the CA cert:
+# Create trust store for the broker, import the CA cert:
 # -------------------------------------------------------
 keytool -storetype pkcs12 -keystore broker-pkcs12.truststore -storepass password -keypass password -importcert -alias ca -file ca.crt -noprompt
-keytool -importkeystore -srckeystore broker-pkcs12.truststore -destkeystore broker-jceks.truststore -srcstoretype pkcs12 -deststoretype jceks -srcstorepass password -deststorepass password
-keytool -importkeystore -srckeystore broker-pkcs12.truststore -destkeystore broker-jks.truststore -srcstoretype pkcs12 -deststoretype jks -srcstorepass password -deststorepass password
 
 # Create a key pair for the client, and sign it with the CA:
 # ----------------------------------------------------------
diff --git a/qpid-jms-client/src/test/resources/broker-jceks.keystore b/qpid-jms-client/src/test/resources/broker-jceks.keystore
deleted file mode 100644
index b5a155e..0000000
Binary files a/qpid-jms-client/src/test/resources/broker-jceks.keystore and /dev/null differ
diff --git a/qpid-jms-client/src/test/resources/broker-jceks.truststore b/qpid-jms-client/src/test/resources/broker-jceks.truststore
deleted file mode 100644
index 54a9fd5..0000000
Binary files a/qpid-jms-client/src/test/resources/broker-jceks.truststore and /dev/null differ
diff --git a/qpid-jms-client/src/test/resources/broker-jks.keystore b/qpid-jms-client/src/test/resources/broker-jks.keystore
deleted file mode 100644
index a6644f0..0000000
Binary files a/qpid-jms-client/src/test/resources/broker-jks.keystore and /dev/null differ
diff --git a/qpid-jms-client/src/test/resources/broker-jks.truststore b/qpid-jms-client/src/test/resources/broker-jks.truststore
deleted file mode 100644
index 60031b6..0000000
Binary files a/qpid-jms-client/src/test/resources/broker-jks.truststore and /dev/null differ
diff --git a/qpid-jms-client/src/test/resources/broker-wrong-host-pkcs12.keystore b/qpid-jms-client/src/test/resources/broker-wrong-host-pkcs12.keystore
new file mode 100644
index 0000000..6fa270b
Binary files /dev/null and b/qpid-jms-client/src/test/resources/broker-wrong-host-pkcs12.keystore differ

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


[qpid-jms] 15/16: QPIDJMS-555, QPIDJMS-556: update Netty to 4.1.72 and netty-tcnative to 2.0.46

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 5c829bf4c237ac1e3e850a9b0a37d52538350852
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Tue Dec 14 13:37:09 2021 +0000

    QPIDJMS-555, QPIDJMS-556: update Netty to 4.1.72 and netty-tcnative to 2.0.46
    
    (cherry picked from commits a758f10e561ad00f8eacc4a826adeafeb417b64c , df920b6f92ceba287a6dd2175d1b5bc05d2fab8c and 96cbdac2ec6c8ff3ce7d6505d3bfc0df9e6846c9)
---
 pom.xml                   | 14 ++++++++++++--
 qpid-jms-examples/pom.xml |  8 ++++++++
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index 6f4857a..c4d2984 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,7 +37,7 @@
   <properties>
     <!-- Dependency Versions for this Project -->
     <proton-version>0.33.10</proton-version>
-    <netty-version>4.1.63.Final</netty-version>
+    <netty-version>4.1.72.Final</netty-version>
     <slf4j-version>1.7.30</slf4j-version>
     <log4j-slf4j-version>2.14.1</log4j-slf4j-version>
     <geronimo.jms.2.spec.version>1.0-alpha-2</geronimo.jms.2.spec.version>
@@ -46,7 +46,7 @@
     <opentracing-version>0.33.0</opentracing-version>
 
     <!-- Test Dependency Versions for this Project -->
-    <netty-tcnative-version>2.0.39.Final</netty-tcnative-version>
+    <netty-tcnative-version>2.0.46.Final</netty-tcnative-version>
     <activemq-version>5.16.3</activemq-version>
     <junit-version>4.13.2</junit-version>
     <fuse-joram-tests-version>1.0</fuse-joram-tests-version>
@@ -159,12 +159,22 @@
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
+        <artifactId>netty-transport-classes-epoll</artifactId>
+        <version>${netty-version}</version>
+      </dependency>
+      <dependency>
+        <groupId>io.netty</groupId>
         <artifactId>netty-transport-native-epoll</artifactId>
         <version>${netty-version}</version>
         <classifier>${netty-transport-native-epoll-classifier}</classifier>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
+        <artifactId>netty-transport-classes-kqueue</artifactId>
+        <version>${netty-version}</version>
+      </dependency>
+      <dependency>
+        <groupId>io.netty</groupId>
         <artifactId>netty-transport-native-kqueue</artifactId>
         <version>${netty-version}</version>
         <classifier>${netty-transport-native-kqueue-classifier}</classifier>
diff --git a/qpid-jms-examples/pom.xml b/qpid-jms-examples/pom.xml
index 9285aec..6339e1f 100644
--- a/qpid-jms-examples/pom.xml
+++ b/qpid-jms-examples/pom.xml
@@ -70,10 +70,18 @@
           <exclusions>
             <exclusion>
               <groupId>io.netty</groupId>
+              <artifactId>netty-transport-classes-epoll</artifactId>
+            </exclusion>
+            <exclusion>
+              <groupId>io.netty</groupId>
               <artifactId>netty-transport-native-epoll</artifactId>
             </exclusion>
             <exclusion>
               <groupId>io.netty</groupId>
+              <artifactId>netty-transport-classes-kqueue</artifactId>
+            </exclusion>
+            <exclusion>
+              <groupId>io.netty</groupId>
               <artifactId>netty-transport-native-kqueue</artifactId>
             </exclusion>
           </exclusions>

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


[qpid-jms] 03/16: NO-JIRA: fix warnings during assembly creation

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 69385138b53af66f83d88185450e4fe5bbff120e
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Wed May 26 15:22:28 2021 +0100

    NO-JIRA: fix warnings during assembly creation
    
    (cherry picked from commit c7397e6e2bd38ed1ece496d7a07c101859c6ddde)
---
 apache-qpid-jms/src/main/assembly/bin.xml | 2 +-
 apache-qpid-jms/src/main/assembly/src.xml | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/apache-qpid-jms/src/main/assembly/bin.xml b/apache-qpid-jms/src/main/assembly/bin.xml
index 8ad805d..b2e86c8 100644
--- a/apache-qpid-jms/src/main/assembly/bin.xml
+++ b/apache-qpid-jms/src/main/assembly/bin.xml
@@ -30,7 +30,7 @@
   <fileSets>
     <fileSet>
       <directory>${basedir}/src/main/assembly/</directory>
-      <outputDirectory>/</outputDirectory>
+      <outputDirectory>${file.separator}</outputDirectory>
       <includes>
         <include>README.txt</include>
         <include>NOTICE</include>
diff --git a/apache-qpid-jms/src/main/assembly/src.xml b/apache-qpid-jms/src/main/assembly/src.xml
index 91061b8..8a1e62a 100644
--- a/apache-qpid-jms/src/main/assembly/src.xml
+++ b/apache-qpid-jms/src/main/assembly/src.xml
@@ -28,7 +28,7 @@
     <!-- main project directory structure -->
     <fileSet>
       <directory>${project.basedir}/..</directory>
-      <outputDirectory>/</outputDirectory>
+      <outputDirectory>${file.separator}</outputDirectory>
       <useDefaultExcludes>true</useDefaultExcludes>
       <excludes>
         <!-- build output -->
@@ -73,7 +73,7 @@
     </fileSet>
     <fileSet>
       <directory>${project.build.directory}/maven-shared-archive-resources/META-INF</directory>
-      <outputDirectory>/</outputDirectory>
+      <outputDirectory>${file.separator}</outputDirectory>
       <includes>
         <!-- Only include the generated dependencies file, we maintain license and notice ourselves -->
         <include>DEPENDENCIES</include>

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


[qpid-jms] 09/16: QPIDJMS-544: log the variable value rather than constant, ensure correctness should the former ever be updated, tweak message for clarity

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit f7dee1b407ef6b8f6939c4569581a8c9eda63195
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Mon Jul 26 11:08:55 2021 +0100

    QPIDJMS-544: log the variable value rather than constant, ensure correctness should the former ever be updated, tweak message for clarity
    
    (cherry picked from commit f5f3cd95e3e7909af45a8e3532b9bb0adea9760a)
---
 .../main/java/org/apache/qpid/jms/policy/JmsDefaultPrefetchPolicy.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/policy/JmsDefaultPrefetchPolicy.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/policy/JmsDefaultPrefetchPolicy.java
index c01da2c..df1fde7 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/policy/JmsDefaultPrefetchPolicy.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/policy/JmsDefaultPrefetchPolicy.java
@@ -220,7 +220,7 @@ public class JmsDefaultPrefetchPolicy implements JmsPrefetchPolicy {
     private int getMaxPrefetchLimit(int value) {
         int result = Math.min(value, maxPrefetchSize);
         if (result < value) {
-            LOG.warn("maximum prefetch limit has been reset from " + value + " to " + MAX_PREFETCH_SIZE);
+            LOG.warn("prefetch limit has been reset from " + value + " to the maximum " + maxPrefetchSize);
         }
         return result;
     }

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


[qpid-jms] 12/16: QPIDJMS-549: use retained ref that isnt nulled during failover, and avoid multiple signals to the related code that let it NPE more than once

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 763316dc3028795d463c74a2e0ea1f41fa9de7bd
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Fri Oct 15 17:37:08 2021 +0100

    QPIDJMS-549: use retained ref that isnt nulled during failover, and avoid multiple signals to the related code that let it NPE more than once
    
    (cherry picked from commit 2f6bde0a388cd1431cacb154ba55a78c22e263af)
---
 .../qpid/jms/provider/amqp/AmqpProvider.java       | 22 ++++--
 .../jms/provider/failover/FailoverProvider.java    |  5 +-
 ...hAmqpOpenProvidedServerListIntegrationTest.java | 88 ++++++++++++++++++++++
 .../qpid/jms/test/testpeer/TestAmqpPeer.java       | 15 +++-
 4 files changed, 122 insertions(+), 8 deletions(-)

diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
index 8058678..d7f2f35 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
@@ -448,15 +448,21 @@ public class AmqpProvider implements Provider, TransportListener , AmqpResourceP
 
                         AmqpConnectionBuilder builder = new AmqpConnectionBuilder(AmqpProvider.this, connectionInfo);
                         connectionRequest = new AsyncResult() {
+                            AtomicBoolean signalled = new AtomicBoolean();
+
                             @Override
                             public void onSuccess() {
-                                fireConnectionEstablished();
-                                request.onSuccess();
+                                if (signalled.compareAndSet(false, true)) {
+                                    fireConnectionEstablished();
+                                    request.onSuccess();
+                                }
                             }
 
                             @Override
                             public void onFailure(ProviderException result) {
-                                request.onFailure(result);
+                                if (signalled.compareAndSet(false, true)) {
+                                    request.onFailure(result);
+                                }
                             }
 
                             @Override
@@ -1470,12 +1476,14 @@ public class AmqpProvider implements Provider, TransportListener , AmqpResourceP
 
     @Override
     public List<URI> getAlternateURIs() {
-        List<URI> alternates = new ArrayList<>();
+        List<URI> alternates = null;
 
         if (connection != null) {
             // If there are failover servers in the open then we signal that to the listeners
             List<AmqpRedirect> failoverList = connection.getProperties().getFailoverServerList();
             if (!failoverList.isEmpty()) {
+                alternates = new ArrayList<>();
+
                 for (AmqpRedirect redirect : failoverList) {
                     try {
                         alternates.add(redirect.toURI());
@@ -1486,7 +1494,11 @@ public class AmqpProvider implements Provider, TransportListener , AmqpResourceP
             }
         }
 
-        return alternates;
+        if (alternates != null) {
+            return alternates;
+        } else {
+            return Collections.emptyList();
+        }
     }
 
     public org.apache.qpid.proton.engine.Transport getProtonTransport() {
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
index 238e3fc..ce13e7b 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
@@ -940,8 +940,9 @@ public class FailoverProvider extends DefaultProviderListener implements Provide
         Provider provider = this.provider;
         if (provider != null) {
             return provider.getAlternateURIs();
+        } else {
+            return Collections.emptyList();
         }
-        return null;
     };
 
     @Override
@@ -1296,7 +1297,7 @@ public class FailoverProvider extends DefaultProviderListener implements Provide
                     LOG.debug("Request received error: {}", result.getMessage());
                     // If we managed to receive an Open frame it might contain
                     // a failover update so process it before handling the error.
-                    processAlternates(provider.getAlternateURIs());
+                    processAlternates(activeProvider.getAlternateURIs());
                     handleProviderFailure(activeProvider, ProviderExceptionSupport.createOrPassthroughFatal(result));
                 }
             } finally {
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverWithAmqpOpenProvidedServerListIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverWithAmqpOpenProvidedServerListIntegrationTest.java
index 01ecbf8..742afcc 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverWithAmqpOpenProvidedServerListIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverWithAmqpOpenProvidedServerListIntegrationTest.java
@@ -18,6 +18,7 @@ package org.apache.qpid.jms.provider.failover;
 
 import static org.apache.qpid.jms.provider.amqp.AmqpSupport.SCHEME;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
@@ -41,6 +42,7 @@ import org.apache.qpid.jms.JmsDefaultConnectionListener;
 import org.apache.qpid.jms.test.QpidJmsTestCase;
 import org.apache.qpid.jms.test.testpeer.TestAmqpPeer;
 import org.apache.qpid.jms.test.testpeer.basictypes.AmqpError;
+import org.apache.qpid.jms.test.testpeer.basictypes.ConnectionError;
 import org.apache.qpid.jms.transports.TransportOptions;
 import org.apache.qpid.jms.transports.TransportSupport;
 import org.apache.qpid.jms.util.PropertyUtil;
@@ -393,6 +395,92 @@ public class FailoverWithAmqpOpenProvidedServerListIntegrationTest extends QpidJ
         }
     }
 
+    @Test(timeout = 20000)
+    public void testFailoverHandlesRemoteCloseWithRedirectDuringConnectionSessionEstablishment() throws Exception {
+        try (TestAmqpPeer primaryPeer = new TestAmqpPeer();
+             TestAmqpPeer backupPeer = new TestAmqpPeer();) {
+
+            final URI primaryPeerURI = createPeerURI(primaryPeer);
+            final URI backupPeerURI = createPeerURI(backupPeer);
+            LOG.info("Primary is at {}: Backup peer is at: {}", primaryPeerURI, backupPeerURI);
+
+            final CountDownLatch connectedToPrimary = new CountDownLatch(1);
+            final CountDownLatch connectedToBackup = new CountDownLatch(1);
+
+            Map<Symbol, Object> redirectInfo = new HashMap<Symbol, Object>();
+            redirectInfo.put(NETWORK_HOST, "localhost");
+            redirectInfo.put(PORT, backupPeer.getServerPort());
+
+            // Have the failover-server-list containing a third (non-existent) servers details
+            String thirdPeerTestHost = "test-host";
+            int thirdPeerTestPort = 45678;
+
+            Map<Symbol,Object> thirdPeerTestDetails = new HashMap<>();
+            thirdPeerTestDetails.put(NETWORK_HOST, thirdPeerTestHost);
+            thirdPeerTestDetails.put(PORT, thirdPeerTestPort);
+
+            List<Map<Symbol, Object>> failoverServerList = new ArrayList<Map<Symbol, Object>>();
+            failoverServerList.add(thirdPeerTestDetails);
+
+            Map<Symbol,Object> forcingPeerConnectionProperties = new HashMap<Symbol, Object>();
+            forcingPeerConnectionProperties.put(FAILOVER_SERVER_LIST, failoverServerList);
+
+            primaryPeer.expectSaslAnonymous();
+            primaryPeer.expectOpen(true);
+            // Prepare a bare Open without any failure hint, suggesting success,
+            // but defer writing it until the Close is ready to send too.
+            primaryPeer.sendOpenFrameAfterLastAction(true, forcingPeerConnectionProperties);
+            // Then send a redirecting Close, prompting the Open to actually be written.
+            primaryPeer.remotelyCloseConnection(false, ConnectionError.REDIRECT, "Server is going away", redirectInfo);
+            primaryPeer.expectBegin(false);// From the connection-session, prompted by 'successful' Open.
+            primaryPeer.expectClose(false);
+
+            backupPeer.expectSaslAnonymous();
+            backupPeer.expectOpen();
+            backupPeer.expectBegin();
+
+            final JmsConnection connection = establishAnonymousConnecton(null, primaryPeer);
+            connection.addConnectionListener(new JmsDefaultConnectionListener() {
+                @Override
+                public void onConnectionEstablished(URI remoteURI) {
+                    LOG.info("Connection Established: {}", remoteURI);
+                    if (primaryPeerURI.equals(remoteURI)) {
+                        connectedToPrimary.countDown();
+                    }
+
+                    if (backupPeerURI.equals(remoteURI)) {
+                        connectedToBackup.countDown();
+                    }
+                }
+            });
+
+            // Verify the existing failover URIs are as expected, the initial peer only
+            List<URI> beforeOpenFailoverURIs = new ArrayList<>();
+            beforeOpenFailoverURIs.add(primaryPeerURI);
+
+            assertFailoverURIList(connection, beforeOpenFailoverURIs);
+
+            connection.start();
+
+            primaryPeer.waitForAllHandlersToComplete(3000);
+
+            assertTrue("Should connect to backup peer", connectedToBackup.await(5, TimeUnit.SECONDS));
+            assertFalse("Should not connect to primary peer", connectedToPrimary.await(10, TimeUnit.MILLISECONDS));
+
+            // Verify the failover URIs are as expected, now containing initial peer, its advertised third test-details peer, and the peer it then redirected to.
+            List<URI> afterOpenFailoverURIs = new ArrayList<>();
+            afterOpenFailoverURIs.add(primaryPeerURI);
+            afterOpenFailoverURIs.add(new URI("amqp://" + thirdPeerTestHost + ":" + thirdPeerTestPort));
+            afterOpenFailoverURIs.add(backupPeerURI);
+
+            assertFailoverURIList(connection, afterOpenFailoverURIs);
+
+            backupPeer.expectClose();
+            connection.close();
+            backupPeer.waitForAllHandlersToComplete(1000);
+        }
+    }
+
     /*
      * Verify that when the Open frame contains a failover server list and we are connected via SSL configured with
      * system properties the redirect uses those properties to connect to the new host.
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
index 388323b..69581bf 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
@@ -928,11 +928,24 @@ public class TestAmqpPeer implements AutoCloseable
     }
 
     public void sendPreemptiveServerOpenFrame() {
+        sendOpenFrameAfterLastAction(false, null);
+    }
+
+    public void sendOpenFrameAfterLastAction(boolean deferWrite, Map<Symbol, Object> serverProperties) {
         // Arrange to send the Open frame after the previous handler
         OpenFrame open = createOpenFrame();
+        if (serverProperties != null) {
+            open.setProperties(serverProperties);
+        }
 
         CompositeAmqpPeerRunnable comp = insertCompsiteActionForLastHandler();
-        comp.add(new FrameSender(this, FrameType.AMQP, 0, open, null));
+
+        FrameSender openSender = new FrameSender(this, FrameType.AMQP, 0, open, null);
+        if (deferWrite) {
+            openSender.setDeferWrite(true);
+        }
+
+        comp.add(openSender);
     }
 
     public void expectOpen(Symbol[] desiredCapabilities, Symbol[] serverCapabilities,

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


[qpid-jms] 06/16: QPIDJMS-542: allow setting URI used for default connection factories via the context provider url property.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 73886a8c9852fc8ee57bf922d91b71ad89844c26
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Mon Jun 28 14:36:02 2021 +0100

    QPIDJMS-542: allow setting URI used for default connection factories via the context provider url property.
    
    Alternative impl with tests based in part on those from Michael Andre Pearce <mi...@me.com> in PR.
    This closes #41.
    
    (cherry picked from commit 531a48eb4edfb609df6a054d999296e6b65ce53f)
---
 .../qpid/jms/jndi/JmsInitialContextFactory.java    | 23 ++++++++++-
 .../jms/jndi/JmsInitialContextFactoryTest.java     | 47 ++++++++++++++++++++++
 2 files changed, 68 insertions(+), 2 deletions(-)

diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JmsInitialContextFactory.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JmsInitialContextFactory.java
index e55970c..a5d4e83 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JmsInitialContextFactory.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JmsInitialContextFactory.java
@@ -16,10 +16,13 @@
  */
 package org.apache.qpid.jms.jndi;
 
+import static org.apache.qpid.jms.JmsConnectionFactory.REMOTE_URI_PROP;
+
 import java.io.BufferedInputStream;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.Collections;
@@ -40,6 +43,7 @@ import javax.naming.spi.InitialContextFactory;
 import org.apache.qpid.jms.JmsConnectionFactory;
 import org.apache.qpid.jms.JmsQueue;
 import org.apache.qpid.jms.JmsTopic;
+import org.apache.qpid.jms.provider.ProviderFactory;
 import org.apache.qpid.jms.util.VariableExpansion;
 
 public class JmsInitialContextFactory implements InitialContextFactory {
@@ -61,7 +65,6 @@ public class JmsInitialContextFactory implements InitialContextFactory {
         Hashtable<Object, Object> environmentCopy = new Hashtable<Object, Object>();
         environmentCopy.putAll(environment);
 
-        // Check for an *optional* properties file use to augment the environment
         String location = null;
         if (environmentCopy.containsKey(Context.PROVIDER_URL)) {
             location = (String) environment.get(Context.PROVIDER_URL);
@@ -69,8 +72,24 @@ public class JmsInitialContextFactory implements InitialContextFactory {
             location = System.getProperty(Context.PROVIDER_URL);
         }
 
+        // If present, check if PROVIDER_URL is a client URI, by seeing if we find a factory for it.
+        // If we do, set it as the URI to be used for the default connection factories.
+        boolean providerUri = false;
+        if (location != null) {
+            try {
+                String expanded = expand(location, environmentCopy);
+                if (ProviderFactory.findProviderFactory(new URI(expanded)) != null) {
+                    environmentCopy.put(CONNECTION_FACTORY_DEFAULT_KEY_PREFIX + REMOTE_URI_PROP, expanded);
+                    providerUri = true;
+                }
+            } catch (IOException | URISyntaxException e) {
+                // Not a valid URI or didnt find a client factory for it.
+            }
+        }
+
         try {
-            if (location != null) {
+            // If it wasnt a client URI, check for *optional* properties file to augment given environment
+            if (!providerUri && location != null) {
                 BufferedInputStream inputStream;
 
                 try {
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/jndi/JmsInitialContextFactoryTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/jndi/JmsInitialContextFactoryTest.java
index ee7bf74..e67a284 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/jndi/JmsInitialContextFactoryTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/jndi/JmsInitialContextFactoryTest.java
@@ -616,4 +616,51 @@ public class JmsInitialContextFactoryTest extends QpidJmsTestCase {
 
         assertEquals("Unexpected name for returned queue", variableValue, ((JmsTopic) o).getTopicName());
     }
+
+    @Test
+    public void testVariableExpansionWhenDefaultFactoryUriSetViaProviderURL() throws NamingException {
+        String variable = "myTestHostnameVariable";
+        String hostValue = "myTestHostnameValue";
+
+        setTestSystemProperty(variable, hostValue);
+
+        doSetDefaultFactoryUriViaProviderURLTestImpl("amqp://${"+ variable +"}:5672", "amqp://"+ hostValue +":5672");
+        doSetDefaultFactoryUriViaProviderURLTestImpl("amqps://${" + variable +"}:5672", "amqps://" + hostValue +":5672");
+        doSetDefaultFactoryUriViaProviderURLTestImpl("failover:(amqp://${"+ variable +"}1:5672,amqp://${"+ variable +"}2:5672)",
+                                                     "failover:(amqp://"+ hostValue +"1:5672,amqp://"+ hostValue +"2:5672)");
+        doSetDefaultFactoryUriViaProviderURLTestImpl("failover:(amqps://${"+ variable +"}1:5672,amqps://${"+ variable +"}2:5672)",
+                                                     "failover:(amqps://"+ hostValue +"1:5672,amqps://"+ hostValue +"2:5672)");
+    }
+
+    private void doSetDefaultFactoryUriViaProviderURLTestImpl(String providerUrl, String expectedUrl) throws NamingException {
+        Properties env = new Properties();
+        env.setProperty(Context.INITIAL_CONTEXT_FACTORY, JmsInitialContextFactory.class.getName());
+        env.setProperty(Context.PROVIDER_URL, providerUrl);
+
+        Context context = createInitialContext(env);
+
+        ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup("ConnectionFactory");
+        ConnectionFactory queueConnectionFactory = (ConnectionFactory) context.lookup("QueueConnectionFactory");
+        ConnectionFactory topicConnectionFactory = (ConnectionFactory) context.lookup("TopicConnectionFactory");
+
+        assertTrue(connectionFactory instanceof JmsConnectionFactory);
+        assertTrue(queueConnectionFactory instanceof JmsConnectionFactory);
+        assertTrue(topicConnectionFactory instanceof JmsConnectionFactory);
+
+        assertEquals(expectedUrl, ((JmsConnectionFactory) connectionFactory).getRemoteURI());
+        assertEquals(expectedUrl, ((JmsConnectionFactory) queueConnectionFactory).getRemoteURI());
+        assertEquals(expectedUrl, ((JmsConnectionFactory) topicConnectionFactory).getRemoteURI());
+    }
+
+    private void doSetDefaultFactoryUriViaProviderURLTestImpl(String providerUrl) throws NamingException {
+        doSetDefaultFactoryUriViaProviderURLTestImpl(providerUrl, providerUrl);
+    }
+
+    @Test
+    public void testProvidingDefaultFactoryRemoteUriViaProviderURL() throws NamingException {
+        doSetDefaultFactoryUriViaProviderURLTestImpl("amqp://host1:5672");
+        doSetDefaultFactoryUriViaProviderURLTestImpl("amqps://host1:5672");
+        doSetDefaultFactoryUriViaProviderURLTestImpl("failover:(amqp://host1:5672,amqp://host2:5672)");
+        doSetDefaultFactoryUriViaProviderURLTestImpl("failover:(amqps://host1:5672,amqps://host2:5672)");
+    }
 }

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


[qpid-jms] 04/16: NO-JIRA: update or exclude some test deps related to kdc bits

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 2cd0ba49a345d43d4a1dcbe6ac5e89406f95c6cf
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Mon Jun 14 15:52:51 2021 +0100

    NO-JIRA: update or exclude some test deps related to kdc bits
    
    (cherry picked from commit 54674793b15014e9f24b35e3302dd3fe43de6533)
---
 pom.xml | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/pom.xml b/pom.xml
index 35b2142..70627a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,6 +54,7 @@
     <mockito-version>3.9.0</mockito-version>
     <hamcrest-version>2.2</hamcrest-version>
     <hadoop-minikdc-version>3.3.0</hadoop-minikdc-version>
+    <commons-io-version>2.10.0</commons-io-version>
 
     <!-- Maven Plugin Versions for this Project -->
     <maven-javacc-plugin-version>2.6</maven-javacc-plugin-version>
@@ -234,6 +235,23 @@
           </exclusion>
         </exclusions>
       </dependency>
+      <dependency>
+        <groupId>commons-io</groupId>
+        <artifactId>commons-io</artifactId>
+        <version>${commons-io-version}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.kerby</groupId>
+        <artifactId>token-provider</artifactId>
+        <scope>test</scope>
+        <exclusions>
+          <exclusion>
+            <groupId>com.nimbusds</groupId>
+            <artifactId>nimbus-jose-jwt</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
     </dependencies>
   </dependencyManagement>
 

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


[qpid-jms] 11/16: NO-JIRA: update GHA build to use Temurin, and JDK 17 instead of 16

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 2e8bb3a7610054d0cd4380de637ed40953f652cc
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Mon Sep 27 16:26:41 2021 +0100

    NO-JIRA: update GHA build to use Temurin, and JDK 17 instead of 16
    
    (cherry picked from commit 1622de679c3c6763db54e9ac506ef2412fbc4481 with fixups)
---
 .github/workflows/build.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 900d8f3..c17ec39 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -8,7 +8,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        java: [ 8, 11, 16 ]
+        java: [ 8, 11, 17 ]
 
     steps:
       - uses: actions/checkout@v2
@@ -23,7 +23,7 @@ jobs:
         uses: actions/setup-java@v2
         with:
           java-version: ${{ matrix.java }}
-          distribution: 'adopt'
+          distribution: 'temurin'
 
       - name: Build
         run: mvn -B clean verify

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


[qpid-jms] 10/16: QPIDJMS-546: update various test dependencies

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 10d5a6c5bbe97be58cee0e6f6af253e9873eb715
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Thu Aug 5 16:32:24 2021 +0100

    QPIDJMS-546: update various test dependencies
    
    (cherry picked from commit fe599e6f8ca6e8a0a7213c02b15700f3d976c978 with fixups)
---
 pom.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index eab27b1..4484e17 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,11 +47,11 @@
 
     <!-- Test Dependency Versions for this Project -->
     <netty-tcnative-version>2.0.39.Final</netty-tcnative-version>
-    <activemq-version>5.15.12</activemq-version>
+    <activemq-version>5.16.3</activemq-version>
     <junit-version>4.13.2</junit-version>
     <fuse-joram-tests-version>1.0</fuse-joram-tests-version>
-    <jetty-version>9.4.22.v20191022</jetty-version>
-    <mockito-version>3.9.0</mockito-version>
+    <jetty-version>9.4.43.v20210629</jetty-version>
+    <mockito-version>3.12.4</mockito-version>
     <hamcrest-version>2.2</hamcrest-version>
     <hadoop-minikdc-version>3.3.0</hadoop-minikdc-version>
     <commons-io-version>2.10.0</commons-io-version>

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


[qpid-jms] 14/16: NO-JIRA: ensure browser tests validate distribution mode

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit d949b2b5f05c257d02cb8159b3dfe008737b6c80
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Wed Nov 10 11:29:04 2021 +0000

    NO-JIRA: ensure browser tests validate distribution mode
    
    (cherry picked from commit a8b1d7ee323582978614ac493bd5d5a9c8233b73)
---
 .../test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
index 69581bf..7d0b41d 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
@@ -67,6 +67,7 @@ import org.apache.qpid.jms.test.testpeer.basictypes.AmqpError;
 import org.apache.qpid.jms.test.testpeer.basictypes.ReceiverSettleMode;
 import org.apache.qpid.jms.test.testpeer.basictypes.Role;
 import org.apache.qpid.jms.test.testpeer.basictypes.SenderSettleMode;
+import org.apache.qpid.jms.test.testpeer.basictypes.StdDistMode;
 import org.apache.qpid.jms.test.testpeer.basictypes.TerminusDurability;
 import org.apache.qpid.jms.test.testpeer.basictypes.TerminusExpiryPolicy;
 import org.apache.qpid.jms.test.testpeer.basictypes.TransactionError;
@@ -1462,7 +1463,10 @@ public class TestAmqpPeer implements AutoCloseable
 
     public void expectQueueBrowserAttach()
     {
-        expectReceiverAttach(notNullValue(), notNullValue(), true);
+        SourceMatcher sourceMatcher = new SourceMatcher();
+        sourceMatcher.withDistributionMode(equalTo(StdDistMode.COPY));
+
+        expectReceiverAttach(notNullValue(), sourceMatcher, true);
     }
 
     public void expectReceiverAttachButDoNotRespond()

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


[qpid-jms] 07/16: NO-JIRA: try to upload archive of surefire logs upon failure

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 4ca8a1fdb586367795bdcf6d0f94072ec5e19e99
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Mon Jul 12 12:43:36 2021 +0100

    NO-JIRA: try to upload archive of surefire logs upon failure
    
    (cherry picked from commit 26350ae2374cd031f5f0f9bd8d83db9e422412bf)
---
 .github/workflows/build.yml | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 71198f8..900d8f3 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -27,3 +27,14 @@ jobs:
 
       - name: Build
         run: mvn -B clean verify
+
+      - name: Archive Test Logs On Failure
+        if: failure()
+        run: tar -czvf surefire-reports-jdk-${{ matrix.java }}.tar.gz **/target/surefire-reports/*
+
+      - name: Upload Test Logs On Failure
+        if: failure()
+        uses: actions/upload-artifact@v2
+        with:
+          name: surefire-reports-jdk-${{ matrix.java }}
+          path: surefire-reports-jdk-${{ matrix.java }}.tar.gz

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


[qpid-jms] 13/16: QPIDJMS-551: update to proton-j 0.33.10

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit e30020ac23c1be8e015507eb63d6425f5aaf5e9f
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Mon Oct 18 14:26:27 2021 +0100

    QPIDJMS-551: update to proton-j 0.33.10
    
    (cherry picked from commit e63f79d1c8a3f7876a61f85ac024f7672a136a81)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 4484e17..6f4857a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,7 @@
 
   <properties>
     <!-- Dependency Versions for this Project -->
-    <proton-version>0.33.8</proton-version>
+    <proton-version>0.33.10</proton-version>
     <netty-version>4.1.63.Final</netty-version>
     <slf4j-version>1.7.30</slf4j-version>
     <log4j-slf4j-version>2.14.1</log4j-slf4j-version>

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


[qpid-jms] 01/16: update version to 0.60.0-SNAPSHOT

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit cd70bf0b038904dd4b2dbaa54afbb38a8604342f
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Tue Dec 14 13:01:43 2021 +0000

    update version to 0.60.0-SNAPSHOT
    
        command used was: mvn release:update-versions -DdevelopmentVersion=0.60.0-SNAPSHOT
---
 apache-qpid-jms/pom.xml                                | 2 +-
 pom.xml                                                | 2 +-
 qpid-jms-client/pom.xml                                | 2 +-
 qpid-jms-discovery/pom.xml                             | 2 +-
 qpid-jms-docs/pom.xml                                  | 2 +-
 qpid-jms-examples/pom.xml                              | 2 +-
 qpid-jms-interop-tests/pom.xml                         | 2 +-
 qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/apache-qpid-jms/pom.xml b/apache-qpid-jms/pom.xml
index f677d81..a0d887c 100644
--- a/apache-qpid-jms/pom.xml
+++ b/apache-qpid-jms/pom.xml
@@ -18,7 +18,7 @@
   <parent>
     <groupId>org.apache.qpid</groupId>
     <artifactId>qpid-jms-parent</artifactId>
-    <version>0.59.1-SNAPSHOT</version>
+    <version>0.60.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/pom.xml b/pom.xml
index 0a20081..35b2142 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
 
   <groupId>org.apache.qpid</groupId>
   <artifactId>qpid-jms-parent</artifactId>
-  <version>0.59.1-SNAPSHOT</version>
+  <version>0.60.0-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>QpidJMS</name>
   <inceptionYear>2013</inceptionYear>
diff --git a/qpid-jms-client/pom.xml b/qpid-jms-client/pom.xml
index b44cc8b..dee9f53 100644
--- a/qpid-jms-client/pom.xml
+++ b/qpid-jms-client/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.qpid</groupId>
     <artifactId>qpid-jms-parent</artifactId>
-    <version>0.59.1-SNAPSHOT</version>
+    <version>0.60.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>qpid-jms-client</artifactId>
diff --git a/qpid-jms-discovery/pom.xml b/qpid-jms-discovery/pom.xml
index aceb0e5..4dc88a4 100644
--- a/qpid-jms-discovery/pom.xml
+++ b/qpid-jms-discovery/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.qpid</groupId>
     <artifactId>qpid-jms-parent</artifactId>
-    <version>0.59.1-SNAPSHOT</version>
+    <version>0.60.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>qpid-jms-discovery</artifactId>
diff --git a/qpid-jms-docs/pom.xml b/qpid-jms-docs/pom.xml
index 278480b..2b821fb 100644
--- a/qpid-jms-docs/pom.xml
+++ b/qpid-jms-docs/pom.xml
@@ -18,7 +18,7 @@
   <parent>
     <groupId>org.apache.qpid</groupId>
     <artifactId>qpid-jms-parent</artifactId>
-    <version>0.59.1-SNAPSHOT</version>
+    <version>0.60.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/qpid-jms-examples/pom.xml b/qpid-jms-examples/pom.xml
index 847bfda..9285aec 100644
--- a/qpid-jms-examples/pom.xml
+++ b/qpid-jms-examples/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.qpid</groupId>
     <artifactId>qpid-jms-parent</artifactId>
-    <version>0.59.1-SNAPSHOT</version>
+    <version>0.60.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>qpid-jms-examples</artifactId>
diff --git a/qpid-jms-interop-tests/pom.xml b/qpid-jms-interop-tests/pom.xml
index 00e4155..974573a 100644
--- a/qpid-jms-interop-tests/pom.xml
+++ b/qpid-jms-interop-tests/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.qpid</groupId>
     <artifactId>qpid-jms-parent</artifactId>
-    <version>0.59.1-SNAPSHOT</version>
+    <version>0.60.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>qpid-jms-interop-tests</artifactId>
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml b/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml
index 3c223ca..f177584 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.qpid</groupId>
     <artifactId>qpid-jms-interop-tests</artifactId>
-    <version>0.59.1-SNAPSHOT</version>
+    <version>0.60.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>qpid-jms-activemq-tests</artifactId>

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


[qpid-jms] 05/16: NO-JIRA: enforce use of Maven 3.5.0+, overriding apache parent pom execution checking for 3.0.5

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 0d1876d7db504d2ca24c99bbefe856748f65d766
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Tue Dec 14 13:14:05 2021 +0000

    NO-JIRA: enforce use of Maven 3.5.0+, overriding apache parent pom execution checking for 3.0.5
    
    (cherry picked from commit df50221a5db3ddeeb2ca150ab4dfc828bf4153a3 with fixups)
---
 pom.xml | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/pom.xml b/pom.xml
index 70627a7..eab27b1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,6 +61,7 @@
     <maven-eclipse-plugin-version>2.10</maven-eclipse-plugin-version>
     <maven-idea-plugin-version>2.5</maven-idea-plugin-version>
     <maven-bundle-plugin-version>5.1.2</maven-bundle-plugin-version>
+    <maven-enforcer-plugin-version>3.0.0-M3</maven-enforcer-plugin-version>
     <findbugs-maven-plugin-version>3.0.2</findbugs-maven-plugin-version>
     <jacoco-plugin-version>0.8.6</jacoco-plugin-version>
     <surefire.version>2.22.2</surefire.version>
@@ -295,6 +296,11 @@
           </configuration>
         </plugin>
         <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-enforcer-plugin</artifactId>
+          <version>${maven-enforcer-plugin-version}</version>
+        </plugin>
+        <plugin>
           <groupId>org.apache.felix</groupId>
           <artifactId>maven-bundle-plugin</artifactId>
           <version>${maven-bundle-plugin-version}</version>
@@ -369,6 +375,40 @@
           </excludes>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-enforcer-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>enforce-java-version</id>
+            <goals>
+              <goal>enforce</goal>
+            </goals>
+            <configuration>
+              <rules>
+                <requireJavaVersion>
+                  <version>[1.8,)</version>
+                  <message>You must use Java 8+ to build</message>
+                </requireJavaVersion>
+              </rules>
+            </configuration>
+            </execution>
+            <execution>
+              <id>enforce-maven-version</id>
+              <goals>
+                <goal>enforce</goal>
+              </goals>
+              <configuration>
+                <rules>
+                  <requireMavenVersion>
+                    <version>3.5.0</version>
+                    <message>You must use Maven 3.5.0+ to build</message>
+                  </requireMavenVersion>
+                </rules>
+              </configuration>
+            </execution>
+        </executions>
+        </plugin>
     </plugins>
   </build>
 

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


[qpid-jms] 02/16: NO-JIRA: tweak logging to include stacktrace

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 782d375a06709d8f03ea83a845127f0ff153991d
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Thu May 20 12:19:56 2021 +0100

    NO-JIRA: tweak logging to include stacktrace
    
    (cherry picked from commit 719fe26e937cb35864d2ea59c1af4bdd165edf5d)
---
 .../test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeerRunner.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeerRunner.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeerRunner.java
index a7dba31..8059321 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeerRunner.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeerRunner.java
@@ -164,7 +164,7 @@ class TestAmqpPeerRunner implements Runnable
                 }
                 else
                 {
-                    LOGGER.debug("Caught throwable after socket is closed: " + t);
+                    LOGGER.debug("Caught throwable after socket is closed: " + t, t);
                     _throwable = t;
                 }
             }

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


[qpid-jms] 16/16: QPIDJMS-556: update test+examples slf4j-log4j dep to 2.15.0

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch 0.x
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git

commit 83620143dfb52ba30e3f37c9d7e1eafe3dd4efd8
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Mon Dec 13 12:08:56 2021 +0000

    QPIDJMS-556: update test+examples slf4j-log4j dep to 2.15.0
    
    (cherry picked from commit 148078ed92cac2c928f177f9c572a3fa745d09d1)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index c4d2984..1fe7793 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
     <proton-version>0.33.10</proton-version>
     <netty-version>4.1.72.Final</netty-version>
     <slf4j-version>1.7.30</slf4j-version>
-    <log4j-slf4j-version>2.14.1</log4j-slf4j-version>
+    <log4j-slf4j-version>2.15.0</log4j-slf4j-version>
     <geronimo.jms.2.spec.version>1.0-alpha-2</geronimo.jms.2.spec.version>
 
     <!-- 'Provided'/Test Dependency Versions for this Project -->

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