summaryrefslogtreecommitdiffstats
path: root/contrib/wpa_supplicant/doc
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2007-07-11 15:48:36 +0000
committersam <sam@FreeBSD.org>2007-07-11 15:48:36 +0000
commit35aef052ff21baa52c4cec68b512986c21f70a48 (patch)
treec3da7f33886a852f7dceb74373fbdeec49a48f77 /contrib/wpa_supplicant/doc
parent840099f34d8de1ca769f02fae379c4d8e5d6688a (diff)
downloadFreeBSD-src-35aef052ff21baa52c4cec68b512986c21f70a48.zip
FreeBSD-src-35aef052ff21baa52c4cec68b512986c21f70a48.tar.gz
Import of WPA supplicant 0.5.8
Diffstat (limited to 'contrib/wpa_supplicant/doc')
-rw-r--r--contrib/wpa_supplicant/doc/code_structure.doxygen6
-rw-r--r--contrib/wpa_supplicant/doc/ctrl_iface.doxygen30
-rw-r--r--contrib/wpa_supplicant/doc/docbook/wpa_background.84
-rw-r--r--contrib/wpa_supplicant/doc/docbook/wpa_background.sgml2
-rw-r--r--contrib/wpa_supplicant/doc/docbook/wpa_cli.815
-rw-r--r--contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml14
-rw-r--r--contrib/wpa_supplicant/doc/docbook/wpa_passphrase.89
-rw-r--r--contrib/wpa_supplicant/doc/docbook/wpa_passphrase.sgml7
-rw-r--r--contrib/wpa_supplicant/doc/docbook/wpa_supplicant.817
-rw-r--r--contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.58
-rw-r--r--contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.sgml6
-rw-r--r--contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml26
-rw-r--r--contrib/wpa_supplicant/doc/doxygen.fast2
-rw-r--r--contrib/wpa_supplicant/doc/doxygen.full4
-rw-r--r--contrib/wpa_supplicant/doc/eap.doxygen28
-rwxr-xr-xcontrib/wpa_supplicant/doc/kerneldoc2doxygen.pl4
-rw-r--r--contrib/wpa_supplicant/doc/mainpage.doxygen2
-rw-r--r--contrib/wpa_supplicant/doc/porting.doxygen91
-rw-r--r--contrib/wpa_supplicant/doc/testing_tools.doxygen9
19 files changed, 239 insertions, 45 deletions
diff --git a/contrib/wpa_supplicant/doc/code_structure.doxygen b/contrib/wpa_supplicant/doc/code_structure.doxygen
index 6a32e59..23b7f22 100644
--- a/contrib/wpa_supplicant/doc/code_structure.doxygen
+++ b/contrib/wpa_supplicant/doc/code_structure.doxygen
@@ -219,6 +219,12 @@ eap_pax.c, eap_pax_common.h, eap_pax_common.c
eap_psk.c, eap_psk_common.h, eap_psk_common.c
EAP-PSK (note: this is not needed for WPA-PSK)
+eap_sake.c, eap_sake_common.h, eap_sake_common.c
+ EAP-SAKE
+
+eap_gpsk.c, eap_gpsk_common.h, eap_gpsk_common.c
+ EAP-GPSK
+
eap_aka.c, eap_fast.c, eap_gtc.c, eap_leap.c, eap_md5.c, eap_mschapv2.c,
eap_otp.c, eap_peap.c, eap_sim.c, eap_tls.c
Other EAP method implementations
diff --git a/contrib/wpa_supplicant/doc/ctrl_iface.doxygen b/contrib/wpa_supplicant/doc/ctrl_iface.doxygen
index fd1b9c4..f9e7d0e 100644
--- a/contrib/wpa_supplicant/doc/ctrl_iface.doxygen
+++ b/contrib/wpa_supplicant/doc/ctrl_iface.doxygen
@@ -138,6 +138,7 @@ Same as STATUS, but with more verbosity (i.e., more \c variable=value pairs).
\verbatim
bssid=02:00:01:02:03:04
ssid=test network
+id=0
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA-PSK
@@ -368,11 +369,15 @@ CTRL-RSP-PASSWORD-1-secret
\endverbatim
-\subsection ctrl_iface_GET_CAPABILITY GET_CAPABILITY <option>
+\subsection ctrl_iface_GET_CAPABILITY GET_CAPABILITY <option> [strict]
Get list of supported functionality (eap, pairwise, group,
proto). Supported functionality is shown as space separate lists of
values used in the same format as in %wpa_supplicant configuration.
+If optional argument, 'strict', is added, only the values that the
+driver claims to explicitly support are included. Without this, all
+available capabilities are included if the driver does not provide
+a mechanism for querying capabilities.
Example request/reply pairs:
@@ -387,6 +392,10 @@ CCMP TKIP NONE
\endverbatim
\verbatim
+GET_CAPABILITY pairwise strict
+\endverbatim
+
+\verbatim
GET_CAPABILITY group
CCMP TKIP WEP104 WEP40
\endverbatim
@@ -406,4 +415,23 @@ GET_CAPABILITY auth_alg
OPEN SHARED LEAP
\endverbatim
+
+\subsection ctrl_iface_AP_SCAN AP_SCAN <ap_scan value>
+
+Change ap_scan value:
+0 = no scanning,
+1 = %wpa_supplicant requests scans and uses scan results to select the AP,
+2 = %wpa_supplicant does not use scanning and just requests driver to
+associate and take care of AP selection
+
+
+\subsection ctrl_iface_INTERFACES INTERFACES
+
+List configured interfaces.
+
+\verbatim
+wlan0
+eth0
+\endverbatim
+
*/
diff --git a/contrib/wpa_supplicant/doc/docbook/wpa_background.8 b/contrib/wpa_supplicant/doc/docbook/wpa_background.8
index 3a7be28..7f9d637 100644
--- a/contrib/wpa_supplicant/doc/docbook/wpa_background.8
+++ b/contrib/wpa_supplicant/doc/docbook/wpa_background.8
@@ -3,7 +3,7 @@
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "WPA_BACKGROUND" "8" "08 February 2006" "" ""
+.TH "WPA_BACKGROUND" "8" "28 May 2007" "" ""
.SH NAME
wpa_background \- Background information on Wi-Fi Protected Access and IEEE 802.11i
@@ -76,7 +76,7 @@ pre-authentication, and PMKSA caching).
.SH "LEGAL"
.PP
wpa_supplicant is copyright (c) 2003-2005,
-Jouni Malinen <jkmaline@cc.hut.fi> and
+Jouni Malinen <j@w1.fi> and
contributors.
All Rights Reserved.
.PP
diff --git a/contrib/wpa_supplicant/doc/docbook/wpa_background.sgml b/contrib/wpa_supplicant/doc/docbook/wpa_background.sgml
index dc64360..91b08bc 100644
--- a/contrib/wpa_supplicant/doc/docbook/wpa_background.sgml
+++ b/contrib/wpa_supplicant/doc/docbook/wpa_background.sgml
@@ -91,7 +91,7 @@
<refsect1>
<title>Legal</title>
<para>wpa_supplicant is copyright (c) 2003-2005,
- Jouni Malinen <email>jkmaline@cc.hut.fi</email> and
+ Jouni Malinen <email>j@w1.fi</email> and
contributors.
All Rights Reserved.</para>
diff --git a/contrib/wpa_supplicant/doc/docbook/wpa_cli.8 b/contrib/wpa_supplicant/doc/docbook/wpa_cli.8
index ad039b5..6d32260 100644
--- a/contrib/wpa_supplicant/doc/docbook/wpa_cli.8
+++ b/contrib/wpa_supplicant/doc/docbook/wpa_cli.8
@@ -3,7 +3,7 @@
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "WPA_CLI" "8" "08 February 2006" "" ""
+.TH "WPA_CLI" "8" "28 May 2007" "" ""
.SH NAME
wpa_cli \- WPA command line client
@@ -113,7 +113,14 @@ Run in daemon mode executing the action file
based on events from wpa_supplicant. The specified file will
be executed with the first argument set to interface name and
second to "CONNECT" or "DISCONNECT" depending on the event.
-This can be used
+This can be used to execute networking tools required to configure
+the interface.
+
+Additionally, three environmental variables are available to
+the file: WPA_CTRL_DIR, WPA_ID, and WPA_ID_STR. WPA_CTRL_DIR
+contains the absolute path to the ctrl_interface socket. WPA_ID
+contains the unique network_id identifier assigned to the active
+network, and WPA_ID_STR contains the content of the id_str option.
.TP
\fB-P file\fR
Set the location of the PID
@@ -177,7 +184,7 @@ configure pin for an SSID
\fBotp <network id> <password>\fR
configure one-time-password for an SSID
.TP
-\fBbssid *lt;network id> <BSSID>\fR
+\fBbssid <network id> <BSSID>\fR
set preferred BSSID for an SSID
.TP
\fBlist_networks\fR
@@ -194,7 +201,7 @@ exit wpa_cli
.SH "LEGAL"
.PP
wpa_supplicant is copyright (c) 2003-2005,
-Jouni Malinen <jkmaline@cc.hut.fi> and
+Jouni Malinen <j@w1.fi> and
contributors.
All Rights Reserved.
.PP
diff --git a/contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml b/contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml
index e804239..140c365b 100644
--- a/contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml
+++ b/contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml
@@ -141,7 +141,15 @@ CTRL-REQ-OTP-2:Challenge 1235663 needed for SSID foobar
based on events from wpa_supplicant. The specified file will
be executed with the first argument set to interface name and
second to "CONNECT" or "DISCONNECT" depending on the event.
- This can be used </para></listitem>
+ This can be used to execute networking tools required to configure
+ the interface.</para>
+
+ <para>Additionally, three environmental variables are available to
+ the file: WPA_CTRL_DIR, WPA_ID, and WPA_ID_STR. WPA_CTRL_DIR
+ contains the absolute path to the ctrl_interface socket. WPA_ID
+ contains the unique network_id identifier assigned to the active
+ network, and WPA_ID_STR contains the content of the id_str option.
+ </para></listitem>
</varlistentry>
<varlistentry>
@@ -282,7 +290,7 @@ CTRL-REQ-OTP-2:Challenge 1235663 needed for SSID foobar
</varlistentry>
<varlistentry>
- <term>bssid *lt;network id&gt; &lt;BSSID&gt;</term>
+ <term>bssid &lt;network id&gt; &lt;BSSID&gt;</term>
<listitem>
<para>set preferred BSSID for an SSID</para>
</listitem>
@@ -320,7 +328,7 @@ CTRL-REQ-OTP-2:Challenge 1235663 needed for SSID foobar
<refsect1>
<title>Legal</title>
<para>wpa_supplicant is copyright (c) 2003-2005,
- Jouni Malinen <email>jkmaline@cc.hut.fi</email> and
+ Jouni Malinen <email>j@w1.fi</email> and
contributors.
All Rights Reserved.</para>
diff --git a/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.8 b/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.8
index 11e0f85..c883777 100644
--- a/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.8
+++ b/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.8
@@ -3,10 +3,10 @@
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "WPA_PASSPHRASE" "8" "08 February 2006" "" ""
+.TH "WPA_PASSPHRASE" "8" "28 May 2007" "" ""
.SH NAME
-wpa_passphrase \- Set WPA passphrase for a SSID
+wpa_passphrase \- Generate a WPA PSK from an ASCII passphrase for a SSID
.SH SYNOPSIS
\fBwpa_passphrase\fR [ \fB\fIssid\fB\fR ] [ \fB\fIpassphrase\fB\fR ]
@@ -15,7 +15,8 @@ wpa_passphrase \- Set WPA passphrase for a SSID
.PP
\fBwpa_passphrase\fR pre-computes PSK entries for
network configuration blocks of a
-\fIwpa_supplicant.conf\fR file.
+\fIwpa_supplicant.conf\fR file. An ASCII passphrase
+and SSID are used to generate a 256-bit PSK.
.SH "OPTIONS"
.TP
\fBssid\fR
@@ -31,7 +32,7 @@ passphrase will be read from standard input.
.SH "LEGAL"
.PP
wpa_supplicant is copyright (c) 2003-2005,
-Jouni Malinen <jkmaline@cc.hut.fi> and
+Jouni Malinen <j@w1.fi> and
contributors.
All Rights Reserved.
.PP
diff --git a/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.sgml b/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.sgml
index 1380a74..eacb119 100644
--- a/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.sgml
+++ b/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.sgml
@@ -7,7 +7,7 @@
</refmeta>
<refnamediv>
<refname>wpa_passphrase</refname>
- <refpurpose>Set WPA passphrase for a SSID</refpurpose>
+ <refpurpose>Generate a WPA PSK from an ASCII passphrase for a SSID</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
@@ -22,7 +22,8 @@
<para><command>wpa_passphrase</command> pre-computes PSK entries for
network configuration blocks of a
- <filename>wpa_supplicant.conf</filename> file.</para>
+ <filename>wpa_supplicant.conf</filename> file. An ASCII passphrase
+ and SSID are used to generate a 256-bit PSK.</para>
</refsect1>
<refsect1>
@@ -62,7 +63,7 @@
<refsect1>
<title>Legal</title>
<para>wpa_supplicant is copyright (c) 2003-2005,
- Jouni Malinen <email>jkmaline@cc.hut.fi</email> and
+ Jouni Malinen <email>j@w1.fi</email> and
contributors.
All Rights Reserved.</para>
diff --git a/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.8 b/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.8
index fcd738b..502000d 100644
--- a/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.8
+++ b/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.8
@@ -3,13 +3,13 @@
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "WPA_SUPPLICANT" "8" "08 February 2006" "" ""
+.TH "WPA_SUPPLICANT" "8" "28 May 2007" "" ""
.SH NAME
wpa_supplicant \- Wi-Fi Protected Access client and IEEE 802.1X supplicant
.SH SYNOPSIS
-\fBwpa_supplicant\fR [ \fB-BddehLqqvw\fR ] [ \fB-i\fIifname\fB\fR ] [ \fB-c\fIconfig file\fB\fR ] [ \fB-D\fIdriver\fB\fR ]
+\fBwpa_supplicant\fR [ \fB-BddehLqqvw\fR ] [ \fB-i\fIifname\fB\fR ] [ \fB-c\fIconfig file\fB\fR ] [ \fB-D\fIdriver\fB\fR ] [ \fB-P\fIPID_file\fB\fR ]
.SH "OVERVIEW"
.PP
@@ -260,6 +260,15 @@ Interface to listen on.
\fB-c filename\fR
Path to configuration file.
.TP
+\fB-P PID_file\fR
+Path to PID file.
+.TP
+\fB-C ctrl_interface\fR
+Path to ctrl_interface socket (only used if -c is not).
+.TP
+\fB-g global ctrl_interface\fR
+Path to global ctrl_interface socket.
+.TP
\fB-D driver\fR
Driver to use. See the available options below.
.TP
@@ -454,7 +463,7 @@ encrypted passwords.
.PP
First, make a configuration file, e.g.
\fI/etc/wpa_supplicant.conf\fR, that describes the networks
-you are interested in. See \fBwpa_supplicant\fR(5)
+you are interested in. See \fBwpa_supplicant.conf\fR(5)
for details.
.PP
Once the configuration is ready, you can test whether the
@@ -536,7 +545,7 @@ the AP.
.SH "LEGAL"
.PP
wpa_supplicant is copyright (c) 2003-2005,
-Jouni Malinen <jkmaline@cc.hut.fi> and
+Jouni Malinen <j@w1.fi> and
contributors.
All Rights Reserved.
.PP
diff --git a/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5 b/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5
index d5e5c62..c7e4c6f 100644
--- a/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5
+++ b/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5
@@ -3,7 +3,7 @@
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "WPA_SUPPLICANT.CONF" "5" "08 February 2006" "" ""
+.TH "WPA_SUPPLICANT.CONF" "5" "28 May 2007" "" ""
.SH NAME
wpa_supplicant.conf \- configuration file for wpa_supplicant
@@ -24,13 +24,13 @@ run in the background.
Changes to configuration file can be reloaded be sending
SIGHUP signal to \fBwpa_supplicant\fR ('killall -HUP
wpa_supplicant'). Similarly, reloading can be triggered with
-'wpa_cli reconfigure' command.
+the 'wpa_cli reconfigure' command.
.PP
Configuration file can include one or more network blocks,
e.g., one for each used SSID. wpa_supplicant will automatically
-select the best betwork based on the order of network blocks in
+select the best network based on the order of network blocks in
the configuration file, network security level (WPA/WPA2 is
-prefered), and signal strength.
+preferred), and signal strength.
.SH "QUICK EXAMPLES"
.TP 3
1.
diff --git a/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.sgml b/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.sgml
index dbd9e37..082509c 100644
--- a/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.sgml
+++ b/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.sgml
@@ -26,13 +26,13 @@
<para>Changes to configuration file can be reloaded be sending
SIGHUP signal to <command>wpa_supplicant</command> ('killall -HUP
wpa_supplicant'). Similarly, reloading can be triggered with
- 'wpa_cli reconfigure' command.</para>
+ the 'wpa_cli reconfigure' command.</para>
<para>Configuration file can include one or more network blocks,
e.g., one for each used SSID. wpa_supplicant will automatically
- select the best betwork based on the order of network blocks in
+ select the best network based on the order of network blocks in
the configuration file, network security level (WPA/WPA2 is
- prefered), and signal strength.</para>
+ preferred), and signal strength.</para>
</refsect1>
<refsect1>
diff --git a/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml b/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml
index cb35abf..d19e546 100644
--- a/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml
+++ b/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml
@@ -16,6 +16,7 @@
<arg>-i<replaceable>ifname</replaceable></arg>
<arg>-c<replaceable>config file</replaceable></arg>
<arg>-D<replaceable>driver</replaceable></arg>
+ <arg>-P<replaceable>PID_file</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
@@ -347,6 +348,27 @@
</varlistentry>
<varlistentry>
+ <term>-P PID_file</term>
+ <listitem>
+ <para>Path to PID file.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-C ctrl_interface</term>
+ <listitem>
+ <para>Path to ctrl_interface socket (only used if -c is not).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-g global ctrl_interface</term>
+ <listitem>
+ <para>Path to global ctrl_interface socket.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>-D driver</term>
<listitem>
<para>Driver to use. See the available options below.</para>
@@ -657,7 +679,7 @@ wpa_supplicant \
<para>First, make a configuration file, e.g.
<filename>/etc/wpa_supplicant.conf</filename>, that describes the networks
you are interested in. See <citerefentry>
- <refentrytitle>wpa_supplicant</refentrytitle>
+ <refentrytitle>wpa_supplicant.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
for details.</para>
@@ -751,7 +773,7 @@ fi
<refsect1>
<title>Legal</title>
<para>wpa_supplicant is copyright (c) 2003-2005,
- Jouni Malinen <email>jkmaline@cc.hut.fi</email> and
+ Jouni Malinen <email>j@w1.fi</email> and
contributors.
All Rights Reserved.</para>
diff --git a/contrib/wpa_supplicant/doc/doxygen.fast b/contrib/wpa_supplicant/doc/doxygen.fast
index 2eb9d27..597fd37 100644
--- a/contrib/wpa_supplicant/doc/doxygen.fast
+++ b/contrib/wpa_supplicant/doc/doxygen.fast
@@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = wpa_supplicant
-PROJECT_NUMBER = 0.4.x
+PROJECT_NUMBER = 0.5.x
OUTPUT_DIRECTORY = doc
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
diff --git a/contrib/wpa_supplicant/doc/doxygen.full b/contrib/wpa_supplicant/doc/doxygen.full
index 69cec65..9ed2ef8 100644
--- a/contrib/wpa_supplicant/doc/doxygen.full
+++ b/contrib/wpa_supplicant/doc/doxygen.full
@@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = wpa_supplicant
-PROJECT_NUMBER = 0.4.x
+PROJECT_NUMBER = 0.5.x
OUTPUT_DIRECTORY = doc
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
@@ -187,7 +187,7 @@ EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
-PREDEFINED = IEEE8021X_EAPOL
+PREDEFINED = IEEE8021X_EAPOL CONFIG_CTRL_IFACE
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
diff --git a/contrib/wpa_supplicant/doc/eap.doxygen b/contrib/wpa_supplicant/doc/eap.doxygen
index e1ae9c0..988b304 100644
--- a/contrib/wpa_supplicant/doc/eap.doxygen
+++ b/contrib/wpa_supplicant/doc/eap.doxygen
@@ -1,9 +1,10 @@
/**
\page eap_module EAP peer implementation
-%wpa_supplicant uses a separate code module for EAP peer
-implementation. This module was designed to use only a minimal set of
-direct function calls (mainly, to debug/event functions) in order for
+Extensible Authentication Protocol (EAP) is an authentication framework
+defined in RFC 3748. %wpa_supplicant uses a separate code module for EAP
+peer implementation. This module was designed to use only a minimal set
+of direct function calls (mainly, to debug/event functions) in order for
it to be usable in other programs. The design of the EAP
implementation is based loosely on RFC 4137. The state machine is
defined in this RFC and so is the interface between the peer state
@@ -25,8 +26,9 @@ methods use the same interface between the peer state machine and
method specific functions. This allows new EAP methods to be added
without modifying the core EAP state machine implementation.
-New EAP methods need to be registered by adding them into build
-(Makefile) and EAP method table in the beginning of eap.c. Each EAP
+New EAP methods need to be registered by adding them into the build
+(Makefile) and the EAP method registration list in the
+eap_peer_register_methods() function of eap_methods.c. Each EAP
method should use a build-time configuration option, e.g., EAP_TLS, in
order to make it possible to select which of the methods are included
in the build.
@@ -35,4 +37,20 @@ EAP methods must implement the interface defined in eap_i.h. struct
eap_method defines the needed function pointers that each EAP method
must provide. In addition, the EAP type and name are registered using
this structure. This interface is based on section 4.4 of RFC 4137.
+
+It is recommended that the EAP methods would use generic helper
+functions, eap_msg_alloc() and eap_hdr_validate() when processing
+messages. This allows code sharing and can avoid missing some of the
+needed validation steps for received packets. In addition, these
+functions make it easier to change between expanded and legacy EAP
+header, if needed.
+
+When adding an EAP method that uses a vendor specific EAP type
+(Expanded Type as defined in RFC 3748, Chapter 5.7), the new method
+must be registered by passing vendor id instead of EAP_VENDOR_IETF to
+eap_peer_method_alloc(). These methods must not try to emulate
+expanded types by registering a legacy EAP method for type 254. See
+eap_vendor_test.c for an example of an EAP method implementation that
+is implemented as an expanded type.
+
*/
diff --git a/contrib/wpa_supplicant/doc/kerneldoc2doxygen.pl b/contrib/wpa_supplicant/doc/kerneldoc2doxygen.pl
index d46f7bd..68835a1 100755
--- a/contrib/wpa_supplicant/doc/kerneldoc2doxygen.pl
+++ b/contrib/wpa_supplicant/doc/kerneldoc2doxygen.pl
@@ -20,7 +20,7 @@
#
##########################################################################
# Copyright (C) 2003 Jonathan Foster <jon@jon-foster.co.uk>
-# Copyright (C) 2005 Jouni Malinen <jkmaline@cc.hut.fi>
+# Copyright (C) 2005 Jouni Malinen <j@w1.fi>
# (modified for kerneldoc format used in wpa_supplicant)
#
# This program is free software; you can redistribute it and/or modify
@@ -34,7 +34,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# or look at http://www.gnu.org/licenses/gpl.html
##########################################################################
diff --git a/contrib/wpa_supplicant/doc/mainpage.doxygen b/contrib/wpa_supplicant/doc/mainpage.doxygen
index 56882f4..6e58af8 100644
--- a/contrib/wpa_supplicant/doc/mainpage.doxygen
+++ b/contrib/wpa_supplicant/doc/mainpage.doxygen
@@ -13,7 +13,7 @@ give enough information for other developers to understand how
%wpa_supplicant has been implemented, how it can be modified, how new
drivers can be supported, and how %wpa_supplicant can be ported to
other operating systems. If any information is missing, feel free to
-contact Jouni Malinen <jkmaline@cc.hut.fi> for more
+contact Jouni Malinen <j@w1.fi> for more
information. Contributions as patch files are also very welcome at the
same address. Please note that %wpa_supplicant is licensed under dual
license, GPLv2 or BSD at user's choice. All contributions to
diff --git a/contrib/wpa_supplicant/doc/porting.doxygen b/contrib/wpa_supplicant/doc/porting.doxygen
index db64a11..581da48 100644
--- a/contrib/wpa_supplicant/doc/porting.doxygen
+++ b/contrib/wpa_supplicant/doc/porting.doxygen
@@ -5,14 +5,62 @@
hardware (board, CPU) and software (OS, drivers) targets. It is
already used with number of operating systems and numerous wireless
card models and drivers. The main %wpa_supplicant repository includes
-support for Linux, FreeBSD, and Windows. In addition, at least VxWorks
-and PalmOS are supported in separate repositories. On the hardware
+support for Linux, FreeBSD, and Windows. In addition, at least VxWorks,
+PalmOS, Windows CE, and Windows Mobile are supported in separate
+repositories. On the hardware
side, %wpa_supplicant is used on various systems: desktops, laptops,
PDAs, and embedded devices with CPUs including x86, PowerPC,
arm/xscale, and MIPS. Both big and little endian configurations are
supported.
+\section ansi_c_extra Extra functions on top of ANSI C
+
+%wpa_supplicant is mostly using ANSI C functions that are available on
+most targets. However, couple of additional functions that are common
+on modern UNIX systems are used. Number of these are listed with
+prototypes in common.h (the #ifdef CONFIG_ANSI_C_EXTRA block). These
+functions may need to be implemented or at least defined as macros to
+native functions in the target OS or C library.
+
+Many of the common ANSI C functions are used through a wrapper
+definitions in os.h to allow these to be replaced easily with a
+platform specific version in case standard C libraries are not
+available. In addition, os.h defines couple of common platform
+specific functions that are implemented in os_unix.c for UNIX like
+targets and in os_win32.c for Win32 API. If the target platform does
+not support either of these examples, a new os_*.c file may need to be
+added.
+
+Unless OS_NO_C_LIB_DEFINES is defined, the standard ANSI C and POSIX
+functions are used by defining the os_*() wrappers to use them
+directly in order to avoid extra cost in size and speed. If the target
+platform needs different versions of the functions, os.h can be
+modified to define the suitable macros or alternatively,
+OS_NO_C_LIB_DEFINES may be defined for the build and the wrapper
+functions can then be implemented in a new os_*.c wrapper file.
+
+common.h defines number of helper macros for handling integers of
+different size and byte order. Suitable version of these definitions
+may need to be added for the target platform.
+
+
+\section configuration_backend Configuration backend
+
+%wpa_supplicant implements a configuration interface that allows the
+backend to be easily replaced in order to read configuration data from
+a suitable source depending on the target platform. config.c
+implements the generic code that can be shared with all configuration
+backends. Each backend is implemented in its own config_*.c file.
+
+The included config_file.c backend uses a text file for configuration
+and config_winreg.c uses Windows registry. These files can be used as
+an example for a new configuration backend if the target platform uses
+different mechanism for configuration parameters. In addition,
+config_none.c can be used as an empty starting point for building a
+new configuration backend.
+
+
\section driver_iface_porting Driver interface
Unless the target OS and driver is already supported, most porting
@@ -118,4 +166,43 @@ also possible to do this when a network interface is being
enabled/disabled if it is desirable that %wpa_supplicant processing
for the interface is fully enabled/disabled at the same time.
+
+\section simple_build Simple build example
+
+One way to start a porting project is to begin with a very simple
+build of %wpa_supplicant with WPA-PSK support and once that is
+building correctly, start adding features.
+
+Following command can be used to build very simple version of
+%wpa_supplicant:
+
+\verbatim
+cc -o wpa_supplicant config.c eloop.c common.c md5.c rc4.c sha1.c \
+ config_none.c l2_packet_none.c tls_none.c wpa.c preauth.c \
+ aes_wrap.c wpa_supplicant.c events.c main_none.c drivers.c
+\endverbatim
+
+The end result is not really very useful since it uses empty functions
+for configuration parsing and layer 2 packet access and does not
+include a driver interface. However, this is a good starting point
+since the build is complete in the sense that all functions are
+present and this is easy to configure to a build system by just
+including the listed C files.
+
+Once this version can be build successfully, the end result can be
+made functional by adding a proper program entry point (main*.c),
+driver interface (driver_*.c and matching CONFIG_DRIVER_* define for
+registration in drivers.c), configuration parser/writer (config_*.c),
+and layer 2 packet access implementation (l2_packet_*.c). After these
+components have been added, the end result should be a working
+WPA/WPA2-PSK enabled supplicant.
+
+After the basic functionality has been verified to work, more features
+can be added by linking in more files and defining C pre-processor
+defines. Currently, the best source of information for what options
+are available and which files needs to be included is in the Makefile
+used for building the supplicant with make. Similar configuration will
+be needed for build systems that either use different type of make
+tool or a GUI-based project configuration.
+
*/
diff --git a/contrib/wpa_supplicant/doc/testing_tools.doxygen b/contrib/wpa_supplicant/doc/testing_tools.doxygen
index c1e2408..a2ae0c2 100644
--- a/contrib/wpa_supplicant/doc/testing_tools.doxygen
+++ b/contrib/wpa_supplicant/doc/testing_tools.doxygen
@@ -47,7 +47,9 @@ The resulting eapol_test binary has following command like options:
\verbatim
usage:
-eapol_test [-nW] -c<conf> [-a<AS IP>] [-p<AS port>] [-s<AS secret>] [-r<count>]
+eapol_test [-nWS] -c<conf> [-a<AS IP>] [-p<AS port>] [-s<AS secret>] \
+ [-r<count>] [-t<timeout>] [-C<Connect-Info>] \
+ [-M<client MAC address>]
eapol_test scard
eapol_test sim <PIN> <num triplets> [debug]
@@ -58,7 +60,12 @@ options:
-s<AS secret> = shared secret with the authentication server, default 'radius'
-r<count> = number of re-authentications
-W = wait for a control interface monitor before starting
+ -S = save configuration after authentiation
-n = no MPPE keys expected
+ -t<timeout> = sets timeout in seconds (default: 30 s)
+ -C<Connect-Info> = RADIUS Connect-Info (default: CONNECT 11Mbps 802.11b)
+ -M<client MAC address> = Set own MAC address (Calling-Station-Id,
+ default: 02:00:00:00:00:01)
\endverbatim
OpenPOWER on IntegriCloud