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

vavrtom pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git


The following commit(s) were added to refs/heads/main by this push:
     new 702d62fa63 QPID-8762: [Broker-J] Advertise a valid AMQP 1.0 
max-frame-size when rejecting connections (#439)
702d62fa63 is described below

commit 702d62fa634a754f9f0eebbdb3bf6c0176068ce0
Author: Daniil Kirilyuk <[email protected]>
AuthorDate: Wed Sep 9 15:29:41 2026 +0200

    QPID-8762: [Broker-J] Advertise a valid AMQP 1.0 max-frame-size when 
rejecting connections (#439)
    
    Co-authored-by: vavrtom <[email protected]>
---
 .../server/protocol/v1_0/AMQPConnection_1_0Impl.java   |  2 +-
 pom.xml                                                |  2 +-
 .../protocol/v1_0/transport/connection/OpenTest.java   | 18 ++++++++++++------
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git 
a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java
 
b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java
index 9602cec9bf..f5ebfc3054 100644
--- 
a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java
+++ 
b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java
@@ -1150,7 +1150,7 @@ public class AMQPConnection_1_0Impl extends 
AbstractAMQPConnection<AMQPConnectio
                 throw new ConnectionScopedRuntimeException("Connection is 
closed before being fully established: " + error.getDescription());
 
             case AWAIT_OPEN:
-                sendOpen(0, 0);
+                sendOpen(0, Constants.MIN_MAX_FRAME_SIZE);
                 sendClose(close);
                 _connectionState = ConnectionState.CLOSED;
                 getSender().close();
diff --git a/pom.xml b/pom.xml
index 11834c8192..2423f7c399 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,7 +135,7 @@
     <netty-version>4.2.16.Final</netty-version>
     <hamcrest-version>3.0</hamcrest-version>
     <maven-resolver-version>2.0.22</maven-resolver-version>
-    <qpid-jms-client-version>1.16.0</qpid-jms-client-version>
+    <qpid-jms-client-version>1.17.0</qpid-jms-client-version>
     <qpid-jms-client-amqp-0-x-version>6.4.0</qpid-jms-client-amqp-0-x-version>
     <nashorn-version>15.7</nashorn-version>
 
diff --git 
a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/OpenTest.java
 
b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/OpenTest.java
index f6d8bbb6cc..d618091cd1 100644
--- 
a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/OpenTest.java
+++ 
b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/OpenTest.java
@@ -25,7 +25,6 @@ import static org.hamcrest.CoreMatchers.both;
 import static org.hamcrest.CoreMatchers.nullValue;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.greaterThanOrEqualTo;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.lessThan;
@@ -69,6 +68,7 @@ public class OpenTest extends BrokerAdminUsingTestBase
                                            .negotiateOpen()
                                            .getLatestResponse(Open.class);
             assertThat(responseOpen.getContainerId(), is(notNullValue()));
+            assertValidMaxFrameSize(responseOpen);
 
             Close responseClose = 
interaction.consumeResponse().getLatestResponse(Close.class);
 
@@ -96,9 +96,7 @@ public class OpenTest extends BrokerAdminUsingTestBase
                                                  
.getLatestResponse(Open.class);
 
             assertThat(responseOpen.getContainerId(), is(notNullValue()));
-            assertThat(responseOpen.getMaxFrameSize(),
-                       is(anyOf(nullValue(),
-                                
both(greaterThan(UnsignedInteger.ZERO)).and(lessThanOrEqualTo(UnsignedInteger.MAX_VALUE)))));
+            assertValidMaxFrameSize(responseOpen);
             assertThat(responseOpen.getChannelMax(),
                        is(anyOf(nullValue(),
                                 
both(greaterThanOrEqualTo(UnsignedShort.ZERO)).and(lessThanOrEqualTo(UnsignedShort.MAX_VALUE)))));
@@ -162,6 +160,7 @@ public class OpenTest extends BrokerAdminUsingTestBase
                                            .negotiateOpen()
                                            .getLatestResponse(Open.class);
             assertThat(responseOpen.getContainerId(), is(notNullValue()));
+            assertValidMaxFrameSize(responseOpen);
 
             Close responseClose = 
interaction.consumeResponse(Close.class).getLatestResponse(Close.class);
 
@@ -191,6 +190,7 @@ public class OpenTest extends BrokerAdminUsingTestBase
                     .negotiateOpen()
                     .getLatestResponse(Open.class);
             assertThat(responseOpen.getContainerId(), is(notNullValue()));
+            assertValidMaxFrameSize(responseOpen);
 
             final Close responseClose = 
interaction.consumeResponse().getLatestResponse(Close.class);
             assertThat(responseClose.getError(), is(notNullValue()));
@@ -214,8 +214,7 @@ public class OpenTest extends BrokerAdminUsingTestBase
                     .getLatestResponse(Open.class);
 
             assertThat(responseOpen.getContainerId(), is(notNullValue()));
-            assertThat(responseOpen.getMaxFrameSize(), is(anyOf(nullValue(),
-                    
both(greaterThan(UnsignedInteger.ZERO)).and(lessThanOrEqualTo(UnsignedInteger.MAX_VALUE)))));
+            assertValidMaxFrameSize(responseOpen);
             assertThat(responseOpen.getChannelMax(), is(anyOf(nullValue(),
                     
both(greaterThanOrEqualTo(UnsignedShort.ZERO)).and(lessThanOrEqualTo(UnsignedShort.MAX_VALUE)))));
 
@@ -236,10 +235,17 @@ public class OpenTest extends BrokerAdminUsingTestBase
                                            .negotiateOpen()
                                            .getLatestResponse(Open.class);
             assertThat(responseOpen.getContainerId(), is(notNullValue()));
+            assertValidMaxFrameSize(responseOpen);
 
             Close responseClose = 
interaction.consumeResponse().getLatestResponse(Close.class);
             assertThat(responseClose.getError(), is(notNullValue()));
             assertThat(responseClose.getError().getCondition(), 
equalTo(AmqpError.NOT_FOUND));
         }
     }
+
+    private void assertValidMaxFrameSize(final Open open)
+    {
+        assertThat(open.getMaxFrameSize(), is(anyOf(nullValue(),
+                
greaterThanOrEqualTo(UnsignedInteger.valueOf(MIN_MAX_FRAME_SIZE)))));
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to