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