03da66bd59
In addition, start ordering header file includes to be in more consistent order: system header files, src/utils, src/*, same directory as the *.c file. |
||
---|---|---|
.. | ||
.gitignore | ||
ca.pem | ||
eap_example.c | ||
eap_example_peer.c | ||
eap_example_server.c | ||
Makefile | ||
README | ||
server-key.pem | ||
server.key | ||
server.pem |
EAP peer/server library and example program Copyright (c) 2007, Jouni Malinen <j@w1.fi> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. Alternatively, this software may be distributed under the terms of BSD license. The interfaces of the EAP server/peer implementation are based on RFC 4137 (EAP State Machines). This RFC is coordinated with the state machines defined in IEEE 802.1X-2004. hostapd and wpa_supplicant include implementation of the IEEE 802.1X EAPOL state machines and the interface between them and EAP. However, the EAP implementation can be used with other protocols, too, by providing a compatible interface which maps the EAPOL<->EAP variables to another protocol. This directory contains an example showing how EAP peer and server code from wpa_supplicant and hostapd can be used as a library. The example program initializes both an EAP server and an EAP peer entities and then runs through an EAP-PEAP/MSCHAPv2 authentication. eap_example_peer.c shows the initialization and glue code needed to control the EAP peer implementation. eap_example_server.c does the same for EAP server. eap_example.c is an example that ties in both the EAP server and client parts to allow an EAP authentication to be shown. In this example, the EAP messages are passed between the server and the peer are passed by direct function calls within the same process. In practice, server and peer functionalities would likely reside in separate devices and the EAP messages would be transmitted between the devices based on an external protocol. For example, in IEEE 802.11 uses IEEE 802.1X EAPOL state machines to control the transmission of EAP messages and WiMax supports optional PMK EAP authentication mechanism that transmits EAP messages as defined in IEEE 802.16e. The EAP library links in number 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.