Commit 17b8786d authored by Marshall Pierce's avatar Marshall Pierce
Browse files

Merge pull request #14 from Seagate/features/improved-hmac-error-handling

Improved HMAC error handling
parents 0d00773a ed4e0d3a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ NonblockingPacketServiceStatus NonblockingReceiver::Receive() {
            LOG(INFO) << "Response HMAC mismatch";
            CallAllErrorHandlers(KineticStatus(StatusCode::CLIENT_RESPONSE_HMAC_VERIFICATION_ERROR,
                "Response HMAC mismatch"));
            return kError;
            return kIdle;
        }
        if (response_.command().header().has_connectionid()) {
            connection_id_ = response_.command().header().connectionid();
@@ -148,7 +148,7 @@ NonblockingPacketServiceStatus NonblockingReceiver::Receive() {
            LOG(INFO) << "Got response without an acksequence";
            CallAllErrorHandlers(KineticStatus(StatusCode::PROTOCOL_ERROR_RESPONSE_NO_ACKSEQUENCE,
                "Response had no acksequence"));
            return kError;
            return kIdle;
        }

        auto find_result = map_.find(response_.command().header().acksequence());
+3 −3
Original line number Diff line number Diff line
@@ -146,7 +146,7 @@ TEST_F(NonblockingReceiverTest, CallsErrorWhenNoAckSequence) {
    EXPECT_CALL(*handler, Error(KineticStatusEq(StatusCode::PROTOCOL_ERROR_RESPONSE_NO_ACKSEQUENCE,
        "Response had no acksequence")));
    ASSERT_TRUE(receiver.Enqueue(handler, 33, 0));
    ASSERT_EQ(kError, receiver.Receive());
    ASSERT_EQ(kIdle, receiver.Receive());
}

TEST_F(NonblockingReceiverTest, SetsConnectionId) {
@@ -200,7 +200,7 @@ TEST_F(NonblockingReceiverTest, HandlesHmacError) {
    EXPECT_CALL(*handler, Error(KineticStatusEq(StatusCode::CLIENT_RESPONSE_HMAC_VERIFICATION_ERROR,
        "Response HMAC mismatch")));
    ASSERT_TRUE(receiver.Enqueue(handler, 0, 0));
    ASSERT_EQ(kError, receiver.Receive());
    ASSERT_EQ(kIdle, receiver.Receive());
}

TEST_F(NonblockingReceiverTest, ErrorCausesAllEnqueuedRequestsToFail) {