123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /*
- * RADIUS Dynamic Authorization Server (DAS)
- * Copyright (c) 2012, Jouni Malinen <j@w1.fi>
- *
- * This software may be distributed under the terms of the BSD license.
- * See README for more details.
- */
- #ifndef RADIUS_DAS_H
- #define RADIUS_DAS_H
- struct radius_das_data;
- enum radius_das_res {
- RADIUS_DAS_SUCCESS,
- RADIUS_DAS_NAS_MISMATCH,
- RADIUS_DAS_SESSION_NOT_FOUND,
- RADIUS_DAS_MULTI_SESSION_MATCH,
- };
- struct radius_das_attrs {
- /* NAS identification attributes */
- const u8 *nas_ip_addr;
- const u8 *nas_identifier;
- size_t nas_identifier_len;
- const u8 *nas_ipv6_addr;
- /* Session identification attributes */
- const u8 *sta_addr;
- const u8 *user_name;
- size_t user_name_len;
- const u8 *acct_session_id;
- size_t acct_session_id_len;
- const u8 *acct_multi_session_id;
- size_t acct_multi_session_id_len;
- const u8 *cui;
- size_t cui_len;
- };
- struct radius_das_conf {
- int port;
- const u8 *shared_secret;
- size_t shared_secret_len;
- const struct hostapd_ip_addr *client_addr;
- unsigned int time_window;
- int require_event_timestamp;
- void *ctx;
- enum radius_das_res (*disconnect)(void *ctx,
- struct radius_das_attrs *attr);
- };
- struct radius_das_data *
- radius_das_init(struct radius_das_conf *conf);
- void radius_das_deinit(struct radius_das_data *data);
- #endif /* RADIUS_DAS_H */
|