Define struct wpa_ssid::mode as an enum with more readable values
This commit is contained in:
parent
139a33f34e
commit
d7dcba70bc
5 changed files with 32 additions and 17 deletions
|
@ -155,7 +155,17 @@ int wpa_supplicant_create_ap(struct wpa_supplicant *wpa_s,
|
||||||
os_memset(¶ms, 0, sizeof(params));
|
os_memset(¶ms, 0, sizeof(params));
|
||||||
params.ssid = ssid->ssid;
|
params.ssid = ssid->ssid;
|
||||||
params.ssid_len = ssid->ssid_len;
|
params.ssid_len = ssid->ssid_len;
|
||||||
params.mode = ssid->mode;
|
switch (ssid->mode) {
|
||||||
|
case WPAS_MODE_INFRA:
|
||||||
|
params.mode = IEEE80211_MODE_INFRA;
|
||||||
|
break;
|
||||||
|
case WPAS_MODE_IBSS:
|
||||||
|
params.mode = IEEE80211_MODE_IBSS;
|
||||||
|
break;
|
||||||
|
case WPAS_MODE_AP:
|
||||||
|
params.mode = IEEE80211_MODE_AP;
|
||||||
|
break;
|
||||||
|
}
|
||||||
params.freq = ssid->frequency;
|
params.freq = ssid->frequency;
|
||||||
|
|
||||||
if (wpa_drv_associate(wpa_s, ¶ms) < 0) {
|
if (wpa_drv_associate(wpa_s, ¶ms) < 0) {
|
||||||
|
|
|
@ -280,7 +280,11 @@ struct wpa_ssid {
|
||||||
* pairwise=NONE, group=TKIP (or CCMP, but not both), and psk must also
|
* pairwise=NONE, group=TKIP (or CCMP, but not both), and psk must also
|
||||||
* be set (either directly or using ASCII passphrase).
|
* be set (either directly or using ASCII passphrase).
|
||||||
*/
|
*/
|
||||||
int mode;
|
enum wpas_mode {
|
||||||
|
WPAS_MODE_INFRA = 0,
|
||||||
|
WPAS_MODE_IBSS = 1,
|
||||||
|
WPAS_MODE_AP = 2,
|
||||||
|
} mode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* disabled - Whether this network is currently disabled
|
* disabled - Whether this network is currently disabled
|
||||||
|
|
|
@ -476,15 +476,15 @@ static int wpa_supplicant_ctrl_iface_status(struct wpa_supplicant *wpa_s,
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (ssid->mode) {
|
switch (ssid->mode) {
|
||||||
case 0:
|
case WPAS_MODE_INFRA:
|
||||||
ret = os_snprintf(pos, end - pos,
|
ret = os_snprintf(pos, end - pos,
|
||||||
"mode=station\n");
|
"mode=station\n");
|
||||||
break;
|
break;
|
||||||
case 1:
|
case WPAS_MODE_IBSS:
|
||||||
ret = os_snprintf(pos, end - pos,
|
ret = os_snprintf(pos, end - pos,
|
||||||
"mode=IBSS\n");
|
"mode=IBSS\n");
|
||||||
break;
|
break;
|
||||||
case 2:
|
case WPAS_MODE_AP:
|
||||||
ret = os_snprintf(pos, end - pos,
|
ret = os_snprintf(pos, end - pos,
|
||||||
"mode=AP\n");
|
"mode=AP\n");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -754,7 +754,7 @@ static void ieee80211_rx_mgmt_auth(struct wpa_supplicant *wpa_s,
|
||||||
u16 auth_alg, auth_transaction, status_code;
|
u16 auth_alg, auth_transaction, status_code;
|
||||||
int adhoc;
|
int adhoc;
|
||||||
|
|
||||||
adhoc = ssid && ssid->mode == 1;
|
adhoc = ssid && ssid->mode == WPAS_MODE_IBSS;
|
||||||
|
|
||||||
if (wpa_s->mlme.state != IEEE80211_AUTHENTICATE && !adhoc) {
|
if (wpa_s->mlme.state != IEEE80211_AUTHENTICATE && !adhoc) {
|
||||||
wpa_printf(MSG_DEBUG, "MLME: authentication frame received "
|
wpa_printf(MSG_DEBUG, "MLME: authentication frame received "
|
||||||
|
@ -1685,7 +1685,7 @@ static void ieee80211_rx_mgmt_probe_req(struct wpa_supplicant *wpa_s,
|
||||||
u8 *pos, *end;
|
u8 *pos, *end;
|
||||||
struct wpa_ssid *ssid = wpa_s->current_ssid;
|
struct wpa_ssid *ssid = wpa_s->current_ssid;
|
||||||
|
|
||||||
adhoc = ssid && ssid->mode == 1;
|
adhoc = ssid && ssid->mode == WPAS_MODE_IBSS;
|
||||||
|
|
||||||
if (!adhoc || wpa_s->mlme.state != IEEE80211_IBSS_JOINED ||
|
if (!adhoc || wpa_s->mlme.state != IEEE80211_IBSS_JOINED ||
|
||||||
len < 24 + 2 || wpa_s->mlme.probe_resp == NULL)
|
len < 24 + 2 || wpa_s->mlme.probe_resp == NULL)
|
||||||
|
@ -2193,7 +2193,7 @@ static void ieee80211_sta_timer(void *eloop_ctx, void *timeout_ctx)
|
||||||
static void ieee80211_sta_new_auth(struct wpa_supplicant *wpa_s)
|
static void ieee80211_sta_new_auth(struct wpa_supplicant *wpa_s)
|
||||||
{
|
{
|
||||||
struct wpa_ssid *ssid = wpa_s->current_ssid;
|
struct wpa_ssid *ssid = wpa_s->current_ssid;
|
||||||
if (ssid && ssid->mode != 0)
|
if (ssid && ssid->mode != WPAS_MODE_INFRA)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if 0 /* FIX */
|
#if 0 /* FIX */
|
||||||
|
@ -2665,7 +2665,7 @@ int ieee80211_sta_associate(struct wpa_supplicant *wpa_s,
|
||||||
ieee80211_sta_set_channel(wpa_s, wpa_s->mlme.phymode,
|
ieee80211_sta_set_channel(wpa_s, wpa_s->mlme.phymode,
|
||||||
wpa_s->mlme.channel, wpa_s->mlme.freq);
|
wpa_s->mlme.channel, wpa_s->mlme.freq);
|
||||||
|
|
||||||
if (params->mode == 1 && !wpa_s->mlme.bssid_set) {
|
if (params->mode == WPAS_MODE_IBSS && !wpa_s->mlme.bssid_set) {
|
||||||
os_get_time(&wpa_s->mlme.ibss_join_req);
|
os_get_time(&wpa_s->mlme.ibss_join_req);
|
||||||
wpa_s->mlme.state = IEEE80211_IBSS_SEARCH;
|
wpa_s->mlme.state = IEEE80211_IBSS_SEARCH;
|
||||||
return ieee80211_sta_find_ibss(wpa_s);
|
return ieee80211_sta_find_ibss(wpa_s);
|
||||||
|
|
|
@ -150,7 +150,7 @@ static int wpa_supplicant_set_wpa_none_key(struct wpa_supplicant *wpa_s,
|
||||||
/* IBSS/WPA-None uses only one key (Group) for both receiving and
|
/* IBSS/WPA-None uses only one key (Group) for both receiving and
|
||||||
* sending unicast and multicast packets. */
|
* sending unicast and multicast packets. */
|
||||||
|
|
||||||
if (ssid->mode != IEEE80211_MODE_IBSS) {
|
if (ssid->mode != WPAS_MODE_IBSS) {
|
||||||
wpa_printf(MSG_INFO, "WPA: Invalid mode %d (not IBSS/ad-hoc) "
|
wpa_printf(MSG_INFO, "WPA: Invalid mode %d (not IBSS/ad-hoc) "
|
||||||
"for WPA-None", ssid->mode);
|
"for WPA-None", ssid->mode);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -257,7 +257,7 @@ void wpa_supplicant_initiate_eapol(struct wpa_supplicant *wpa_s)
|
||||||
struct wpa_ssid *ssid = wpa_s->current_ssid;
|
struct wpa_ssid *ssid = wpa_s->current_ssid;
|
||||||
|
|
||||||
#ifdef CONFIG_IBSS_RSN
|
#ifdef CONFIG_IBSS_RSN
|
||||||
if (ssid->mode == IEEE80211_MODE_IBSS &&
|
if (ssid->mode == WPAS_MODE_IBSS &&
|
||||||
wpa_s->key_mgmt != WPA_KEY_MGMT_NONE &&
|
wpa_s->key_mgmt != WPA_KEY_MGMT_NONE &&
|
||||||
wpa_s->key_mgmt != WPA_KEY_MGMT_WPA_NONE) {
|
wpa_s->key_mgmt != WPA_KEY_MGMT_WPA_NONE) {
|
||||||
/*
|
/*
|
||||||
|
@ -990,7 +990,7 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
|
||||||
int assoc_failed = 0;
|
int assoc_failed = 0;
|
||||||
struct wpa_ssid *old_ssid;
|
struct wpa_ssid *old_ssid;
|
||||||
|
|
||||||
if (ssid->mode == IEEE80211_MODE_AP) {
|
if (ssid->mode == WPAS_MODE_AP) {
|
||||||
#ifdef CONFIG_AP
|
#ifdef CONFIG_AP
|
||||||
if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_AP)) {
|
if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_AP)) {
|
||||||
wpa_printf(MSG_INFO, "Driver does not support AP "
|
wpa_printf(MSG_INFO, "Driver does not support AP "
|
||||||
|
@ -1180,7 +1180,8 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
|
||||||
params.ssid = ssid->ssid;
|
params.ssid = ssid->ssid;
|
||||||
params.ssid_len = ssid->ssid_len;
|
params.ssid_len = ssid->ssid_len;
|
||||||
}
|
}
|
||||||
if (ssid->mode == 1 && ssid->frequency > 0 && params.freq == 0)
|
if (ssid->mode == WPAS_MODE_IBSS && ssid->frequency > 0 &&
|
||||||
|
params.freq == 0)
|
||||||
params.freq = ssid->frequency; /* Initial channel for IBSS */
|
params.freq = ssid->frequency; /* Initial channel for IBSS */
|
||||||
params.wpa_ie = wpa_ie;
|
params.wpa_ie = wpa_ie;
|
||||||
params.wpa_ie_len = wpa_ie_len;
|
params.wpa_ie_len = wpa_ie_len;
|
||||||
|
@ -1253,7 +1254,7 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
|
||||||
wpa_supplicant_cancel_auth_timeout(wpa_s);
|
wpa_supplicant_cancel_auth_timeout(wpa_s);
|
||||||
wpa_supplicant_set_state(wpa_s, WPA_COMPLETED);
|
wpa_supplicant_set_state(wpa_s, WPA_COMPLETED);
|
||||||
#ifdef CONFIG_IBSS_RSN
|
#ifdef CONFIG_IBSS_RSN
|
||||||
} else if (ssid->mode == IEEE80211_MODE_IBSS &&
|
} else if (ssid->mode == WPAS_MODE_IBSS &&
|
||||||
wpa_s->key_mgmt != WPA_KEY_MGMT_NONE &&
|
wpa_s->key_mgmt != WPA_KEY_MGMT_NONE &&
|
||||||
wpa_s->key_mgmt != WPA_KEY_MGMT_WPA_NONE) {
|
wpa_s->key_mgmt != WPA_KEY_MGMT_WPA_NONE) {
|
||||||
ibss_rsn_set_psk(wpa_s->ibss_rsn, ssid->psk);
|
ibss_rsn_set_psk(wpa_s->ibss_rsn, ssid->psk);
|
||||||
|
@ -1269,10 +1270,10 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
|
||||||
|
|
||||||
if (assoc_failed) {
|
if (assoc_failed) {
|
||||||
/* give IBSS a bit more time */
|
/* give IBSS a bit more time */
|
||||||
timeout = ssid->mode ? 10 : 5;
|
timeout = ssid->mode == WPAS_MODE_IBSS ? 10 : 5;
|
||||||
} else if (wpa_s->conf->ap_scan == 1) {
|
} else if (wpa_s->conf->ap_scan == 1) {
|
||||||
/* give IBSS a bit more time */
|
/* give IBSS a bit more time */
|
||||||
timeout = ssid->mode ? 20 : 10;
|
timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10;
|
||||||
}
|
}
|
||||||
wpa_supplicant_req_auth_timeout(wpa_s, timeout, 0);
|
wpa_supplicant_req_auth_timeout(wpa_s, timeout, 0);
|
||||||
}
|
}
|
||||||
|
@ -1766,7 +1767,7 @@ void wpa_supplicant_rx_eapol(void *ctx, const u8 *src_addr,
|
||||||
|
|
||||||
#ifdef CONFIG_IBSS_RSN
|
#ifdef CONFIG_IBSS_RSN
|
||||||
if (wpa_s->current_ssid &&
|
if (wpa_s->current_ssid &&
|
||||||
wpa_s->current_ssid->mode == IEEE80211_MODE_IBSS) {
|
wpa_s->current_ssid->mode == WPAS_MODE_IBSS) {
|
||||||
ibss_rsn_rx_eapol(wpa_s->ibss_rsn, src_addr, buf, len);
|
ibss_rsn_rx_eapol(wpa_s->ibss_rsn, src_addr, buf, len);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue