You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2018/01/10 17:38:19 UTC
[3/5] qpid-broker-j git commit: QPID-8038: [Broker-J] [AMQP 1.0] Add
SASL protocol test ensuring that empty SASL frames are rejected
QPID-8038: [Broker-J] [AMQP 1.0] Add SASL protocol test ensuring that empty SASL frames are rejected
(cherry picked from commit 7d5a86962837103a7a75f92dca5e35220cb89668)
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/041674dd
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/041674dd
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/041674dd
Branch: refs/heads/7.0.x
Commit: 041674ddbf2b1ae693f51d7e2cd9f9025a268632
Parents: 8f68002
Author: Keith Wall <kw...@apache.org>
Authored: Wed Jan 10 11:55:51 2018 +0000
Committer: Alex Rudyy <or...@apache.org>
Committed: Wed Jan 10 17:30:34 2018 +0000
----------------------------------------------------------------------
.../qpid/tests/protocol/v1_0/Interaction.java | 11 ++++++++++-
.../v1_0/transport/security/sasl/SaslTest.java | 19 +++++++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/041674dd/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
----------------------------------------------------------------------
diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
index 832ad4d..fc84389 100644
--- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
+++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
@@ -86,6 +86,10 @@ public class Interaction extends AbstractInteraction<Interaction>
throw new UnsupportedOperationException();
};
+ private static final SaslFrameBody SASL_EMPTY_FRAME = (channel, conn) -> {
+ throw new UnsupportedOperationException();
+ };
+
private static final Set<String> CONTAINER_IDS = Collections.newSetFromMap(new ConcurrentHashMap<>());
private final Begin _begin;
private final End _end;
@@ -204,6 +208,12 @@ public class Interaction extends AbstractInteraction<Interaction>
return this;
}
+ public Interaction saslEmptyFrame() throws Exception
+ {
+ sendPerformative(SASL_EMPTY_FRAME);
+ return this;
+ }
+
private SaslInit copySaslInit(final SaslInit saslInit)
{
final SaslInit saslInitCopy = new SaslInit();
@@ -1089,5 +1099,4 @@ public class Interaction extends AbstractInteraction<Interaction>
sendPerformative(EMPTY_FRAME, UnsignedShort.ZERO);
return this;
}
-
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/041674dd/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/SaslTest.java
----------------------------------------------------------------------
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/SaslTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/SaslTest.java
index 0eac112..0931b1b 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/SaslTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/SaslTest.java
@@ -321,4 +321,23 @@ public class SaslTest extends BrokerAdminUsingTestBase
transport.assertNoMoreResponsesAndChannelClosed();
}
}
+
+ @Test
+ @SpecificationTest(section = "5.3.1", description = "Receipt of an empty frame is an irrecoverable error.")
+ public void emptyFramesDisallowed() throws Exception
+ {
+ final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
+ try (FrameTransport transport = new FrameTransport(addr, true).connect())
+ {
+ transport.newInteraction()
+ .protocolHeader(SASL_AMQP_HEADER_BYTES)
+ .negotiateProtocol()
+ .saslEmptyFrame()
+ .consumeResponse(byte[].class)
+ .consumeResponse(SaslMechanisms.class)
+ .sync();
+
+ transport.assertNoMoreResponsesAndChannelClosed();
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org