Changeset View
Changeset View
Standalone View
Standalone View
contrib/wpa/eap_example/README
- This file was added.
EAP peer/server library and example program | |||||
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. | |||||
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. |