mirror of
https://github.com/espressif/openthread.git
synced 2026-10-19 22:18:17 +00:00
[mesh-forwarder] only mark Key ID Mode 0 and 1 as secure
This commit is contained in:
@@ -75,10 +75,24 @@ void ThreadLinkInfo::SetFrom(const Mac::RxFrame &aFrame)
|
|||||||
mIsDstPanIdBroadcast = (dstPanId == Mac::kPanIdBroadcast);
|
mIsDstPanIdBroadcast = (dstPanId == Mac::kPanIdBroadcast);
|
||||||
}
|
}
|
||||||
|
|
||||||
mChannel = aFrame.GetChannel();
|
if (aFrame.GetSecurityEnabled())
|
||||||
mRss = aFrame.GetRssi();
|
{
|
||||||
mLqi = aFrame.GetLqi();
|
uint8_t keyIdMode;
|
||||||
mLinkSecurity = aFrame.GetSecurityEnabled();
|
|
||||||
|
// MAC Frame Security was already validated at the MAC
|
||||||
|
// layer. As a result, `GetKeyIdMode()` will never return
|
||||||
|
// failure here.
|
||||||
|
IgnoreError(aFrame.GetKeyIdMode(keyIdMode));
|
||||||
|
|
||||||
|
mLinkSecurity = (keyIdMode == Mac::Frame::kKeyIdMode0) || (keyIdMode == Mac::Frame::kKeyIdMode1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mLinkSecurity = false;
|
||||||
|
}
|
||||||
|
mChannel = aFrame.GetChannel();
|
||||||
|
mRss = aFrame.GetRssi();
|
||||||
|
mLqi = aFrame.GetLqi();
|
||||||
#if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE
|
#if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE
|
||||||
if (aFrame.GetTimeIe() != nullptr)
|
if (aFrame.GetTimeIe() != nullptr)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user