2008-02-28 02:34:43 +01:00
|
|
|
/*
|
|
|
|
* hostapd / IEEE 802.11 authentication (ACL)
|
2022-04-02 12:12:43 +02:00
|
|
|
* Copyright (c) 2003-2022, Jouni Malinen <j@w1.fi>
|
2008-02-28 02:34:43 +01:00
|
|
|
*
|
2012-02-11 15:46:35 +01:00
|
|
|
* This software may be distributed under the terms of the BSD license.
|
|
|
|
* See README for more details.
|
2008-02-28 02:34:43 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef IEEE802_11_AUTH_H
|
|
|
|
#define IEEE802_11_AUTH_H
|
|
|
|
|
|
|
|
enum {
|
|
|
|
HOSTAPD_ACL_REJECT = 0,
|
|
|
|
HOSTAPD_ACL_ACCEPT = 1,
|
|
|
|
HOSTAPD_ACL_PENDING = 2,
|
|
|
|
HOSTAPD_ACL_ACCEPT_TIMEOUT = 3
|
|
|
|
};
|
|
|
|
|
2019-04-28 13:14:57 +02:00
|
|
|
struct radius_sta {
|
|
|
|
u32 session_timeout;
|
|
|
|
u32 acct_interim_interval;
|
|
|
|
struct vlan_description vlan_id;
|
|
|
|
struct hostapd_sta_wpa_psk_short *psk;
|
|
|
|
char *identity;
|
|
|
|
char *radius_cui;
|
|
|
|
};
|
|
|
|
|
2016-01-21 14:51:56 +01:00
|
|
|
int hostapd_check_acl(struct hostapd_data *hapd, const u8 *addr,
|
|
|
|
struct vlan_description *vlan_id);
|
2008-02-28 02:34:43 +01:00
|
|
|
int hostapd_allowed_address(struct hostapd_data *hapd, const u8 *addr,
|
2019-04-28 13:14:57 +02:00
|
|
|
const u8 *msg, size_t len, struct radius_sta *out,
|
2018-02-14 14:43:56 +01:00
|
|
|
int is_probe_req);
|
2008-02-28 02:34:43 +01:00
|
|
|
int hostapd_acl_init(struct hostapd_data *hapd);
|
|
|
|
void hostapd_acl_deinit(struct hostapd_data *hapd);
|
2012-11-25 17:01:55 +01:00
|
|
|
void hostapd_free_psk_list(struct hostapd_sta_wpa_psk_short *psk);
|
2015-07-20 12:39:22 +02:00
|
|
|
void hostapd_acl_expire(struct hostapd_data *hapd);
|
2019-04-28 13:14:57 +02:00
|
|
|
void hostapd_copy_psk_list(struct hostapd_sta_wpa_psk_short **psk,
|
|
|
|
struct hostapd_sta_wpa_psk_short *src);
|
2022-04-02 12:12:43 +02:00
|
|
|
void hostapd_acl_req_radius_psk(struct hostapd_data *hapd, const u8 *addr,
|
|
|
|
int key_mgmt, const u8 *anonce,
|
|
|
|
const u8 *eapol, size_t eapol_len);
|
2008-02-28 02:34:43 +01:00
|
|
|
|
|
|
|
#endif /* IEEE802_11_AUTH_H */
|