diff --git a/src/scan.c b/src/scan.c index 35a5efb5..df5ffb86 100644 --- a/src/scan.c +++ b/src/scan.c @@ -600,6 +600,16 @@ static bool scan_parse_bss_information_elements(struct scan_bss *bss, bss->cap_rm_neighbor_report = (iter.data[0] & IE_RM_CAP_NEIGHBOR_REPORT) > 0; break; + case IE_TYPE_COUNTRY: + if (bss->cc_present || iter.len < 6) + break; + + bss->cc[0] = iter.data[0]; + bss->cc[1] = iter.data[1]; + bss->cc[2] = iter.data[2]; + bss->cc_present = true; + + break; } } diff --git a/src/scan.h b/src/scan.h index 690409da..d6755cd9 100644 --- a/src/scan.h +++ b/src/scan.h @@ -57,9 +57,11 @@ struct scan_bss { uint8_t ssid_len; struct l_uintset *supported_rates; uint8_t utilization; + uint8_t cc[3]; uint16_t rank; bool sha256:1; bool mde_present : 1; + bool cc_present : 1; bool cap_rm_neighbor_report : 1; };