radius_server.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /*
  2. * hostapd / RADIUS authentication server
  3. * Copyright (c) 2005-2007, Jouni Malinen <j@w1.fi>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * published by the Free Software Foundation.
  8. *
  9. * Alternatively, this software may be distributed under the terms of BSD
  10. * license.
  11. *
  12. * See README and COPYING for more details.
  13. */
  14. #ifndef RADIUS_SERVER_H
  15. #define RADIUS_SERVER_H
  16. struct radius_server_data;
  17. struct eap_user;
  18. struct radius_server_conf {
  19. int auth_port;
  20. char *client_file;
  21. void *conf_ctx;
  22. void *eap_sim_db_priv;
  23. void *ssl_ctx;
  24. u8 *pac_opaque_encr_key;
  25. u8 *eap_fast_a_id;
  26. size_t eap_fast_a_id_len;
  27. char *eap_fast_a_id_info;
  28. int eap_fast_prov;
  29. int pac_key_lifetime;
  30. int pac_key_refresh_time;
  31. int eap_sim_aka_result_ind;
  32. int tnc;
  33. struct wps_context *wps;
  34. int ipv6;
  35. int (*get_eap_user)(void *ctx, const u8 *identity, size_t identity_len,
  36. int phase2, struct eap_user *user);
  37. const char *eap_req_id_text;
  38. size_t eap_req_id_text_len;
  39. };
  40. #ifdef RADIUS_SERVER
  41. struct radius_server_data *
  42. radius_server_init(struct radius_server_conf *conf);
  43. void radius_server_deinit(struct radius_server_data *data);
  44. int radius_server_get_mib(struct radius_server_data *data, char *buf,
  45. size_t buflen);
  46. void radius_server_eap_pending_cb(struct radius_server_data *data, void *ctx);
  47. #else /* RADIUS_SERVER */
  48. static inline struct radius_server_data *
  49. radius_server_init(struct radius_server_conf *conf)
  50. {
  51. return NULL;
  52. }
  53. static inline void radius_server_deinit(struct radius_server_data *data)
  54. {
  55. }
  56. static inline int radius_server_get_mib(struct radius_server_data *data,
  57. char *buf, size_t buflen)
  58. {
  59. return 0;
  60. }
  61. static inline void
  62. radius_server_eap_pending_cb(struct radius_server_data *data, void *ctx)
  63. {
  64. }
  65. #endif /* RADIUS_SERVER */
  66. #endif /* RADIUS_SERVER_H */