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]