WPS: Store (secondary) device type as binary
Instead of converting back and forth from the string representation, always use the binary representation internally. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
85a821d611
commit
2f646b6e83
11 changed files with 82 additions and 163 deletions
|
@ -456,7 +456,6 @@ static void hostapd_config_free_bss(struct hostapd_bss_config *conf)
|
|||
os_free(conf->model_name);
|
||||
os_free(conf->model_number);
|
||||
os_free(conf->serial_number);
|
||||
os_free(conf->device_type);
|
||||
os_free(conf->config_methods);
|
||||
os_free(conf->ap_pin);
|
||||
os_free(conf->extra_cred);
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include "common/defs.h"
|
||||
#include "ip_addr.h"
|
||||
#include "common/wpa_common.h"
|
||||
#include "wps/wps.h"
|
||||
|
||||
#define MAX_STA_COUNT 2007
|
||||
#define MAX_VLAN_ID 4094
|
||||
|
@ -299,7 +300,7 @@ struct hostapd_bss_config {
|
|||
char *model_name;
|
||||
char *model_number;
|
||||
char *serial_number;
|
||||
char *device_type;
|
||||
u8 device_type[WPS_DEV_TYPE_LEN];
|
||||
char *config_methods;
|
||||
u8 os_version[4];
|
||||
char *ap_pin;
|
||||
|
|
|
@ -728,13 +728,9 @@ int hostapd_init_wps(struct hostapd_data *hapd,
|
|||
wps->config_methods |= WPS_CONFIG_VIRT_PUSHBUTTON;
|
||||
}
|
||||
#endif /* CONFIG_WPS2 */
|
||||
if (hapd->conf->device_type &&
|
||||
wps_dev_type_str2bin(hapd->conf->device_type,
|
||||
wps->dev.pri_dev_type) < 0) {
|
||||
wpa_printf(MSG_ERROR, "WPS: Invalid device_type");
|
||||
os_free(wps);
|
||||
return -1;
|
||||
}
|
||||
os_memcpy(wps->dev.pri_dev_type, hapd->conf->device_type,
|
||||
WPS_DEV_TYPE_LEN);
|
||||
|
||||
wps->dev.os_version = WPA_GET_BE32(hapd->conf->os_version);
|
||||
wps->dev.rf_bands = hapd->iconf->hw_mode == HOSTAPD_MODE_IEEE80211A ?
|
||||
WPS_RF_50GHZ : WPS_RF_24GHZ; /* FIX: dualband AP */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue