Add default_radius_vlan in sta_info
Used to store the vlan_description corresponding to RADIUS tag 0. Signed-off-by: Tom Barthe <jeltz+hostap@auro.re>
This commit is contained in:
parent
a6fc725f4b
commit
0b17c48b9b
2 changed files with 3 additions and 16 deletions
|
@ -2321,25 +2321,11 @@ ieee802_11_set_radius_info(struct hostapd_data *hapd, struct sta_info *sta,
|
|||
{
|
||||
u32 session_timeout = info->session_timeout;
|
||||
u32 acct_interim_interval = info->acct_interim_interval;
|
||||
struct vlan_description *vlan_id = &info->vlan_id;
|
||||
struct hostapd_sta_wpa_psk_short *psk = info->psk;
|
||||
char *identity = info->identity;
|
||||
char *radius_cui = info->radius_cui;
|
||||
|
||||
if (vlan_id->notempty &&
|
||||
!hostapd_vlan_valid(hapd->conf->vlan, vlan_id)) {
|
||||
hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_RADIUS,
|
||||
HOSTAPD_LEVEL_INFO,
|
||||
"Invalid VLAN %d%s received from RADIUS server",
|
||||
vlan_id->untagged,
|
||||
vlan_id->tagged[0] ? "+" : "");
|
||||
return -1;
|
||||
}
|
||||
if (ap_sta_set_vlan(hapd, sta, vlan_id) < 0)
|
||||
return -1;
|
||||
if (sta->vlan_id)
|
||||
hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_RADIUS,
|
||||
HOSTAPD_LEVEL_INFO, "VLAN ID %d", sta->vlan_id);
|
||||
sta->default_radius_vlan = info->vlan_id;
|
||||
|
||||
hostapd_free_psk_list(sta->psk);
|
||||
if (hapd->conf->wpa_psk_radius != PSK_RADIUS_IGNORED)
|
||||
|
|
|
@ -200,8 +200,9 @@ struct sta_info {
|
|||
int vlan_id; /* 0: none, >0: VID */
|
||||
struct vlan_description *vlan_desc;
|
||||
int vlan_id_bound; /* updated by ap_sta_bind_vlan() */
|
||||
/* PSKs from RADIUS authentication server */
|
||||
/* PSKs from RADIUS authentication server */
|
||||
struct hostapd_sta_wpa_psk_short *psk;
|
||||
struct vlan_description default_radius_vlan;
|
||||
|
||||
char *identity; /* User-Name from RADIUS */
|
||||
char *radius_cui; /* Chargeable-User-Identity from RADIUS */
|
||||
|
|
Loading…
Reference in a new issue