WPS NFC: Add BSSID and AP channel info to Configuration Token
This information can help the Enrollee to find the AP more quickly with an optimized scan. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
75dbf98157
commit
d2f18378e1
3 changed files with 9 additions and 3 deletions
|
@ -1784,7 +1784,8 @@ struct wpabuf * hostapd_wps_nfc_config_token(struct hostapd_data *hapd,
|
||||||
if (hapd->wps == NULL)
|
if (hapd->wps == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
ret = wps_get_oob_cred(hapd->wps);
|
ret = wps_get_oob_cred(hapd->wps, hostapd_wps_rf_band_cb(hapd),
|
||||||
|
hapd->iconf->channel);
|
||||||
if (ndef && ret) {
|
if (ndef && ret) {
|
||||||
struct wpabuf *tmp;
|
struct wpabuf *tmp;
|
||||||
tmp = ndef_build_wifi(ret);
|
tmp = ndef_build_wifi(ret);
|
||||||
|
|
|
@ -821,7 +821,8 @@ unsigned int wps_generate_pin(void);
|
||||||
int wps_pin_str_valid(const char *pin);
|
int wps_pin_str_valid(const char *pin);
|
||||||
void wps_free_pending_msgs(struct upnp_pending_message *msgs);
|
void wps_free_pending_msgs(struct upnp_pending_message *msgs);
|
||||||
|
|
||||||
struct wpabuf * wps_get_oob_cred(struct wps_context *wps);
|
struct wpabuf * wps_get_oob_cred(struct wps_context *wps, int rf_band,
|
||||||
|
int channel);
|
||||||
int wps_oob_use_cred(struct wps_context *wps, struct wps_parse_attr *attr);
|
int wps_oob_use_cred(struct wps_context *wps, struct wps_parse_attr *attr);
|
||||||
int wps_attr_text(struct wpabuf *data, char *buf, char *end);
|
int wps_attr_text(struct wpabuf *data, char *buf, char *end);
|
||||||
const char * wps_ei_str(enum wps_error_indication ei);
|
const char * wps_ei_str(enum wps_error_indication ei);
|
||||||
|
|
|
@ -352,7 +352,8 @@ void wps_pbc_disable_event(struct wps_context *wps)
|
||||||
|
|
||||||
#ifdef CONFIG_WPS_OOB
|
#ifdef CONFIG_WPS_OOB
|
||||||
|
|
||||||
struct wpabuf * wps_get_oob_cred(struct wps_context *wps)
|
struct wpabuf * wps_get_oob_cred(struct wps_context *wps, int rf_band,
|
||||||
|
int channel)
|
||||||
{
|
{
|
||||||
struct wps_data data;
|
struct wps_data data;
|
||||||
struct wpabuf *plain;
|
struct wpabuf *plain;
|
||||||
|
@ -369,6 +370,9 @@ struct wpabuf * wps_get_oob_cred(struct wps_context *wps)
|
||||||
data.auth_type = wps->auth_types;
|
data.auth_type = wps->auth_types;
|
||||||
data.encr_type = wps->encr_types;
|
data.encr_type = wps->encr_types;
|
||||||
if (wps_build_cred(&data, plain) ||
|
if (wps_build_cred(&data, plain) ||
|
||||||
|
(rf_band && wps_build_rf_bands_attr(plain, rf_band)) ||
|
||||||
|
(channel && wps_build_ap_channel(plain, channel)) ||
|
||||||
|
wps_build_mac_addr(plain, wps->dev.mac_addr) ||
|
||||||
wps_build_wfa_ext(plain, 0, NULL, 0)) {
|
wps_build_wfa_ext(plain, 0, NULL, 0)) {
|
||||||
os_free(data.new_psk);
|
os_free(data.new_psk);
|
||||||
wpabuf_free(plain);
|
wpabuf_free(plain);
|
||||||
|
|
Loading…
Add table
Reference in a new issue