1234567891011121314151617181920212223242526272829303132333435 |
- Example application using RADIUS client as a library
- Copyright (c) 2007, Jouni Malinen <j@w1.fi>
- This software may be distributed under the terms of the BSD license.
- See the parent directory README for more details.
- This directory contains an example showing how the RADIUS client
- functionality from hostapd can be used as a library in another
- program. The example program initializes the RADIUS client and send a
- Access-Request using User-Name and User-Password attributes. A reply
- from the RADIUS authentication server will be processed and it is used
- as a trigger to terminate the example program.
- The RADIUS library links in couple of helper functions from src/utils and
- src/crypto directories. Most of these are suitable as-is, but it may
- be desirable to replace the debug output code in src/utils/wpa_debug.c
- by dropping this file from the library and re-implementing the
- functions there in a way that better fits in with the main
- application.
- RADIUS client implementation takes care of receiving messages,
- timeouts, and retransmissions of packets. Consequently, it requires
- functionality for registering timeouts and received packet
- notifications. This is implemented using the generic event loop
- implementation (see src/utils/eloop.h).
- The main application may either use the included event loop
- implementation or alternatively, implement eloop_* wrapper functions
- to use whatever event loop design is used in the main program. This
- would involve removing src/utils/eloop.o from the library and
- implementing following functions defines in src/utils/eloop.h:
- eloop_register_timeout(), eloop_cancel_timeout(),
- eloop_register_read_sock(), eloop_unregister_read_sock(), and
- eloop_terminated().
|