46 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 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.
 | 
