Skip to content

Commit 2ca952f

Browse files
committed
Making ParseSigma1 static and not dependent on class state
1 parent aaab48e commit 2ca952f

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/protocols/secure_channel/CASESession.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -1100,6 +1100,7 @@ CASESession::NextStep CASESession::HandleSigma1(System::PacketBufferHandle && ms
11001100
// Set the MRP parameters provided in the Sigma1 message
11011101
if (parsedSigma1.initiatorMrpParamsPresent)
11021102
{
1103+
SetRemoteSessionParameters(parsedSigma1.initiatorSessionParams);
11031104
mExchangeCtxt.Value()->GetSessionHandle()->AsUnauthenticatedSession()->SetRemoteSessionParameters(
11041105
GetRemoteSessionParameters());
11051106
}
@@ -2324,7 +2325,8 @@ CHIP_ERROR CASESession::ParseSigma1(TLV::ContiguousBufferTLVReader & tlvReader,
23242325
CHIP_ERROR err = tlvReader.Next();
23252326
if (err == CHIP_NO_ERROR && tlvReader.GetTag() == AsTlvContextTag(Sigma1Tags::kInitiatorSessionParams))
23262327
{
2327-
ReturnErrorOnFailure(DecodeMRPParametersIfPresent(AsTlvContextTag(Sigma1Tags::kInitiatorSessionParams), tlvReader));
2328+
ReturnErrorOnFailure(DecodeMRPParametersIfPresent(AsTlvContextTag(Sigma1Tags::kInitiatorSessionParams), tlvReader,
2329+
outParsedSigma1.initiatorSessionParams));
23282330
outParsedSigma1.initiatorMrpParamsPresent = true;
23292331

23302332
err = tlvReader.Next();

src/protocols/secure_channel/CASESession.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ class DLL_EXPORT CASESession : public Messaging::UnsolicitedMessageHandler,
223223
{
224224
ByteSpan initiatorEphPubKey;
225225
bool initiatorMrpParamsPresent = false;
226+
SessionParameters initiatorSessionParams;
226227
};
227228

228229
struct EncodeSigma2Inputs
@@ -275,7 +276,7 @@ class DLL_EXPORT CASESession : public Messaging::UnsolicitedMessageHandler,
275276
* and the resumptionID and initiatorResumeMIC fields will be set to
276277
* valid values, or the sessionResumptionRequested field will be set to false.
277278
*/
278-
CHIP_ERROR ParseSigma1(TLV::ContiguousBufferTLVReader & tlvReader, ParsedSigma1 & parsedMessage);
279+
static CHIP_ERROR ParseSigma1(TLV::ContiguousBufferTLVReader & tlvReader, ParsedSigma1 & parsedMessage);
279280

280281
/**
281282
* @brief Encodes a Sigma2 message into TLV format and allocates a buffer for it, which is owned by the PacketBufferHandle

src/protocols/secure_channel/tests/TestCASESession.cpp

+5-8
Original file line numberDiff line numberDiff line change
@@ -760,10 +760,9 @@ static CHIP_ERROR EncodeSigma1Helper(MutableByteSpan & buf)
760760
\
761761
TLV::ContiguousBufferTLVReader reader; \
762762
reader.Init(buf); \
763-
CASESessionAccess session; \
764763
CASESessionAccess::ParsedSigma1 parsedSigma1; \
765764
\
766-
EXPECT_EQ(session.ParseSigma1(reader, parsedSigma1) == CHIP_NO_ERROR, params::kExpectSuccess); \
765+
EXPECT_EQ(CASESessionAccess::ParseSigma1(reader, parsedSigma1) == CHIP_NO_ERROR, params::kExpectSuccess); \
767766
if (params::kExpectSuccess) \
768767
{ \
769768
EXPECT_EQ(parsedSigma1.sessionResumptionRequested, \
@@ -936,10 +935,9 @@ TEST_F(TestCASESession, EncodeSigma1Test)
936935
System::PacketBufferTLVReader tlvReader;
937936
tlvReader.Init(std::move(msg1));
938937

939-
CASESessionAccess session;
940938
CASESessionAccess::ParsedSigma1 parsedMessage;
941939

942-
EXPECT_EQ(CHIP_NO_ERROR, session.ParseSigma1(tlvReader, parsedMessage));
940+
EXPECT_EQ(CHIP_NO_ERROR, CASESessionAccess::ParseSigma1(tlvReader, parsedMessage));
943941

944942
// compare parsed values with original values
945943
EXPECT_TRUE(parsedMessage.initiatorRandom.data_equal(encodeParams.initiatorRandom));
@@ -970,10 +968,9 @@ TEST_F(TestCASESession, EncodeSigma1Test)
970968
System::PacketBufferTLVReader tlvReader;
971969
tlvReader.Init(std::move(msg2));
972970

973-
CASESessionAccess session;
974971
CASESessionAccess::ParsedSigma1 parsedMessage;
975972

976-
EXPECT_EQ(CHIP_NO_ERROR, session.ParseSigma1(tlvReader, parsedMessage));
973+
EXPECT_EQ(CHIP_NO_ERROR, CASESessionAccess::ParseSigma1(tlvReader, parsedMessage));
977974

978975
// RoundTrip
979976
EXPECT_TRUE(parsedMessage.initiatorRandom.data_equal(encodeParams.initiatorRandom));
@@ -1111,8 +1108,8 @@ struct SessionResumptionTestStorage : SessionResumptionStorage
11111108
{
11121109
SessionResumptionTestStorage(CHIP_ERROR findMethodReturnCode, ScopedNodeId peerNodeId, ResumptionIdStorage * resumptionId,
11131110
Crypto::P256ECDHDerivedSecret * sharedSecret) :
1114-
mFindMethodReturnCode(findMethodReturnCode),
1115-
mPeerNodeId(peerNodeId), mResumptionId(resumptionId), mSharedSecret(sharedSecret)
1111+
mFindMethodReturnCode(findMethodReturnCode), mPeerNodeId(peerNodeId), mResumptionId(resumptionId),
1112+
mSharedSecret(sharedSecret)
11161113
{}
11171114
SessionResumptionTestStorage(CHIP_ERROR findMethodReturnCode) : mFindMethodReturnCode(findMethodReturnCode) {}
11181115
CHIP_ERROR FindByScopedNodeId(const ScopedNodeId & node, ResumptionIdStorage & resumptionId,

0 commit comments

Comments
 (0)