WPS: Enable WSC 2.0 support unconditionally

There is not much point in building devices with WPS 1.0 only supported
nowadays. As such, there is not sufficient justification for maintaining
extra complexity for the CONFIG_WPS2 build option either. Remove this by
enabling WSC 2.0 support unconditionally.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2014-03-25 17:40:50 +02:00 committed by Jouni Malinen
parent 91364b7f10
commit c201f93a9e
24 changed files with 4 additions and 158 deletions

View file

@ -378,48 +378,11 @@ static int hapd_wps_reconfig_in_memory(struct hostapd_data *hapd,
}
bss->auth_algs = 1;
} else {
#ifdef CONFIG_WPS2
/*
* WPS 2.0 does not allow WEP to be configured, so no need to
* process that option here either.
*/
bss->auth_algs = 1;
#else /* CONFIG_WPS2 */
if ((cred->auth_type & WPS_AUTH_OPEN) &&
(cred->auth_type & WPS_AUTH_SHARED))
bss->auth_algs = 3;
else if (cred->auth_type & WPS_AUTH_SHARED)
bss->auth_algs = 2;
else
bss->auth_algs = 1;
if (cred->encr_type & WPS_ENCR_WEP && cred->key_idx > 0 &&
cred->key_idx <= 4) {
struct hostapd_wep_keys *wep = &bss->ssid.wep;
int idx = cred->key_idx;
if (idx)
idx--;
wep->idx = idx;
if (cred->key_len == 10 || cred->key_len == 26) {
os_free(wep->key[idx]);
wep->key[idx] = os_malloc(cred->key_len / 2);
if (wep->key[idx] == NULL ||
hexstr2bin((const char *) cred->key,
wep->key[idx],
cred->key_len / 2))
return -1;
wep->len[idx] = cred->key_len / 2;
} else {
os_free(wep->key[idx]);
wep->key[idx] = os_malloc(cred->key_len);
if (wep->key[idx] == NULL)
return -1;
os_memcpy(wep->key[idx], cred->key,
cred->key_len);
wep->len[idx] = cred->key_len;
}
wep->keys_set = 1;
}
#endif /* CONFIG_WPS2 */
}
/* Schedule configuration reload after short period of time to allow
@ -594,39 +557,11 @@ static int hapd_wps_cred_cb(struct hostapd_data *hapd, void *ctx)
fprintf(nconf, "auth_algs=1\n");
} else {
#ifdef CONFIG_WPS2
/*
* WPS 2.0 does not allow WEP to be configured, so no need to
* process that option here either.
*/
fprintf(nconf, "auth_algs=1\n");
#else /* CONFIG_WPS2 */
if ((cred->auth_type & WPS_AUTH_OPEN) &&
(cred->auth_type & WPS_AUTH_SHARED))
fprintf(nconf, "auth_algs=3\n");
else if (cred->auth_type & WPS_AUTH_SHARED)
fprintf(nconf, "auth_algs=2\n");
else
fprintf(nconf, "auth_algs=1\n");
if (cred->encr_type & WPS_ENCR_WEP && cred->key_idx <= 4) {
int key_idx = cred->key_idx;
if (key_idx)
key_idx--;
fprintf(nconf, "wep_default_key=%d\n", key_idx);
fprintf(nconf, "wep_key%d=", key_idx);
if (cred->key_len == 10 || cred->key_len == 26) {
/* WEP key as a hex string */
for (i = 0; i < cred->key_len; i++)
fputc(cred->key[i], nconf);
} else {
/* Raw WEP key; convert to hex */
for (i = 0; i < cred->key_len; i++)
fprintf(nconf, "%02x", cred->key[i]);
}
fprintf(nconf, "\n");
}
#endif /* CONFIG_WPS2 */
}
fprintf(nconf, "# WPS configuration - END\n");
@ -1078,7 +1013,6 @@ int hostapd_init_wps(struct hostapd_data *hapd,
os_strdup(hapd->conf->serial_number) : NULL;
wps->config_methods =
wps_config_methods_str2bin(hapd->conf->config_methods);
#ifdef CONFIG_WPS2
if ((wps->config_methods &
(WPS_CONFIG_DISPLAY | WPS_CONFIG_VIRT_DISPLAY |
WPS_CONFIG_PHY_DISPLAY)) == WPS_CONFIG_DISPLAY) {
@ -1093,7 +1027,6 @@ int hostapd_init_wps(struct hostapd_data *hapd,
"virtual_push_button for WPS 2.0 compliance");
wps->config_methods |= WPS_CONFIG_VIRT_PUSHBUTTON;
}
#endif /* CONFIG_WPS2 */
os_memcpy(wps->dev.pri_dev_type, hapd->conf->device_type,
WPS_DEV_TYPE_LEN);