]> git.ipfire.org Git - thirdparty/hostap.git/blame - eap_example/README
Rename EAP server source files to avoid duplicate names
[thirdparty/hostap.git] / eap_example / README
CommitLineData
6fc6879b
JM
1EAP peer/server library and example program
2Copyright (c) 2007, Jouni Malinen <j@w1.fi>
3
4This program is free software; you can redistribute it and/or modify
5it under the terms of the GNU General Public License version 2 as
6published by the Free Software Foundation.
7
8Alternatively, this software may be distributed under the terms of BSD
9license.
10
11
12The interfaces of the EAP server/peer implementation are based on RFC
134137 (EAP State Machines). This RFC is coordinated with the state
14machines defined in IEEE 802.1X-2004. hostapd and wpa_supplicant
15include implementation of the IEEE 802.1X EAPOL state machines and the
16interface between them and EAP. However, the EAP implementation can be
17used with other protocols, too, by providing a compatible interface
18which maps the EAPOL<->EAP variables to another protocol.
19
20This directory contains an example showing how EAP peer and server
21code from wpa_supplicant and hostapd can be used as a library. The
22example program initializes both an EAP server and an EAP peer
23entities and then runs through an EAP-PEAP/MSCHAPv2 authentication.
24
25eap_example_peer.c shows the initialization and glue code needed to
26control the EAP peer implementation. eap_example_server.c does the
27same for EAP server. eap_example.c is an example that ties in both the
28EAP server and client parts to allow an EAP authentication to be
29shown.
30
31In this example, the EAP messages are passed between the server and
32the peer are passed by direct function calls within the same process.
33In practice, server and peer functionalities would likely reside in
34separate devices and the EAP messages would be transmitted between the
35devices based on an external protocol. For example, in IEEE 802.11
36uses IEEE 802.1X EAPOL state machines to control the transmission of
37EAP messages and WiMax supports optional PMK EAP authentication
38mechanism that transmits EAP messages as defined in IEEE 802.16e.
39
40
41The EAP library links in number of helper functions from src/utils and
42src/crypto directories. Most of these are suitable as-is, but it may
43be desirable to replace the debug output code in src/utils/wpa_debug.c
44by dropping this file from the library and re-implementing the
45functions there in a way that better fits in with the main
46application.