@@ -477,7 +477,7 @@ CASESession::PrepareForSessionEstablishment(SessionManager & sessionManager, Fab
477
477
mFabricsTable = fabricTable;
478
478
mRole = CryptoContext::SessionRole::kResponder ;
479
479
mSessionResumptionStorage = sessionResumptionStorage;
480
- mLocalMRPConfig = mrpLocalConfig.ValueOr (GetDefaultMRPConfig ());
480
+ mLocalMRPConfig = MakeOptional ( mrpLocalConfig.ValueOr (GetDefaultMRPConfig () ));
481
481
482
482
ChipLogDetail (SecureChannel, " Allocated SecureSession (%p) - waiting for Sigma1 msg" ,
483
483
mSecureSessionHolder .Get ().Value ()->AsSecureSession ());
@@ -525,7 +525,7 @@ CHIP_ERROR CASESession::EstablishSession(SessionManager & sessionManager, Fabric
525
525
mFabricsTable = fabricTable;
526
526
mFabricIndex = fabricInfo->GetFabricIndex ();
527
527
mSessionResumptionStorage = sessionResumptionStorage;
528
- mLocalMRPConfig = mrpLocalConfig.ValueOr (GetDefaultMRPConfig ());
528
+ mLocalMRPConfig = MakeOptional ( mrpLocalConfig.ValueOr (GetDefaultMRPConfig () ));
529
529
530
530
mExchangeCtxt .Value ()->UseSuggestedResponseTimeout (kExpectedSigma1ProcessingTime );
531
531
mPeerNodeId = peerScopedNodeId.GetNodeId ();
@@ -708,7 +708,8 @@ CHIP_ERROR CASESession::SendSigma1()
708
708
ReturnErrorOnFailure (
709
709
tlvWriter.PutBytes (TLV::ContextTag (4 ), mEphemeralKey ->Pubkey (), static_cast <uint32_t >(mEphemeralKey ->Pubkey ().Length ())));
710
710
711
- ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (5 ), mLocalMRPConfig , tlvWriter));
711
+ VerifyOrReturnError (mLocalMRPConfig .HasValue (), CHIP_ERROR_INCORRECT_STATE);
712
+ ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (5 ), mLocalMRPConfig .Value (), tlvWriter));
712
713
713
714
// Try to find persistent session, and resume it.
714
715
bool resuming = false ;
@@ -955,7 +956,8 @@ CHIP_ERROR CASESession::SendSigma2Resume()
955
956
956
957
ReturnErrorOnFailure (tlvWriter.Put (TLV::ContextTag (3 ), GetLocalSessionId ().Value ()));
957
958
958
- ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (4 ), mLocalMRPConfig , tlvWriter));
959
+ VerifyOrReturnError (mLocalMRPConfig .HasValue (), CHIP_ERROR_INCORRECT_STATE);
960
+ ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (4 ), mLocalMRPConfig .Value (), tlvWriter));
959
961
960
962
ReturnErrorOnFailure (tlvWriter.EndContainer (outerContainerType));
961
963
ReturnErrorOnFailure (tlvWriter.Finalize (&msg_R2_resume));
@@ -1091,7 +1093,8 @@ CHIP_ERROR CASESession::SendSigma2()
1091
1093
ReturnErrorOnFailure (tlvWriterMsg2.PutBytes (TLV::ContextTag (4 ), msg_R2_Encrypted.Get (),
1092
1094
static_cast <uint32_t >(msg_r2_signed_enc_len + CHIP_CRYPTO_AEAD_MIC_LENGTH_BYTES)));
1093
1095
1094
- ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (5 ), mLocalMRPConfig , tlvWriterMsg2));
1096
+ VerifyOrReturnError (mLocalMRPConfig .HasValue (), CHIP_ERROR_INCORRECT_STATE);
1097
+ ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (5 ), mLocalMRPConfig .Value (), tlvWriterMsg2));
1095
1098
1096
1099
ReturnErrorOnFailure (tlvWriterMsg2.EndContainer (outerContainerType));
1097
1100
ReturnErrorOnFailure (tlvWriterMsg2.Finalize (&msg_R2));
0 commit comments