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:
parent
91364b7f10
commit
c201f93a9e
24 changed files with 4 additions and 158 deletions
|
@ -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);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue