mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-02-21 11:33:04 -05:00
hostapd: Add Min/Max Transmit Power Capability into STA command
This provides access to the Minimum/Maximum Transmit Power Capabilitie fileds (the nominal minimum/maximum transmit power with which the STA is capable of transmitting in the current channel; signed integer in units of decibels relative to 1 mW). Signed-off-by: bhagavathi perumal s <bperumal@qti.qualcomm.com>
This commit is contained in:
parent
33c8bbd8ca
commit
ba72b4b126
@ -245,6 +245,15 @@ static int hostapd_ctrl_iface_sta_mib(struct hostapd_data *hapd,
|
|||||||
len += os_snprintf(buf + len, buflen - len, "\n");
|
len += os_snprintf(buf + len, buflen - len, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sta->power_capab) {
|
||||||
|
ret = os_snprintf(buf + len, buflen - len,
|
||||||
|
"min_txpower=%d\n"
|
||||||
|
"max_txpower=%d\n",
|
||||||
|
sta->min_tx_power, sta->max_tx_power);
|
||||||
|
if (!os_snprintf_error(buflen - len, ret))
|
||||||
|
len += ret;
|
||||||
|
}
|
||||||
|
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2599,6 +2599,14 @@ static u16 check_assoc_ies(struct hostapd_data *hapd, struct sta_info *sta,
|
|||||||
os_memcpy(sta->rrm_enabled_capa, elems.rrm_enabled,
|
os_memcpy(sta->rrm_enabled_capa, elems.rrm_enabled,
|
||||||
sizeof(sta->rrm_enabled_capa));
|
sizeof(sta->rrm_enabled_capa));
|
||||||
|
|
||||||
|
if (elems.power_capab) {
|
||||||
|
sta->min_tx_power = elems.power_capab[0];
|
||||||
|
sta->max_tx_power = elems.power_capab[1];
|
||||||
|
sta->power_capab = 1;
|
||||||
|
} else {
|
||||||
|
sta->power_capab = 0;
|
||||||
|
}
|
||||||
|
|
||||||
return WLAN_STATUS_SUCCESS;
|
return WLAN_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,6 +113,7 @@ struct sta_info {
|
|||||||
unsigned int ecsa_supported:1;
|
unsigned int ecsa_supported:1;
|
||||||
unsigned int added_unassoc:1;
|
unsigned int added_unassoc:1;
|
||||||
unsigned int pending_wds_enable:1;
|
unsigned int pending_wds_enable:1;
|
||||||
|
unsigned int power_capab:1;
|
||||||
|
|
||||||
u16 auth_alg;
|
u16 auth_alg;
|
||||||
|
|
||||||
@ -214,6 +215,9 @@ struct sta_info {
|
|||||||
|
|
||||||
u8 rrm_enabled_capa[5];
|
u8 rrm_enabled_capa[5];
|
||||||
|
|
||||||
|
s8 min_tx_power;
|
||||||
|
s8 max_tx_power;
|
||||||
|
|
||||||
#ifdef CONFIG_TAXONOMY
|
#ifdef CONFIG_TAXONOMY
|
||||||
struct wpabuf *probe_ie_taxonomy;
|
struct wpabuf *probe_ie_taxonomy;
|
||||||
struct wpabuf *assoc_ie_taxonomy;
|
struct wpabuf *assoc_ie_taxonomy;
|
||||||
|
@ -352,6 +352,10 @@ ParseRes ieee802_11_parse_elems(const u8 *start, size_t len,
|
|||||||
elems->rsn_ie_len = elen;
|
elems->rsn_ie_len = elen;
|
||||||
break;
|
break;
|
||||||
case WLAN_EID_PWR_CAPABILITY:
|
case WLAN_EID_PWR_CAPABILITY:
|
||||||
|
if (elen < 2)
|
||||||
|
break;
|
||||||
|
elems->power_capab = pos;
|
||||||
|
elems->power_capab_len = elen;
|
||||||
break;
|
break;
|
||||||
case WLAN_EID_SUPPORTED_CHANNELS:
|
case WLAN_EID_SUPPORTED_CHANNELS:
|
||||||
elems->supp_channels = pos;
|
elems->supp_channels = pos;
|
||||||
|
@ -79,6 +79,7 @@ struct ieee802_11_elems {
|
|||||||
const u8 *fils_pk;
|
const u8 *fils_pk;
|
||||||
const u8 *fils_nonce;
|
const u8 *fils_nonce;
|
||||||
const u8 *owe_dh;
|
const u8 *owe_dh;
|
||||||
|
const u8 *power_capab;
|
||||||
|
|
||||||
u8 ssid_len;
|
u8 ssid_len;
|
||||||
u8 supp_rates_len;
|
u8 supp_rates_len;
|
||||||
@ -122,6 +123,7 @@ struct ieee802_11_elems {
|
|||||||
u8 fils_wrapped_data_len;
|
u8 fils_wrapped_data_len;
|
||||||
u8 fils_pk_len;
|
u8 fils_pk_len;
|
||||||
u8 owe_dh_len;
|
u8 owe_dh_len;
|
||||||
|
u8 power_capab_len;
|
||||||
|
|
||||||
struct mb_ies_info mb_ies;
|
struct mb_ies_info mb_ies;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user