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:
Jouni Malinen 2013-11-28 12:31:32 +02:00 committed by Jouni Malinen
parent 75dbf98157
commit d2f18378e1
3 changed files with 9 additions and 3 deletions

View File

@ -1784,7 +1784,8 @@ struct wpabuf * hostapd_wps_nfc_config_token(struct hostapd_data *hapd,
if (hapd->wps == 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) {
struct wpabuf *tmp;
tmp = ndef_build_wifi(ret);

View File

@ -821,7 +821,8 @@ unsigned int wps_generate_pin(void);
int wps_pin_str_valid(const char *pin);
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_attr_text(struct wpabuf *data, char *buf, char *end);
const char * wps_ei_str(enum wps_error_indication ei);

View File

@ -352,7 +352,8 @@ void wps_pbc_disable_event(struct wps_context *wps)
#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 wpabuf *plain;
@ -369,6 +370,9 @@ struct wpabuf * wps_get_oob_cred(struct wps_context *wps)
data.auth_type = wps->auth_types;
data.encr_type = wps->encr_types;
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)) {
os_free(data.new_psk);
wpabuf_free(plain);