Skip to content

Commit 1106468

Browse files
kghostpull[bot]
authored andcommitted
Update MRP parameter for PASE/CASE establishment (#21793)
1 parent 3205f48 commit 1106468

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/protocols/secure_channel/CASESession.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -882,6 +882,7 @@ CHIP_ERROR CASESession::HandleSigma2Resume(System::PacketBufferHandle && msg)
882882
if (tlvReader.Next() != CHIP_END_OF_TLV)
883883
{
884884
SuccessOrExit(err = DecodeMRPParametersIfPresent(TLV::ContextTag(4), tlvReader));
885+
mExchangeCtxt->GetSessionHandle()->AsUnauthenticatedSession()->SetRemoteMRPConfig(mRemoteMRPConfig);
885886
}
886887

887888
ChipLogDetail(SecureChannel, "Peer assigned session session ID %d", responderSessionId);
@@ -1066,6 +1067,7 @@ CHIP_ERROR CASESession::HandleSigma2(System::PacketBufferHandle && msg)
10661067
if (tlvReader.Next() != CHIP_END_OF_TLV)
10671068
{
10681069
SuccessOrExit(err = DecodeMRPParametersIfPresent(TLV::ContextTag(kTag_Sigma2_ResponderMRPParams), tlvReader));
1070+
mExchangeCtxt->GetSessionHandle()->AsUnauthenticatedSession()->SetRemoteMRPConfig(mRemoteMRPConfig);
10691071
}
10701072

10711073
exit:
@@ -1655,6 +1657,7 @@ CHIP_ERROR CASESession::ParseSigma1(TLV::ContiguousBufferTLVReader & tlvReader,
16551657
if (err == CHIP_NO_ERROR && tlvReader.GetTag() == ContextTag(kInitiatorMRPParamsTag))
16561658
{
16571659
ReturnErrorOnFailure(DecodeMRPParametersIfPresent(TLV::ContextTag(kInitiatorMRPParamsTag), tlvReader));
1660+
mExchangeCtxt->GetSessionHandle()->AsUnauthenticatedSession()->SetRemoteMRPConfig(mRemoteMRPConfig);
16581661
err = tlvReader.Next();
16591662
}
16601663

src/protocols/secure_channel/PASESession.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ CHIP_ERROR PASESession::HandlePBKDFParamRequest(System::PacketBufferHandle && ms
347347
if (tlvReader.Next() != CHIP_END_OF_TLV)
348348
{
349349
SuccessOrExit(err = DecodeMRPParametersIfPresent(TLV::ContextTag(5), tlvReader));
350+
mExchangeCtxt->GetSessionHandle()->AsUnauthenticatedSession()->SetRemoteMRPConfig(mRemoteMRPConfig);
350351
}
351352

352353
err = SendPBKDFParamResponse(ByteSpan(initiatorRandom), hasPBKDFParameters);
@@ -470,6 +471,7 @@ CHIP_ERROR PASESession::HandlePBKDFParamResponse(System::PacketBufferHandle && m
470471
if (tlvReader.Next() != CHIP_END_OF_TLV)
471472
{
472473
SuccessOrExit(err = DecodeMRPParametersIfPresent(TLV::ContextTag(5), tlvReader));
474+
mExchangeCtxt->GetSessionHandle()->AsUnauthenticatedSession()->SetRemoteMRPConfig(mRemoteMRPConfig);
473475
}
474476

475477
// TODO - Add a unit test that exercises mHavePBKDFParameters path
@@ -494,6 +496,7 @@ CHIP_ERROR PASESession::HandlePBKDFParamResponse(System::PacketBufferHandle && m
494496
if (tlvReader.Next() != CHIP_END_OF_TLV)
495497
{
496498
SuccessOrExit(err = DecodeMRPParametersIfPresent(TLV::ContextTag(5), tlvReader));
499+
mExchangeCtxt->GetSessionHandle()->AsUnauthenticatedSession()->SetRemoteMRPConfig(mRemoteMRPConfig);
497500
}
498501
}
499502

0 commit comments

Comments
 (0)