From f5c49e2dd08793b2a552b5cfc052a6744bd72138 Mon Sep 17 00:00:00 2001 From: Irving-cl Date: Sat, 12 Jan 2019 01:02:52 +0800 Subject: [PATCH] [tests] fix mac key id mode parsing (#3448) --- tests/scripts/thread-cert/mac802154.py | 6 +++--- tests/scripts/thread-cert/net_crypto.py | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/tests/scripts/thread-cert/mac802154.py b/tests/scripts/thread-cert/mac802154.py index dba707a1e..8e9eef3f4 100644 --- a/tests/scripts/thread-cert/mac802154.py +++ b/tests/scripts/thread-cert/mac802154.py @@ -231,12 +231,12 @@ class MacFrame: security_level = security_control & 0x07 key_id_mode = (security_control & 0x18) >> 3 - if key_id_mode == 1: + if key_id_mode == 0: + key_id = data.read(9) + elif key_id_mode == 1: key_id = data.read(1) elif key_id_mode == 2: key_id = data.read(5) - elif key_id_mode == 3: - key_id = data.read(9) else: key_source = None key_index = None diff --git a/tests/scripts/thread-cert/net_crypto.py b/tests/scripts/thread-cert/net_crypto.py index 959a2316a..03d8f71b8 100644 --- a/tests/scripts/thread-cert/net_crypto.py +++ b/tests/scripts/thread-cert/net_crypto.py @@ -271,6 +271,9 @@ class AuxiliarySecurityHeader: def sequence_counter(self): """ Compute or extract sequence counter based on currently set Key Index Mode. """ + if self.key_id_mode == 0: + key_source = self.key_id[:8] + format = ">Q" if self._big_endian else "