Skip to content

Commit 9e27a77

Browse files
author
Mika Leppänen
committed
Disabled BR IID verify from DODAG ID
Nodes no longer verify BR IID (EAPOL Authenticator EUI-64) from DODAG ID because it causes interworking issues with DODAG IDs which are not generated using BR EUI-64.
1 parent 33ac791 commit 9e27a77

File tree

2 files changed

+3
-18
lines changed

2 files changed

+3
-18
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
* Use all allowed channels with Brazil domain
1616
* Fixed issues related to channel change failures and bad MAC retransmission timings causing heavily decreasing performance on devices.
1717
* Corrected memory leak on Border Router key storage that could occur when key storage is allocated on low memory situation
18+
* Nodes no longer verify BR IID (EAPOL Authenticator EUI-64) from DODAG ID because it causes interworking issues with DODAG IDs which are not generated using EUI-64.
1819

1920
## Release v12.7.0 (14-12-2020)
2021

source/6LoWPAN/ws/ws_pae_supp.c

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -269,31 +269,15 @@ int8_t ws_pae_supp_border_router_addr_read(protocol_interface_info_entry_t *inte
269269

270270
int8_t ws_pae_supp_nw_key_valid(protocol_interface_info_entry_t *interface_ptr, uint8_t *br_iid)
271271
{
272+
(void) br_iid;
273+
272274
pae_supp_t *pae_supp = ws_pae_supp_get(interface_ptr);
273275
if (!pae_supp) {
274276
return -1;
275277
}
276278

277279
tr_info("NW key valid indication");
278280

279-
// Store border router EUI-64 received on bootstrap complete
280-
memcpy(pae_supp->comp_br_eui_64, br_iid, 8);
281-
pae_supp->comp_br_eui_64[0] ^= 0x02;
282-
pae_supp->comp_br_eui_64_set = true;
283-
284-
// Get the EUI-64 used on 4WH handshake PTK generation
285-
uint8_t *ptk_eui_64 = sec_prot_keys_ptk_eui_64_get(&pae_supp->entry.sec_keys);
286-
287-
/* If border router EUI-64 received on bootstrap complete does not match to
288-
EUI-64 stored with keys, delete keys */
289-
if (!ptk_eui_64 || memcmp(ptk_eui_64, pae_supp->comp_br_eui_64, 8) != 0) {
290-
tr_warn("Delete keys: PTK EUI-64 %s does not match to BR EUI-64 %s",
291-
ptk_eui_64 ? tr_array(ptk_eui_64, 8) : "", tr_array(pae_supp->comp_br_eui_64, 8));
292-
sec_prot_keys_pmk_delete(&pae_supp->entry.sec_keys);
293-
sec_prot_keys_ptk_delete(&pae_supp->entry.sec_keys);
294-
sec_prot_keys_ptk_eui_64_delete(&pae_supp->entry.sec_keys);
295-
}
296-
297281
// Stored keys are valid
298282
pae_supp->nw_keys_used_cnt = 0;
299283

0 commit comments

Comments
 (0)