722138cd25
Instead of building in the source tree, put most object files into the build/ folder at the root, and put each thing that's being built into a separate folder. This then allows us to build hostapd and wpa_supplicant (or other combinations) without "make clean" inbetween. For the tests keep the objects in place for now (and to do that, add the build rule) so that we don't have to rewrite all of that with $(call BUILDOBJS,...) which is just noise there. Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
||
---|---|---|
.. | ||
.gitignore | ||
Makefile | ||
radius_example.c | ||
README |
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().