mirror of
https://github.com/espressif/openthread.git
synced 2026-08-12 05:37:46 +00:00
Increment the Commissioner Session ID when the Leader resigns an active Commissioner (#1010)
This commit is contained in:
@@ -181,8 +181,7 @@ void Leader::HandleKeepAlive(Coap::Header &aHeader, Message &aMessage, const Ip6
|
||||
{
|
||||
responseState = StateTlv::kReject;
|
||||
mTimer.Stop();
|
||||
mNetworkData.SetCommissioningData(NULL, 0);
|
||||
otLogInfoMeshCoP("commissioner inactive");
|
||||
ResignCommissioner();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -267,12 +266,24 @@ void Leader::HandleTimer(void)
|
||||
{
|
||||
VerifyOrExit(mNetif.GetMle().GetDeviceState() == Mle::kDeviceStateLeader, ;);
|
||||
|
||||
otLogInfoMeshCoP("commissioner inactive");
|
||||
mNetworkData.SetCommissioningData(NULL, 0);
|
||||
ResignCommissioner();
|
||||
|
||||
exit:
|
||||
return;
|
||||
}
|
||||
|
||||
void Leader::ResignCommissioner(void)
|
||||
{
|
||||
CommissionerSessionIdTlv mCommissionerSessionId;
|
||||
|
||||
mCommissionerSessionId.Init();
|
||||
mCommissionerSessionId.SetCommissionerSessionId(++mSessionId);
|
||||
|
||||
mNetworkData.SetCommissioningData(reinterpret_cast<uint8_t *>(&mCommissionerSessionId),
|
||||
sizeof(Tlv) + mCommissionerSessionId.GetLength());
|
||||
|
||||
otLogInfoMeshCoP("commissioner inactive");
|
||||
}
|
||||
|
||||
} // namespace MeshCoP
|
||||
} // namespace Thread
|
||||
|
||||
@@ -104,6 +104,8 @@ private:
|
||||
|
||||
static void HandleUdpReceive(void *aContext, otMessage aMessage, const otMessageInfo *aMessageInfo);
|
||||
|
||||
void ResignCommissioner(void);
|
||||
|
||||
Coap::Resource mPetition;
|
||||
Coap::Resource mKeepAlive;
|
||||
Coap::Server &mCoapServer;
|
||||
|
||||
Reference in New Issue
Block a user