00001 /* 00002 * RADIUS authentication server 00003 * Copyright (c) 2005-2009, Jouni Malinen <j@w1.fi> 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License version 2 as 00007 * published by the Free Software Foundation. 00008 * 00009 * Alternatively, this software may be distributed under the terms of BSD 00010 * license. 00011 * 00012 * See README and COPYING for more details. 00013 */ 00014 00015 #ifndef RADIUS_SERVER_H 00016 #define RADIUS_SERVER_H 00017 00018 struct radius_server_data; 00019 struct eap_user; 00020 00024 struct radius_server_conf { 00028 int auth_port; 00029 00041 char *client_file; 00042 00048 void *conf_ctx; 00049 00056 void *eap_sim_db_priv; 00057 00064 void *ssl_ctx; 00065 00073 u8 *pac_opaque_encr_key; 00074 00084 u8 *eap_fast_a_id; 00085 00089 size_t eap_fast_a_id_len; 00090 00099 char *eap_fast_a_id_info; 00100 00108 int eap_fast_prov; 00109 00116 int pac_key_lifetime; 00117 00125 int pac_key_refresh_time; 00126 00133 int eap_sim_aka_result_ind; 00134 00143 int tnc; 00144 00152 struct wps_context *wps; 00153 00157 int ipv6; 00158 00173 int (*get_eap_user)(void *ctx, const u8 *identity, size_t identity_len, 00174 int phase2, struct eap_user *user); 00175 00186 const char *eap_req_id_text; 00187 00191 size_t eap_req_id_text_len; 00192 00193 /* 00194 * msg_ctx - Context data for wpa_msg() calls 00195 */ 00196 void *msg_ctx; 00197 }; 00198 00199 00200 struct radius_server_data * 00201 radius_server_init(struct radius_server_conf *conf); 00202 00203 void radius_server_deinit(struct radius_server_data *data); 00204 00205 int radius_server_get_mib(struct radius_server_data *data, char *buf, 00206 size_t buflen); 00207 00208 void radius_server_eap_pending_cb(struct radius_server_data *data, void *ctx); 00209 00210 #endif /* RADIUS_SERVER_H */