2 * RADIUS Dynamic Authorization Server (DAS)
3 * Copyright (c) 2012, Jouni Malinen <j@w1.fi>
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
12 struct radius_das_data;
16 RADIUS_DAS_NAS_MISMATCH,
17 RADIUS_DAS_SESSION_NOT_FOUND,
18 RADIUS_DAS_MULTI_SESSION_MATCH,
19 RADIUS_DAS_COA_FAILED,
22 struct radius_das_attrs {
23 /* NAS identification attributes */
24 const u8 *nas_ip_addr;
25 const u8 *nas_identifier;
26 size_t nas_identifier_len;
27 const u8 *nas_ipv6_addr;
29 /* Session identification attributes */
33 const u8 *acct_session_id;
34 size_t acct_session_id_len;
35 const u8 *acct_multi_session_id;
36 size_t acct_multi_session_id_len;
40 /* Authorization changes */
41 const u8 *hs20_t_c_filtering;
44 struct radius_das_conf {
46 const u8 *shared_secret;
47 size_t shared_secret_len;
48 const struct hostapd_ip_addr *client_addr;
49 unsigned int time_window;
50 int require_event_timestamp;
51 int require_message_authenticator;
53 enum radius_das_res (*disconnect)(void *ctx,
54 struct radius_das_attrs *attr);
55 enum radius_das_res (*coa)(void *ctx, struct radius_das_attrs *attr);
58 struct radius_das_data *
59 radius_das_init(struct radius_das_conf *conf);
61 void radius_das_deinit(struct radius_das_data *data);
63 #endif /* RADIUS_DAS_H */