hostapd
radius_das.h
1 /*
2  * RADIUS Dynamic Authorization Server (DAS)
3  * Copyright (c) 2012, Jouni Malinen <j@w1.fi>
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8 
9 #ifndef RADIUS_DAS_H
10 #define RADIUS_DAS_H
11 
12 struct radius_das_data;
13 
14 enum radius_das_res {
15  RADIUS_DAS_SUCCESS,
16  RADIUS_DAS_NAS_MISMATCH,
17  RADIUS_DAS_SESSION_NOT_FOUND,
18  RADIUS_DAS_MULTI_SESSION_MATCH,
19 };
20 
22  /* NAS identification attributes */
23  const u8 *nas_ip_addr;
24  const u8 *nas_identifier;
25  size_t nas_identifier_len;
26  const u8 *nas_ipv6_addr;
27 
28  /* Session identification attributes */
29  const u8 *sta_addr;
30  const u8 *user_name;
31  size_t user_name_len;
32  const u8 *acct_session_id;
33  size_t acct_session_id_len;
34  const u8 *acct_multi_session_id;
35  size_t acct_multi_session_id_len;
36  const u8 *cui;
37  size_t cui_len;
38 };
39 
41  int port;
42  const u8 *shared_secret;
43  size_t shared_secret_len;
44  const struct hostapd_ip_addr *client_addr;
45  unsigned int time_window;
46  int require_event_timestamp;
47  int require_message_authenticator;
48  void *ctx;
49  enum radius_das_res (*disconnect)(void *ctx,
50  struct radius_das_attrs *attr);
51 };
52 
53 struct radius_das_data *
54 radius_das_init(struct radius_das_conf *conf);
55 
56 void radius_das_deinit(struct radius_das_data *data);
57 
58 #endif /* RADIUS_DAS_H */
Definition: ip_addr.h:12
Definition: radius_das.c:19
Definition: radius_das.h:40
Definition: radius_das.h:21