[oe] [PATCH] wpa-supplicant: Build from git sources

Reizer, Eyal eyalr at ti.com
Wed Apr 13 19:51:51 UTC 2011


> -----Original Message-----
> From: Maupin, Chase
> Sent: Wednesday, April 13, 2011 2:46 PM
> To: Reizer, Eyal; openembedded-devel at lists.openembedded.org
> Subject: RE: [oe] [PATCH] wpa-supplicant: Build from git sources
>
>
> > -----Original Message-----
> > From: Reizer, Eyal
> > Sent: Wednesday, April 13, 2011 11:38 AM
> > To: Maupin, Chase; openembedded-devel at lists.openembedded.org
> > Subject: RE: [oe] [PATCH] wpa-supplicant: Build from git sources
> >
> > I have also checked the option of using 0.7.inc the git recipe.
> > However there are a couple of differences like in the do_configure
> section
> > and also
> > in SRC_URI (which uses a git address instead of a zip).
> > I would need to make significant modification to the include file as
> well
> > as to both 0.7.3 and
> > The git recipe to be able to use the same include file which I don't
> think
> > are worth the effort,
> > and adds a risk of breaking the 0.7.3 recipe.
>
> Eyal,
>
> Why don't you just include the .inc file and then override the parts
> that need to be different?  No reason to duplicate all the other
> functions.
>
Chase,

Would this be a valid thing to do?
Can I have two do_configure () sections in the same recipe?

> >
> > > -----Original Message-----
> > > From: Reizer, Eyal
> > > Sent: Wednesday, April 13, 2011 9:20 AM
> > > To: Maupin, Chase; openembedded-devel at lists.openembedded.org
> > > Subject: RE: [oe] [PATCH] wpa-supplicant: Build from git sources
> > >
> > > I will improve the commit message to clear this confusion.
> > >
> > > The version built from the git is actually version 0.8.x which is a
> new
> > > family of versions and include new features (like wifi-direct) used
> by
> > > new mac80211 versions.
> > > It would look proper if we include a 0.7.inc file in it.
> > >
> > > As this is currently the only 0.8 version I think it is better to
> wait
> > > until 0.8 comes out as an official zip and than create such an
> include
> > > file as well for 0.8
> > >
> > > > -----Original Message-----
> > > > From: Maupin, Chase
> > > > Sent: Wednesday, April 13, 2011 7:54 AM
> > > > To: openembedded-devel at lists.openembedded.org
> > > > Cc: Reizer, Eyal
> > > > Subject: RE: [oe] [PATCH] wpa-supplicant: Build from git sources
> > > >
> > > > > -----Original Message-----
> > > > > From: openembedded-devel-bounces at lists.openembedded.org
> > > > > [mailto:openembedded-devel-bounces at lists.openembedded.org] On
> > > Behalf
> > > > Of
> > > > > Eyal Reizer
> > > > > Sent: Tuesday, April 12, 2011 4:54 PM
> > > > > To: openembedded-devel at lists.openembedded.org
> > > > > Cc: Reizer, Eyal
> > > > > Subject: [oe] [PATCH] wpa-supplicant: Build from git sources
> > > > >
> > > >
> > > > Need a more detailed commit message.  Can you re-use the wpa-
> > > > supplicant-0.7.inc include file?  90% of this stuff seems the
> same.
> > > >
> > > > > Signed-off-by: Eyal Reizer <eyalr at ti.com>
> > > > > ---
> > > > >  .../wpa-supplicant-git/99_wpa_supplicant           |    1 +
> > > > >  .../wpa-supplicant-git/defaults-sane               |    8 +
> > > > >  .../wpa-supplicant/wpa-supplicant-git/defconfig    |  422
> > > > ++++++++++++
> > > > >  .../wpa-supplicant-git/wpa-supplicant.sh           |   85 +++
> > > > >  .../wpa-supplicant-git/wpa_supplicant.conf         |  690
> > > > > ++++++++++++++++++++
> > > > >  .../wpa-supplicant-git/wpa_supplicant.conf-sane    |    7 +
> > > > >  recipes/wpa-supplicant/wpa-supplicant_git.bb       |  103 +++
> > > > >  7 files changed, 1316 insertions(+), 0 deletions(-)
> > > > >  create mode 100755 recipes/wpa-supplicant/wpa-supplicant-
> > > > > git/99_wpa_supplicant
> > > > >  create mode 100755 recipes/wpa-supplicant/wpa-supplicant-
> > > > git/defaults-
> > > > > sane
> > > > >  create mode 100755 recipes/wpa-supplicant/wpa-supplicant-
> > > > git/defconfig
> > > > >  create mode 100755 recipes/wpa-supplicant/wpa-supplicant-
> git/wpa-
> > > > > supplicant.sh
> > > > >  create mode 100755 recipes/wpa-supplicant/wpa-supplicant-
> > > > > git/wpa_supplicant.conf
> > > > >  create mode 100755 recipes/wpa-supplicant/wpa-supplicant-
> > > > > git/wpa_supplicant.conf-sane
> > > > >  create mode 100755 recipes/wpa-supplicant/wpa-
> supplicant_git.bb
> > > > >
> > > > > diff --git a/recipes/wpa-supplicant/wpa-supplicant-
> > > > git/99_wpa_supplicant
> > > > > b/recipes/wpa-supplicant/wpa-supplicant-git/99_wpa_supplicant
> > > > > new file mode 100755
> > > > > index 0000000..6ff4dd8
> > > > > --- /dev/null
> > > > > +++ b/recipes/wpa-supplicant/wpa-supplicant-
> git/99_wpa_supplicant
> > > > > @@ -0,0 +1 @@
> > > > > +d root root 0700 /var/run/wpa_supplicant none
> > > > > diff --git a/recipes/wpa-supplicant/wpa-supplicant-
> git/defaults-
> > > sane
> > > > > b/recipes/wpa-supplicant/wpa-supplicant-git/defaults-sane
> > > > > new file mode 100755
> > > > > index 0000000..67c4cbd
> > > > > --- /dev/null
> > > > > +++ b/recipes/wpa-supplicant/wpa-supplicant-git/defaults-sane
> > > > > @@ -0,0 +1,8 @@
> > > > > +# Useful flags:
> > > > > +#  -i <ifname>          Interface (required, unless specified
> in
> > > > config)
> > > > > +#  -D <driver>          Wireless Driver
> > > > > +#  -d                   Debugging (-dd for more)
> > > > > +#  -q                   Quiet (-qq for more)
> > > > > +
> > > > > +CONFIG="/etc/wpa_supplicant.conf"
> > > > > +OPTIONS="-i eth1 -D wext"
> > > > > diff --git a/recipes/wpa-supplicant/wpa-supplicant-
> git/defconfig
> > > > > b/recipes/wpa-supplicant/wpa-supplicant-git/defconfig
> > > > > new file mode 100755
> > > > > index 0000000..d9be1a8
> > > > > --- /dev/null
> > > > > +++ b/recipes/wpa-supplicant/wpa-supplicant-git/defconfig
> > > > > @@ -0,0 +1,422 @@
> > > > > +# Example wpa_supplicant build time configuration
> > > > > +#
> > > > > +# This file lists the configuration options that are used when
> > > > building
> > > > > the
> > > > > +# hostapd binary. All lines starting with # are ignored.
> > > > Configuration
> > > > > option
> > > > > +# lines must be commented out complete, if they are not to be
> > > > included,
> > > > > i.e.,
> > > > > +# just setting VARIABLE=n is not disabling that variable.
> > > > > +#
> > > > > +# This file is included in Makefile, so variables like CFLAGS
> and
> > > > LIBS
> > > > > can also
> > > > > +# be modified from here. In most cases, these lines should use
> +=
> > > in
> > > > > order not
> > > > > +# to override previous values of the variables.
> > > > > +
> > > > > +
> > > > > +# Uncomment following two lines and fix the paths if you have
> > > > installed
> > > > > OpenSSL
> > > > > +# or GnuTLS in non-default location
> > > > > +#CFLAGS += -I/usr/local/openssl/include
> > > > > +#LIBS += -L/usr/local/openssl/lib
> > > > > +
> > > > > +# Some Red Hat versions seem to include kerberos header files
> from
> > > > > OpenSSL, but
> > > > > +# the kerberos files are not in the default include path.
> > > Following
> > > > line
> > > > > can be
> > > > > +# used to fix build issues on such systems (krb5.h not found).
> > > > > +#CFLAGS += -I/usr/include/kerberos
> > > > > +
> > > > > +# Example configuration for various cross-compilation
> platforms
> > > > > +
> > > > > +#### sveasoft (e.g., for Linksys WRT54G)
> > > > > ######################################
> > > > > +#CC=mipsel-uclibc-gcc
> > > > > +#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
> > > > > +#CFLAGS += -Os
> > > > > +#CPPFLAGS += -I../src/include -
> I../../src/router/openssl/include
> > > > > +#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
> > > > >
> > > >
> > >
> +######################################################################
> > > > ###
> > > > > ######
> > > > > +
> > > > > +#### openwrt (e.g., for Linksys WRT54G)
> > > > > #######################################
> > > > > +#CC=mipsel-uclibc-gcc
> > > > > +#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
> > > > > +#CFLAGS += -Os
> > > > > +#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \
> > > > > +#    -I../WRT54GS/release/src/include
> > > > > +#LIBS = -lssl
> > > > >
> > > >
> > >
> +######################################################################
> > > > ###
> > > > > ######
> > > > > +
> > > > > +CC=$(CROSS_COMPILE)gcc
> > > > > +#CFLAGS += -DCONFIG_LIBNL20
> > > > > +#CPPFLAGS += -DCONFIG_LIBNL20
> > > > > +#LIBS += -L$(NFSROOT)/lib -lnl
> > > > > +#LIBS_p += -L$(NFSROOT)/lib
> > > > > +#LIBDIR = $(NFSROOT)/lib
> > > > > +#BINDIR = $(NFSROOT)/usr/sbin
> > > > > +
> > > > > +CONFIG_WAPI=y
> > > > > +CONFIG_LIBNL20=y
> > > > > +NEED_BGSCAN=y
> > > > > +CONFIG_BGSCAN_LEARN=y
> > > > > +
> > > > > +# Driver interface for Host AP driver
> > > > > +#CONFIG_DRIVER_HOSTAP=y
> > > > > +
> > > > > +# Driver interface for Agere driver
> > > > > +#CONFIG_DRIVER_HERMES=y
> > > > > +# Change include directories to match with the local setup
> > > > > +#CFLAGS += -I../../hcf -I../../include -I../../include/hcf
> > > > > +#CFLAGS += -I../../include/wireless
> > > > > +
> > > > > +# Driver interface for madwifi driver
> > > > > +# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
> > > > > +#CONFIG_DRIVER_MADWIFI=y
> > > > > +# Set include directory to the madwifi source tree
> > > > > +#CFLAGS += -I../../madwifi
> > > > > +
> > > > > +# Driver interface for ndiswrapper
> > > > > +# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
> > > > > +#CONFIG_DRIVER_NDISWRAPPER=y
> > > > > +
> > > > > +# Driver interface for Atmel driver
> > > > > +#CONFIG_DRIVER_ATMEL=y
> > > > > +
> > > > > +# Driver interface for old Broadcom driver
> > > > > +# Please note that the newer Broadcom driver ("hybrid Linux
> > > driver")
> > > > > supports
> > > > > +# Linux wireless extensions and does not need (or even work)
> with
> > > > the old
> > > > > +# driver wrapper. Use CONFIG_DRIVER_WEXT=y with that driver.
> > > > > +#CONFIG_DRIVER_BROADCOM=y
> > > > > +# Example path for wlioctl.h; change to match your
> configuration
> > > > > +#CFLAGS += -I/opt/WRT54GS/release/src/include
> > > > > +
> > > > > +# Driver interface for Intel ipw2100/2200 driver
> > > > > +# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
> > > > > +#CONFIG_DRIVER_IPW=y
> > > > > +
> > > > > +# Driver interface for Ralink driver
> > > > > +#CONFIG_DRIVER_RALINK=y
> > > > > +
> > > > > +# Driver interface for generic Linux wireless extensions
> > > > > +CONFIG_DRIVER_WEXT=y
> > > > > +
> > > > > +# Driver interface for Linux drivers using the nl80211 kernel
> > > > interface
> > > > > +CONFIG_DRIVER_NL80211=y
> > > > > +
> > > > > +# Driver interface for FreeBSD net80211 layer (e.g., Atheros
> > > driver)
> > > > > +#CONFIG_DRIVER_BSD=y
> > > > > +#CFLAGS += -I/usr/local/include
> > > > > +#LIBS += -L/usr/local/lib
> > > > > +#LIBS_p += -L/usr/local/lib
> > > > > +#LIBS_c += -L/usr/local/lib
> > > > > +
> > > > > +# Driver interface for Windows NDIS
> > > > > +#CONFIG_DRIVER_NDIS=y
> > > > > +#CFLAGS += -I/usr/include/w32api/ddk
> > > > > +#LIBS += -L/usr/local/lib
> > > > > +# For native build using mingw
> > > > > +#CONFIG_NATIVE_WINDOWS=y
> > > > > +# Additional directories for cross-compilation on Linux host
> for
> > > > mingw
> > > > > target
> > > > > +#CFLAGS += -I/opt/mingw/mingw32/include/ddk
> > > > > +#LIBS += -L/opt/mingw/mingw32/lib
> > > > > +#CC=mingw32-gcc
> > > > > +# By default, driver_ndis uses WinPcap for low-level
> operations.
> > > > This can
> > > > > be
> > > > > +# replaced with the following option which replaces WinPcap
> calls
> > > > with
> > > > > NDISUIO.
> > > > > +# However, this requires that WZC is disabled (net stop
> wzcsvc)
> > > > before
> > > > > starting
> > > > > +# wpa_supplicant.
> > > > > +# CONFIG_USE_NDISUIO=y
> > > > > +
> > > > > +# Driver interface for development testing
> > > > > +#CONFIG_DRIVER_TEST=y
> > > > > +
> > > > > +# Include client MLME (management frame processing) for test
> > > driver
> > > > > +# This can be used to test MLME operations in hostapd with the
> > > test
> > > > > interface.
> > > > > +# space.
> > > > > +#CONFIG_CLIENT_MLME=y
> > > > > +
> > > > > +# Driver interface for wired Ethernet drivers
> > > > > +CONFIG_DRIVER_WIRED=y
> > > > > +
> > > > > +# Driver interface for the Broadcom RoboSwitch family
> > > > > +#CONFIG_DRIVER_ROBOSWITCH=y
> > > > > +
> > > > > +# Driver interface for no driver (e.g., WPS ER only)
> > > > > +#CONFIG_DRIVER_NONE=y
> > > > > +
> > > > > +# Solaris libraries
> > > > > +#LIBS += -lsocket -ldlpi -lnsl
> > > > > +#LIBS_c += -lsocket
> > > > > +
> > > > > +# Enable IEEE 802.1X Supplicant (automatically included if any
> EAP
> > > > method
> > > > > is
> > > > > +# included)
> > > > > +CONFIG_IEEE8021X_EAPOL=y
> > > > > +
> > > > > +# EAP-MD5
> > > > > +CONFIG_EAP_MD5=y
> > > > > +
> > > > > +# EAP-MSCHAPv2
> > > > > +CONFIG_EAP_MSCHAPV2=y
> > > > > +
> > > > > +# EAP-TLS
> > > > > +CONFIG_EAP_TLS=y
> > > > > +
> > > > > +# EAL-PEAP
> > > > > +CONFIG_EAP_PEAP=y
> > > > > +
> > > > > +# EAP-TTLS
> > > > > +CONFIG_EAP_TTLS=y
> > > > > +
> > > > > +# EAP-FAST
> > > > > +# Note: Default OpenSSL package does not include support for
> all
> > > the
> > > > > +# functionality needed for EAP-FAST. If EAP-FAST is enabled
> with
> > > > OpenSSL,
> > > > > +# the OpenSSL library must be patched (openssl-0.9.8d-tls-
> > > > > extensions.patch)
> > > > > +# to add the needed functions.
> > > > > +#CONFIG_EAP_FAST=y
> > > > > +
> > > > > +# EAP-GTC
> > > > > +CONFIG_EAP_GTC=y
> > > > >
> > > > > +
> > > > > +# EAP-OTP
> > > > > +CONFIG_EAP_OTP=y
> > > > > +
> > > > > +# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
> > > > > +#CONFIG_EAP_SIM=y
> > > > > +
> > > > > +# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
> > > > > +#CONFIG_EAP_PSK=y
> > > > > +
> > > > > +# EAP-PAX
> > > > > +#CONFIG_EAP_PAX=y
> > > > > +
> > > > > +# LEAP
> > > > > +CONFIG_EAP_LEAP=y
> > > > > +
> > > > > +# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
> > > > > +#CONFIG_EAP_AKA=y
> > > > > +
> > > > > +# EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used).
> > > > > +# This requires CONFIG_EAP_AKA to be enabled, too.
> > > > > +#CONFIG_EAP_AKA_PRIME=y
> > > > > +
> > > > > +# Enable USIM simulator (Milenage) for EAP-AKA
> > > > > +#CONFIG_USIM_SIMULATOR=y
> > > > > +
> > > > > +# EAP-SAKE
> > > > > +#CONFIG_EAP_SAKE=y
> > > > > +
> > > > > +# EAP-GPSK
> > > > > +#CONFIG_EAP_GPSK=y
> > > > > +# Include support for optional SHA256 cipher suite in EAP-GPSK
> > > > > +#CONFIG_EAP_GPSK_SHA256=y
> > > > > +
> > > > > +# EAP-TNC and related Trusted Network Connect support
> > > (experimental)
> > > > > +#CONFIG_EAP_TNC=y
> > > > > +
> > > > > +# Wi-Fi Protected Setup (WPS)
> > > > > +CONFIG_WPS=y
> > > > > +# Enable WSC 2.0 support
> > > > > +CONFIG_WPS2=y
> > > > > +
> > > > > +# EAP-IKEv2
> > > > > +#CONFIG_EAP_IKEV2=y
> > > > > +
> > > > > +# PKCS#12 (PFX) support (used to read private key and
> certificate
> > > > file
> > > > > from
> > > > > +# a file that usually has extension .p12 or .pfx)
> > > > > +CONFIG_PKCS12=y
> > > > > +
> > > > > +# Smartcard support (i.e., private key on a smartcard), e.g.,
> with
> > > > > openssl
> > > > > +# engine.
> > > > > +CONFIG_SMARTCARD=y
> > > > > +
> > > > > +# PC/SC interface for smartcards (USIM, GSM SIM)
> > > > > +# Enable this if EAP-SIM or EAP-AKA is included
> > > > > +#CONFIG_PCSC=y
> > > > > +
> > > > > +# Development testing
> > > > > +#CONFIG_EAPOL_TEST=y
> > > > > +
> > > > > +# Select control interface backend for external programs, e.g,
> > > > wpa_cli:
> > > > > +# unix = UNIX domain sockets (default for Linux/*BSD)
> > > > > +# udp = UDP sockets using localhost (127.0.0.1)
> > > > > +# named_pipe = Windows Named Pipe (default for Windows)
> > > > > +# y = use default (backwards compatibility)
> > > > > +# If this option is commented out, control interface is not
> > > included
> > > > in
> > > > > the
> > > > > +# build.
> > > > > +CONFIG_CTRL_IFACE=y
> > > > > +
> > > > > +# Include support for GNU Readline and History Libraries in
> > > wpa_cli.
> > > > > +# When building a wpa_cli binary for distribution, please note
> > > that
> > > > these
> > > > > +# libraries are licensed under GPL and as such, BSD license
> may
> > > not
> > > > apply
> > > > > for
> > > > > +# the resulting binary.
> > > > > +#CONFIG_READLINE=y
> > > > > +
> > > > > +# Remove debugging code that is printing out debug message to
> > > > stdout.
> > > > > +# This can be used to reduce the size of the wpa_supplicant
> > > > considerably
> > > > > +# if debugging code is not needed. The size reduction can be
> > > around
> > > > 35%
> > > > > +# (e.g., 90 kB).
> > > > > +#CONFIG_NO_STDOUT_DEBUG=y
> > > > > +
> > > > > +# Remove WPA support, e.g., for wired-only IEEE 802.1X
> supplicant,
> > > > to
> > > > > save
> > > > > +# 35-50 kB in code size.
> > > > > +#CONFIG_NO_WPA=y
> > > > > +
> > > > > +# Remove WPA2 support. This allows WPA to be used, but removes
> > > WPA2
> > > > code
> > > > > to
> > > > > +# save about 1 kB in code size when building only WPA-Personal
> (no
> > > > EAP
> > > > > support)
> > > > > +# or 6 kB if building for WPA-Enterprise.
> > > > > +#CONFIG_NO_WPA2=y
> > > > > +
> > > > > +# Remove IEEE 802.11i/WPA-Personal ASCII passphrase support
> > > > > +# This option can be used to reduce code size by removing
> support
> > > > for
> > > > > +# converting ASCII passphrases into PSK. If this functionality
> is
> > > > removed,
> > > > > the
> > > > > +# PSK can only be configured as the 64-octet hexstring (e.g.,
> from
> > > > > +# wpa_passphrase). This saves about 0.5 kB in code size.
> > > > > +#CONFIG_NO_WPA_PASSPHRASE=y
> > > > > +
> > > > > +# Disable scan result processing (ap_mode=1) to save code size
> by
> > > > about 1
> > > > > kB.
> > > > > +# This can be used if ap_scan=1 mode is never enabled.
> > > > > +#CONFIG_NO_SCAN_PROCESSING=y
> > > > > +
> > > > > +# Select configuration backend:
> > > > > +# file = text file (e.g., wpa_supplicant.conf; note: the
> > > > configuration
> > > > > file
> > > > > +#    path is given on command line, not here; this option is
> > > just used
> > > > to
> > > > > +#    select the backend that allows configuration files to be
> > > used)
> > > > > +# winreg = Windows registry (see win_example.reg for an
> example)
> > > > > +CONFIG_BACKEND=file
> > > > > +
> > > > > +# Remove configuration write functionality (i.e., to allow the
> > > > > configuration
> > > > > +# file to be updated based on runtime configuration changes).
> The
> > > > runtime
> > > > > +# configuration can still be changed, the changes are just not
> > > going
> > > > to
> > > > > be
> > > > > +# persistent over restarts. This option can be used to reduce
> code
> > > > size
> > > > > by
> > > > > +# about 3.5 kB.
> > > > > +#CONFIG_NO_CONFIG_WRITE=y
> > > > > +
> > > > > +# Remove support for configuration blobs to reduce code size
> by
> > > > about 1.5
> > > > > kB.
> > > > > +#CONFIG_NO_CONFIG_BLOBS=y
> > > > > +
> > > > > +# Select program entry point implementation:
> > > > > +# main = UNIX/POSIX like main() function (default)
> > > > > +# main_winsvc = Windows service (read parameters from
> registry)
> > > > > +# main_none = Very basic example (development use only)
> > > > > +#CONFIG_MAIN=main
> > > > > +
> > > > > +# Select wrapper for operatins system and C library specific
> > > > functions
> > > > > +# unix = UNIX/POSIX like systems (default)
> > > > > +# win32 = Windows systems
> > > > > +# none = Empty template
> > > > > +#CONFIG_OS=unix
> > > > > +
> > > > > +# Select event loop implementation
> > > > > +# eloop = select() loop (default)
> > > > > +# eloop_win = Windows events and WaitForMultipleObject() loop
> > > > > +# eloop_none = Empty template
> > > > > +#CONFIG_ELOOP=eloop
> > > > > +
> > > > > +# Select layer 2 packet implementation
> > > > > +# linux = Linux packet socket (default)
> > > > > +# pcap = libpcap/libdnet/WinPcap
> > > > > +# freebsd = FreeBSD libpcap
> > > > > +# winpcap = WinPcap with receive thread
> > > > > +# ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y)
> > > > > +# none = Empty template
> > > > > +#CONFIG_L2_PACKET=linux
> > > > > +
> > > > > +# PeerKey handshake for Station to Station Link (IEEE 802.11e
> DLS)
> > > > > +CONFIG_PEERKEY=y
> > > > > +
> > > > > +# IEEE 802.11w (management frame protection)
> > > > > +# This version is an experimental implementation based on IEEE
> > > > > 802.11w/D1.0
> > > > > +# draft and is subject to change since the standard has not
> yet
> > > been
> > > > > finalized.
> > > > > +# Driver support is also needed for IEEE 802.11w.
> > > > > +#CONFIG_IEEE80211W=y
> > > > > +
> > > > > +# Select TLS implementation
> > > > > +# openssl = OpenSSL (default)
> > > > > +# gnutls = GnuTLS (needed for TLS/IA, see also
> > > CONFIG_GNUTLS_EXTRA)
> > > > > +# internal = Internal TLSv1 implementation (experimental)
> > > > > +# none = Empty template
> > > > > +#CONFIG_TLS=openssl
> > > > > +
> > > > > +# Whether to enable TLS/IA support, which is required for EAP-
> > > > TTLSv1.
> > > > > +# You need CONFIG_TLS=gnutls for this to have any effect.
> Please
> > > > note
> > > > > that
> > > > > +# even though the core GnuTLS library is released under LGPL,
> this
> > > > extra
> > > > > +# library uses GPL and as such, the terms of GPL apply to the
> > > > combination
> > > > > +# of wpa_supplicant and GnuTLS if this option is enabled. BSD
> > > > license may
> > > > > not
> > > > > +# apply for distribution of the resulting binary.
> > > > > +#CONFIG_GNUTLS_EXTRA=y
> > > > > +
> > > > > +# If CONFIG_TLS=internal is used, additional library and
> include
> > > > paths
> > > > > are
> > > > > +# needed for LibTomMath. Alternatively, an integrated, minimal
> > > > version of
> > > > > +# LibTomMath can be used. See beginning of libtommath.c for
> > > details
> > > > on
> > > > > benefits
> > > > > +# and drawbacks of this option.
> > > > > +#CONFIG_INTERNAL_LIBTOMMATH=y
> > > > > +#ifndef CONFIG_INTERNAL_LIBTOMMATH
> > > > > +#LTM_PATH=/usr/src/libtommath-0.39
> > > > > +#CFLAGS += -I$(LTM_PATH)
> > > > > +#LIBS += -L$(LTM_PATH)
> > > > > +#LIBS_p += -L$(LTM_PATH)
> > > > > +#endif
> > > > > +# At the cost of about 4 kB of additional binary size, the
> > > internal
> > > > > LibTomMath
> > > > > +# can be configured to include faster routines for exptmod,
> sqr,
> > > and
> > > > div
> > > > > to
> > > > > +# speed up DH and RSA calculation considerably
> > > > > +#CONFIG_INTERNAL_LIBTOMMATH_FAST=y
> > > > > +
> > > > > +# Include NDIS event processing through WMI into
> > > > wpa_supplicant/wpasvc.
> > > > > +# This is only for Windows builds and requires WMI-related
> header
> > > > files
> > > > > and
> > > > > +# WbemUuid.Lib from Platform SDK even when building with
> MinGW.
> > > > > +#CONFIG_NDIS_EVENTS_INTEGRATED=y
> > > > > +#PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform
> SDK/Lib"
> > > > > +
> > > > > +# Add support for old DBus control interface
> > > > > +# (fi.epitest.hostap.WPASupplicant)
> > > > > +#CONFIG_CTRL_IFACE_DBUS=y
> > > > > +
> > > > > +# Add support for new DBus control interface
> > > > > +# (fi.w1.hostap.wpa_supplicant1)
> > > > > +#CONFIG_CTRL_IFACE_DBUS_NEW=y
> > > > > +
> > > > > +# Add introspection support for new DBus control interface
> > > > > +#CONFIG_CTRL_IFACE_DBUS_INTRO=y
> > > > > +
> > > > > +# Add support for loading EAP methods dynamically as shared
> > > > libraries.
> > > > > +# When this option is enabled, each EAP method can be either
> > > > included
> > > > > +# statically (CONFIG_EAP_<method>=y) or dynamically
> > > > > (CONFIG_EAP_<method>=dyn).
> > > > > +# Dynamic EAP methods are build as shared objects (eap_*.so)
> and
> > > > they
> > > > > need to
> > > > > +# be loaded in the beginning of the wpa_supplicant
> configuration
> > > > file
> > > > > +# (see load_dynamic_eap parameter in the example file) before
> > > being
> > > > used
> > > > > in
> > > > > +# the network blocks.
> > > > > +#
> > > > > +# Note that some shared parts of EAP methods are included in
> the
> > > > main
> > > > > program
> > > > > +# and in order to be able to use dynamic EAP methods using
> these
> > > > parts,
> > > > > the
> > > > > +# main program must have been build with the EAP method
> enabled
> > > (=y
> > > > or
> > > > > =dyn).
> > > > > +# This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as
> > > dynamic
> > > > > libraries
> > > > > +# unless at least one of them was included in the main build
> to
> > > > force
> > > > > inclusion
> > > > > +# of the shared code. Similarly, at least one of EAP-SIM/AKA
> must
> > > be
> > > > > included
> > > > > +# in the main build to be able to load these methods
> dynamically.
> > > > > +#
> > > > > +# Please also note that using dynamic libraries will increase
> the
> > > > total
> > > > > binary
> > > > > +# size. Thus, it may not be the best option for targets that
> have
> > > > limited
> > > > > +# amount of memory/flash.
> > > > > +#CONFIG_DYNAMIC_EAP_METHODS=y
> > > > > +
> > > > > +# IEEE Std 802.11r-2008 (Fast BSS Transition)
> > > > > +#CONFIG_IEEE80211R=y
> > > > > +
> > > > > +# Add support for writing debug log to a file
> > > (/tmp/wpa_supplicant-
> > > > log-
> > > > > #.txt)
> > > > > +CONFIG_DEBUG_FILE=y
> > > > > +
> > > > > +# Enable privilege separation (see README 'Privilege
> separation'
> > > for
> > > > > details)
> > > > > +#CONFIG_PRIVSEP=y
> > > > > +
> > > > > +# Enable mitigation against certain attacks against TKIP by
> > > delaying
> > > > > Michael
> > > > > +# MIC error reports by a random amount of time between 0 and
> 60
> > > > seconds
> > > > > +#CONFIG_DELAYED_MIC_ERROR_REPORT=y
> > > > > +
> > > > > +# Enable tracing code for developer debugging
> > > > > +# This tracks use of memory allocations and other
> registrations
> > > and
> > > > > reports
> > > > > +# incorrect use with a backtrace of call (or allocation)
> location.
> > > > > +#CONFIG_WPA_TRACE=y
> > > > > +# For BSD, comment out these.
> > > > > +#LIBS += -lexecinfo
> > > > > +#LIBS_p += -lexecinfo
> > > > > +#LIBS_c += -lexecinfo
> > > > > +
> > > > > +# Use libbfd to get more details for developer debugging
> > > > > +# This enables use of libbfd to get more detailed symbols for
> the
> > > > > backtraces
> > > > > +# generated by CONFIG_WPA_TRACE=y.
> > > > > +#CONFIG_WPA_TRACE_BFD=y
> > > > > +# For BSD, comment out these.
> > > > > +#LIBS += -lbfd -liberty -lz
> > > > > +#LIBS_p += -lbfd -liberty -lz
> > > > > +#LIBS_c += -lbfd -liberty -lz
> > > > > diff --git a/recipes/wpa-supplicant/wpa-supplicant-git/wpa-
> > > > supplicant.sh
> > > > > b/recipes/wpa-supplicant/wpa-supplicant-git/wpa-supplicant.sh
> > > > > new file mode 100755
> > > > > index 0000000..5c9e5d3
> > > > > --- /dev/null
> > > > > +++ b/recipes/wpa-supplicant/wpa-supplicant-git/wpa-
> supplicant.sh
> > > > > @@ -0,0 +1,85 @@
> > > > > +#!/bin/sh
> > > > > +
> > > > > +
> > > > > +WPA_SUP_BIN="/usr/sbin/wpa_supplicant"
> > > > > +WPA_SUP_PNAME="wpa_supplicant"
> > > > > +WPA_SUP_PIDFILE="/var/run/wpa_supplicant.$IFACE.pid"
> > > > > +WPA_SUP_OPTIONS="-B -P $WPA_SUP_PIDFILE -i $IFACE"
> > > > > +
> > > > > +VERBOSITY=0
> > > > > +
> > > > > +
> > > > > +if [ -s "$IF_WPA_CONF" ]; then
> > > > > +     WPA_SUP_CONF="-c $IF_WPA_CONF"
> > > > > +else
> > > > > +     exit 0
> > > > > +fi
> > > > > +
> > > > > +if [ ! -x "$WPA_SUP_BIN" ]; then
> > > > > +
> > > > > +     if [ "$VERBOSITY" = "1" ]; then
> > > > > +             echo "$WPA_SUP_PNAME: binaries not executable or
> missing
> > > > from
> > > > > $WPA_SUP_BIN"
> > > > > +     fi
> > > > > +
> > > > > +     exit 1
> > > > > +fi
> > > > > +
> > > > > +if [ "$MODE" = "start" ] ; then
> > > > > +     # driver type of interface, defaults to wext when undefined
> > > > > +     if [ -s "/etc/wpa_supplicant/driver.$IFACE" ]; then
> > > > > +             IF_WPA_DRIVER=$(cat
> "/etc/wpa_supplicant/driver.$IFACE")
> > > > > +     elif [ -z "$IF_WPA_DRIVER" ]; then
> > > > > +
> > > > > +             if [ "$VERBOSITY" = "1" ]; then
> > > > > +                     echo "$WPA_SUP_PNAME: wpa-driver not provided,
> > using
> > > > > \"wext\""
> > > > > +             fi
> > > > > +
> > > > > +             IF_WPA_DRIVER="wext"
> > > > > +     fi
> > > > > +
> > > > > +     # if we have passed the criteria, start wpa_supplicant
> > > > > +     if [ -n "$WPA_SUP_CONF" ]; then
> > > > > +
> > > > > +             if [ "$VERBOSITY" = "1" ]; then
> > > > > +                     echo "$WPA_SUP_PNAME: $WPA_SUP_BIN
> > $WPA_SUP_OPTIONS
> > > > > $WPA_SUP_CONF -D $IF_WPA_DRIVER"
> > > > > +             fi
> > > > > +
> > > > > +             start-stop-daemon --start --quiet \
> > > > > +                     --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --
> > > > pidfile
> > > > > $WPA_SUP_PIDFILE \
> > > > > +                     --  $WPA_SUP_OPTIONS $WPA_SUP_CONF -D
> > $IF_WPA_DRIVER
> > > > > +     fi
> > > > > +
> > > > > +     # if the interface socket exists, then wpa_supplicant was
> > invoked
> > > > > successfully
> > > > > +     if [ -S "$WPA_COMMON_CTRL_IFACE/$IFACE" ]; then
> > > > > +
> > > > > +             if [ "$VERBOSITY" = "1" ]; then
> > > > > +                     echo "$WPA_SUP_PNAME: ctrl_interface socket
> > located
> > > > at
> > > > > $WPA_COMMON_CTRL_IFACE/$IFACE"
> > > > > +             fi
> > > > > +
> > > > > +             exit 0
> > > > > +
> > > > > +     fi
> > > > > +
> > > > > +elif [ "$MODE" = "stop" ]; then
> > > > > +
> > > > > +     if [ -f "$WPA_SUP_PIDFILE" ]; then
> > > > > +
> > > > > +             if [ "$VERBOSITY" = "1" ]; then
> > > > > +                     echo "$WPA_SUP_PNAME: terminating
> $WPA_SUP_PNAME
> > > > daemon"
> > > > > +             fi
> > > > > +
> > > > > +             start-stop-daemon --stop --quiet \
> > > > > +                     --name $WPA_SUP_PNAME --pidfile
> >     $WPA_SUP_PIDFILE
> > > > > +
> > > > > +             if [ -S "$WPA_COMMON_CTRL_IFACE/$IFACE" ]; then
> > > > > +                     rm -f $WPA_COMMON_CTRL_IFACE/$IFACE
> > > > > +             fi
> > > > > +
> > > > > +             if [ -f "$WPA_SUP_PIDFILE" ]; then
> > > > > +                     rm -f $WPA_SUP_PIDFILE
> > > > > +             fi
> > > > > +     fi
> > > > > +
> > > > > +fi
> > > > > +
> > > > > +exit 0
> > > > > diff --git a/recipes/wpa-supplicant/wpa-supplicant-
> > > > git/wpa_supplicant.conf
> > > > > b/recipes/wpa-supplicant/wpa-supplicant-git/wpa_supplicant.conf
> > > > > new file mode 100755
> > > > > index 0000000..f0c993d
> > > > > --- /dev/null
> > > > > +++ b/recipes/wpa-supplicant/wpa-supplicant-
> git/wpa_supplicant.conf
> > > > > @@ -0,0 +1,690 @@
> > > > > +##### Example wpa_supplicant configuration file
> > > > > ###############################
> > > > > +#
> > > > > +# This file describes configuration file format and lists all
> > > > available
> > > > > option.
> > > > > +# Please also take a look at simpler configuration examples in
> > > > 'examples'
> > > > > +# subdirectory.
> > > > > +#
> > > > > +# Empty lines and lines starting with # are ignored
> > > > > +
> > > > > +# NOTE! This file may contain password information and should
> > > > probably be
> > > > > made
> > > > > +# readable only by root user on multiuser systems.
> > > > > +
> > > > > +# Note: All file paths in this configuration file should use
> full
> > > > > (absolute,
> > > > > +# not relative to working directory) path in order to allow
> > > working
> > > > > directory
> > > > > +# to be changed. This can happen if wpa_supplicant is run in
> the
> > > > > background.
> > > > > +
> > > > > +# Whether to allow wpa_supplicant to update (overwrite)
> > > > configuration
> > > > > +#
> > > > > +# This option can be used to allow wpa_supplicant to overwrite
> > > > > configuration
> > > > > +# file whenever configuration is changed (e.g., new network
> block
> > > is
> > > > > added with
> > > > > +# wpa_cli or wpa_gui, or a password is changed). This is
> required
> > > > for
> > > > > +# wpa_cli/wpa_gui to be able to store the configuration
> changes
> > > > > permanently.
> > > > > +# Please note that overwriting configuration file will remove
> the
> > > > > comments from
> > > > > +# it.
> > > > > +#update_config=1
> > > > > +
> > > > > +# global configuration (shared by all network blocks)
> > > > > +#
> > > > > +# Parameters for the control interface. If this is specified,
> > > > > wpa_supplicant
> > > > > +# will open a control interface that is available for external
> > > > programs
> > > > > to
> > > > > +# manage wpa_supplicant. The meaning of this string depends on
> > > which
> > > > > control
> > > > > +# interface mechanism is used. For all cases, the existance of
> > > this
> > > > > parameter
> > > > > +# in configuration is used to determine whether the control
> > > > interface is
> > > > > +# enabled.
> > > > > +#
> > > > > +# For UNIX domain sockets (default on Linux and BSD): This is
> a
> > > > directory
> > > > > that
> > > > > +# will be created for UNIX domain sockets for listening to
> > > requests
> > > > from
> > > > > +# external programs (CLI/GUI, etc.) for status information and
> > > > > configuration.
> > > > > +# The socket file will be named based on the interface name,
> so
> > > > multiple
> > > > > +# wpa_supplicant processes can be run at the same time if more
> > > than
> > > > one
> > > > > +# interface is used.
> > > > > +# /var/run/wpa_supplicant is the recommended directory for
> sockets
> > > > and by
> > > > > +# default, wpa_cli will use it when trying to connect with
> > > > wpa_supplicant.
> > > > > +#
> > > > > +# Access control for the control interface can be configured
> by
> > > > setting
> > > > > the
> > > > > +# directory to allow only members of a group to use sockets.
> This
> > > > way, it
> > > > > is
> > > > > +# possible to run wpa_supplicant as root (since it needs to
> change
> > > > > network
> > > > > +# configuration and open raw sockets) and still allow GUI/CLI
> > > > components
> > > > > to be
> > > > > +# run as non-root users. However, since the control interface
> can
> > > be
> > > > used
> > > > > to
> > > > > +# change the network configuration, this access needs to be
> > > > protected in
> > > > > many
> > > > > +# cases. By default, wpa_supplicant is configured to use gid 0
> > > > (root). If
> > > > > you
> > > > > +# want to allow non-root users to use the control interface,
> add a
> > > > new
> > > > > group
> > > > > +# and change this value to match with that group. Add users
> that
> > > > should
> > > > > have
> > > > > +# control interface access to this group. If this variable is
> > > > commented
> > > > > out or
> > > > > +# not included in the configuration file, group will not be
> > > changed
> > > > from
> > > > > the
> > > > > +# value it got by default when the directory or socket was
> > > created.
> > > > > +#
> > > > > +# When configuring both the directory and group, use following
> > > > format:
> > > > > +# DIR=/var/run/wpa_supplicant GROUP=wheel
> > > > > +# DIR=/var/run/wpa_supplicant GROUP=0
> > > > > +# (group can be either group name or gid)
> > > > > +#
> > > > > +# For UDP connections (default on Windows): The value will be
> > > > ignored.
> > > > > This
> > > > > +# variable is just used to select that the control interface
> is to
> > > > be
> > > > > created.
> > > > > +# The value can be set to, e.g., udp (ctrl_interface=udp)
> > > > > +#
> > > > > +# For Windows Named Pipe: This value can be used to set the
> > > security
> > > > > descriptor
> > > > > +# for controlling access to the control interface. Security
> > > > descriptor
> > > > > can be
> > > > > +# set using Security Descriptor String Format (see
> > > > > http://msdn.microsoft.com/
> > > > > +# library/default.asp?url=/library/en-us/secauthz/security/
> > > > > +# security_descriptor_string_format.asp). The descriptor
> string
> > > > needs to
> > > > > be
> > > > > +# prefixed with SDDL=. For example, ctrl_interface=SDDL=D:
> would
> > > set
> > > > an
> > > > > empty
> > > > > +# DACL (which will reject all connections). See README-
> Windows.txt
> > > > for
> > > > > more
> > > > > +# information about SDDL string format.
> > > > > +#
> > > > > +ctrl_interface=/var/run/wpa_supplicant
> > > > > +
> > > > > +# IEEE 802.1X/EAPOL version
> > > > > +# wpa_supplicant is implemented based on IEEE Std 802.1X-2004
> > > which
> > > > > defines
> > > > > +# EAPOL version 2. However, there are many APs that do not
> handle
> > > > the new
> > > > > +# version number correctly (they seem to drop the frames
> > > > completely). In
> > > > > order
> > > > > +# to make wpa_supplicant interoperate with these APs, the
> version
> > > > number
> > > > > is set
> > > > > +# to 1 by default. This configuration value can be used to set
> it
> > > to
> > > > the
> > > > > new
> > > > > +# version (2).
> > > > > +eapol_version=1
> > > > > +
> > > > > +# AP scanning/selection
> > > > > +# By default, wpa_supplicant requests driver to perform AP
> > > scanning
> > > > and
> > > > > then
> > > > > +# uses the scan results to select a suitable AP. Another
> > > alternative
> > > > is
> > > > > to
> > > > > +# allow the driver to take care of AP scanning and selection
> and
> > > use
> > > > > +# wpa_supplicant just to process EAPOL frames based on IEEE
> 802.11
> > > > > association
> > > > > +# information from the driver.
> > > > > +# 1: wpa_supplicant initiates scanning and AP selection
> > > > > +# 0: driver takes care of scanning, AP selection, and IEEE
> 802.11
> > > > > association
> > > > > +#    parameters (e.g., WPA IE generation); this mode can also
> be
> > > > used
> > > > > with
> > > > > +#    non-WPA drivers when using IEEE 802.1X mode; do not try
> to
> > > > associate
> > > > > with
> > > > > +#    APs (i.e., external program needs to control
> association).
> > > This
> > > > mode
> > > > > must
> > > > > +#    also be used when using wired Ethernet drivers.
> > > > > +# 2: like 0, but associate with APs using security policy and
> SSID
> > > > (but
> > > > > not
> > > > > +#    BSSID); this can be used, e.g., with ndiswrapper and NDIS
> > > > drivers to
> > > > > +#    enable operation with hidden SSIDs and optimized roaming;
> in
> > > > this
> > > > > mode,
> > > > > +#    the network blocks in the configuration file are tried
> one by
> > > > one
> > > > > until
> > > > > +#    the driver reports successful association; each network
> block
> > > > should
> > > > > have
> > > > > +#    explicit security policy (i.e., only one option in the
> lists)
> > > > for
> > > > > +#    key_mgmt, pairwise, group, proto variables
> > > > > +ap_scan=1
> > > > > +
> > > > > +# EAP fast re-authentication
> > > > > +# By default, fast re-authentication is enabled for all EAP
> > > methods
> > > > that
> > > > > +# support it. This variable can be used to disable fast re-
> > > > authentication.
> > > > > +# Normally, there is no need to disable this.
> > > > > +fast_reauth=1
> > > > > +
> > > > > +# OpenSSL Engine support
> > > > > +# These options can be used to load OpenSSL engines.
> > > > > +# The two engines that are supported currently are shown
> below:
> > > > > +# They are both from the opensc project
> (http://www.opensc.org/)
> > > > > +# By default no engines are loaded.
> > > > > +# make the opensc engine available
> > > > > +#opensc_engine_path=/usr/lib/opensc/engine_opensc.so
> > > > > +# make the pkcs11 engine available
> > > > > +#pkcs11_engine_path=/usr/lib/opensc/engine_pkcs11.so
> > > > > +# configure the path to the pkcs11 module required by the
> pkcs11
> > > > engine
> > > > > +#pkcs11_module_path=/usr/lib/pkcs11/opensc-pkcs11.so
> > > > > +
> > > > > +# Dynamic EAP methods
> > > > > +# If EAP methods were built dynamically as shared object
> files,
> > > they
> > > > need
> > > > > to be
> > > > > +# loaded here before being used in the network blocks. By
> default,
> > > > EAP
> > > > > methods
> > > > > +# are included statically in the build, so these lines are not
> > > > needed
> > > > > +#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_tls.so
> > > > > +#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_md5.so
> > > > > +
> > > > > +# Driver interface parameters
> > > > > +# This field can be used to configure arbitrary driver
> interace
> > > > > parameters. The
> > > > > +# format is specific to the selected driver interface. This
> field
> > > is
> > > > not
> > > > > used
> > > > > +# in most cases.
> > > > > +#driver_param="field=value"
> > > > > +
> > > > > +# Maximum lifetime for PMKSA in seconds; default 43200
> > > > > +#dot11RSNAConfigPMKLifetime=43200
> > > > > +# Threshold for reauthentication (percentage of PMK lifetime);
> > > > default 70
> > > > > +#dot11RSNAConfigPMKReauthThreshold=70
> > > > > +# Timeout for security association negotiation in seconds;
> default
> > > > 60
> > > > > +#dot11RSNAConfigSATimeout=60
> > > > > +
> > > > > +# network block
> > > > > +#
> > > > > +# Each network (usually AP's sharing the same SSID) is
> configured
> > > as
> > > > a
> > > > > separate
> > > > > +# block in this configuration file. The network blocks are in
> > > > preference
> > > > > order
> > > > > +# (the first match is used).
> > > > > +#
> > > > > +# network block fields:
> > > > > +#
> > > > > +# disabled:
> > > > > +#    0 = this network can be used (default)
> > > > > +#    1 = this network block is disabled (can be enabled through
> > > > > ctrl_iface,
> > > > > +#        e.g., with wpa_cli or wpa_gui)
> > > > > +#
> > > > > +# id_str: Network identifier string for external scripts. This
> > > value
> > > > is
> > > > > passed
> > > > > +#    to external action script through wpa_cli as WPA_ID_STR
> > > > environment
> > > > > +#    variable to make it easier to do network specific
> > > configuration.
> > > > > +#
> > > > > +# ssid: SSID (mandatory); either as an ASCII string with
> double
> > > > quotation
> > > > > or
> > > > > +#    as hex string; network name
> > > > > +#
> > > > > +# scan_ssid:
> > > > > +#    0 = do not scan this SSID with specific Probe Request
> > > frames
> > > > > (default)
> > > > > +#    1 = scan with SSID-specific Probe Request frames (this can
> > > be
> > > > used
> > > > > to
> > > > > +#        find APs that do not accept broadcast SSID or use
> > > multiple
> > > > > SSIDs;
> > > > > +#        this will add latency to scanning, so enable this only
> > > when
> > > > > needed)
> > > > > +#
> > > > > +# bssid: BSSID (optional); if set, this network block is used
> only
> > > > when
> > > > > +#    associating with the AP using the configured BSSID
> > > > > +#
> > > > > +# priority: priority group (integer)
> > > > > +# By default, all networks will get same priority group (0).
> If
> > > some
> > > > of
> > > > > the
> > > > > +# networks are more desirable, this field can be used to
> change
> > > the
> > > > order
> > > > > in
> > > > > +# which wpa_supplicant goes through the networks when
> selecting a
> > > > BSS.
> > > > > The
> > > > > +# priority groups will be iterated in decreasing priority
> (i.e.,
> > > the
> > > > > larger the
> > > > > +# priority value, the sooner the network is matched against
> the
> > > scan
> > > > > results).
> > > > > +# Within each priority group, networks will be selected based
> on
> > > > security
> > > > > +# policy, signal strength, etc.
> > > > > +# Please note that AP scanning with scan_ssid=1 and ap_scan=2
> mode
> > > > are
> > > > > not
> > > > > +# using this priority to select the order for scanning.
> Instead,
> > > > they try
> > > > > the
> > > > > +# networks in the order that used in the configuration file.
> > > > > +#
> > > > > +# mode: IEEE 802.11 operation mode
> > > > > +# 0 = infrastructure (Managed) mode, i.e., associate with an
> AP
> > > > (default)
> > > > > +# 1 = IBSS (ad-hoc, peer-to-peer)
> > > > > +# Note: IBSS can only be used with key_mgmt NONE (plaintext
> and
> > > > static
> > > > > WEP)
> > > > > +# and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In
> addition,
> > > > ap_scan
> > > > > has
> > > > > +# to be set to 2 for IBSS. WPA-None requires following network
> > > block
> > > > > options:
> > > > > +# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or
> > > CCMP,
> > > > but
> > > > > not
> > > > > +# both), and psk must also be set.
> > > > > +#
> > > > > +# proto: list of accepted protocols
> > > > > +# WPA = WPA/IEEE 802.11i/D3.0
> > > > > +# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias
> for
> > > > RSN)
> > > > > +# If not set, this defaults to: WPA RSN
> > > > > +#
> > > > > +# key_mgmt: list of accepted authenticated key management
> > > protocols
> > > > > +# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
> > > > > +# WPA-EAP = WPA using EAP authentication (this can use an
> external
> > > > > +#    program, e.g., Xsupplicant, for IEEE 802.1X EAP
> > > Authentication
> > > > > +# IEEE8021X = IEEE 802.1X using EAP authentication and
> > > (optionally)
> > > > > dynamically
> > > > > +#    generated WEP keys
> > > > > +# NONE = WPA is not used; plaintext or static WEP could be
> used
> > > > > +# If not set, this defaults to: WPA-PSK WPA-EAP
> > > > > +#
> > > > > +# auth_alg: list of allowed IEEE 802.11 authentication
> algorithms
> > > > > +# OPEN = Open System authentication (required for WPA/WPA2)
> > > > > +# SHARED = Shared Key authentication (requires static WEP
> keys)
> > > > > +# LEAP = LEAP/Network EAP (only used with LEAP)
> > > > > +# If not set, automatic selection is used (Open System with
> LEAP
> > > > enabled
> > > > > if
> > > > > +# LEAP is allowed as one of the EAP methods).
> > > > > +#
> > > > > +# pairwise: list of accepted pairwise (unicast) ciphers for
> WPA
> > > > > +# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE
> > > > 802.11i/D7.0]
> > > > > +# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
> > > > > +# NONE = Use only Group Keys (deprecated, should not be
> included
> > > if
> > > > APs
> > > > > support
> > > > > +#    pairwise keys)
> > > > > +# If not set, this defaults to: CCMP TKIP
> > > > > +#
> > > > > +# group: list of accepted group (broadcast/multicast) ciphers
> for
> > > > WPA
> > > > > +# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE
> > > > 802.11i/D7.0]
> > > > > +# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
> > > > > +# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
> > > > > +# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE
> > > > 802.11]
> > > > > +# If not set, this defaults to: CCMP TKIP WEP104 WEP40
> > > > > +#
> > > > > +# psk: WPA preshared key; 256-bit pre-shared key
> > > > > +# The key used in WPA-PSK mode can be entered either as 64
> hex-
> > > > digits,
> > > > > i.e.,
> > > > > +# 32 bytes or as an ASCII passphrase (in which case, the real
> PSK
> > > > will be
> > > > > +# generated using the passphrase and SSID). ASCII passphrase
> must
> > > be
> > > > > between
> > > > > +# 8 and 63 characters (inclusive).
> > > > > +# This field is not needed, if WPA-EAP is used.
> > > > > +# Note: Separate tool, wpa_passphrase, can be used to generate
> > > 256-
> > > > bit
> > > > > keys
> > > > > +# from ASCII passphrase. This process uses lot of CPU and
> > > > wpa_supplicant
> > > > > +# startup and reconfiguration time can be optimized by
> generating
> > > > the PSK
> > > > > only
> > > > > +# only when the passphrase or SSID has actually changed.
> > > > > +#
> > > > > +# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
> > > > > +# Dynamic WEP key required for non-WPA mode
> > > > > +# bit0 (1): require dynamically generated unicast WEP key
> > > > > +# bit1 (2): require dynamically generated broadcast WEP key
> > > > > +#    (3 = require both keys; default)
> > > > > +# Note: When using wired authentication, eapol_flags must be
> set
> > > to
> > > > 0 for
> > > > > the
> > > > > +# authentication to be completed successfully.
> > > > > +#
> > > > > +# proactive_key_caching:
> > > > > +# Enable/disable opportunistic PMKSA caching for WPA2.
> > > > > +# 0 = disabled (default)
> > > > > +# 1 = enabled
> > > > > +#
> > > > > +# wep_key0..3: Static WEP key (ASCII in double quotation, e.g.
> > > > "abcde" or
> > > > > +# hex without quotation, e.g., 0102030405)
> > > > > +# wep_tx_keyidx: Default WEP key index (TX) (0..3)
> > > > > +#
> > > > > +# peerkey: Whether PeerKey negotiation for direct links (IEEE
> > > > 802.11e
> > > > > DLS) is
> > > > > +# allowed. This is only used with RSN/WPA2.
> > > > > +# 0 = disabled (default)
> > > > > +# 1 = enabled
> > > > > +#peerkey=1
> > > > > +#
> > > > > +# Following fields are only used with internal EAP
> implementation.
> > > > > +# eap: space-separated list of accepted EAP methods
> > > > > +#    MD5 = EAP-MD5 (unsecure and does not generate keying
> > > material ->
> > > > > +#                    cannot be used with WPA; to be used as a Phase
> > > 2
> > > > method
> > > > > +#                    with EAP-PEAP or EAP-TTLS)
> > > > > +#       MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately
> with
> > > WPA;
> > > > to
> > > > > be used
> > > > > +#            as a Phase 2 method with EAP-PEAP or EAP-TTLS)
> > > > > +#       OTP = EAP-OTP (cannot be used separately with WPA; to
> be
> > > > used
> > > > > +#            as a Phase 2 method with EAP-PEAP or EAP-TTLS)
> > > > > +#       GTC = EAP-GTC (cannot be used separately with WPA; to
> be
> > > > used
> > > > > +#            as a Phase 2 method with EAP-PEAP or EAP-TTLS)
> > > > > +#    TLS = EAP-TLS (client and server certificate)
> > > > > +#    PEAP = EAP-PEAP (with tunnelled EAP authentication)
> > > > > +#    TTLS = EAP-TTLS (with tunnelled EAP or
> > > PAP/CHAP/MSCHAP/MSCHAPV2
> > > > > +#                     authentication)
> > > > > +#    If not set, all compiled in methods are allowed.
> > > > > +#
> > > > > +# identity: Identity string for EAP
> > > > > +# anonymous_identity: Anonymous identity string for EAP (to be
> > > used
> > > > as
> > > > > the
> > > > > +#    unencrypted identity with EAP types that support different
> > > > tunnelled
> > > > > +#    identity, e.g., EAP-TTLS)
> > > > > +# password: Password string for EAP
> > > > > +# ca_cert: File path to CA certificate file (PEM/DER). This
> file
> > > can
> > > > have
> > > > > one
> > > > > +#    or more trusted CA certificates. If ca_cert and ca_path are
> > > not
> > > > > +#    included, server certificate will not be verified. This is
> > > > insecure
> > > > > and
> > > > > +#    a trusted CA certificate should always be configured when
> > > using
> > > > > +#    EAP-TLS/TTLS/PEAP. Full path should be used since working
> > > > directory
> > > > > may
> > > > > +#    change when wpa_supplicant is run in the background.
> > > > > +#    On Windows, trusted CA certificates can be loaded from the
> > > system
> > > > > +#    certificate store by setting this to cert_store://<name>,
> > > e.g.,
> > > > > +#    ca_cert="cert_store://CA" or ca_cert="cert_store://ROOT".
> > > > > +#    Note that when running wpa_supplicant as an application,
> > > the user
> > > > > +#    certificate store (My user account) is used, whereas
> > > computer
> > > > store
> > > > > +#    (Computer account) is used when running wpasvc as a
> > > service.
> > > > > +# ca_path: Directory path for CA certificate files (PEM). This
> > > path
> > > > may
> > > > > +#    contain multiple CA certificates in OpenSSL format. Common
> > > use
> > > > for
> > > > > this
> > > > > +#    is to point to system trusted CA list which is often
> > > installed
> > > > into
> > > > > +#    directory like /etc/ssl/certs. If configured, these
> > > certificates
> > > > are
> > > > > +#    added to the list of trusted CAs. ca_cert may also be
> > > included in
> > > > > that
> > > > > +#    case, but it is not required.
> > > > > +# client_cert: File path to client certificate file (PEM/DER)
> > > > > +#    Full path should be used since working directory may change
> > > when
> > > > > +#    wpa_supplicant is run in the background.
> > > > > +#    Alternatively, a named configuration blob can be used by
> > > setting
> > > > > this
> > > > > +#    to blob://<blob name>.
> > > > > +# private_key: File path to client private key file
> (PEM/DER/PFX)
> > > > > +#    When PKCS#12/PFX file (.p12/.pfx) is used, client_cert
> > > should be
> > > > > +#    commented out. Both the private key and certificate will be
> > > read
> > > > > from
> > > > > +#    the PKCS#12 file in this case. Full path should be used
> > > since
> > > > > working
> > > > > +#    directory may change when wpa_supplicant is run in the
> > > > background.
> > > > > +#    Windows certificate store can be used by leaving
> > > client_cert out
> > > > and
> > > > > +#    configuring private_key in one of the following formats:
> > > > > +#    cert://substring_to_match
> > > > > +#    hash://certificate_thumbprint_in_hex
> > > > > +#    for example:
> > > private_key="hash://63093aa9c47f56ae88334c7b65a4"
> > > > > +#    Note that when running wpa_supplicant as an application,
> > > the user
> > > > > +#    certificate store (My user account) is used, whereas
> > > computer
> > > > store
> > > > > +#    (Computer account) is used when running wpasvc as a
> > > service.
> > > > > +#    Alternatively, a named configuration blob can be used by
> > > setting
> > > > > this
> > > > > +#    to blob://<blob name>.
> > > > > +# private_key_passwd: Password for private key file (if left
> out,
> > > > this
> > > > > will be
> > > > > +#    asked through control interface)
> > > > > +# dh_file: File path to DH/DSA parameters file (in PEM format)
> > > > > +#    This is an optional configuration file for setting
> > > parameters for
> > > > an
> > > > > +#    ephemeral DH key exchange. In most cases, the default RSA
> > > > > +#    authentication does not use this configuration. However, it
> > > is
> > > > > possible
> > > > > +#    setup RSA to use ephemeral DH key exchange. In addition,
> > > ciphers
> > > > > with
> > > > > +#    DSA keys always use ephemeral DH keys. This can be used to
> > > > achieve
> > > > > +#    forward secrecy. If the file is in DSA parameters format,
> > > it will
> > > > be
> > > > > +#    automatically converted into DH params.
> > > > > +# subject_match: Substring to be matched against the subject
> of
> > > the
> > > > > +#    authentication server certificate. If this string is set,
> > > the
> > > > server
> > > > > +#    sertificate is only accepted if it contains this string in
> > > the
> > > > > subject.
> > > > > +#    The subject string is in following format:
> > > > > +#    /C=US/ST=CA/L=San Francisco/CN=Test
> > > > AS/emailAddress=as at example.com
> > > > > +# altsubject_match: Semicolon separated string of entries to
> be
> > > > matched
> > > > > against
> > > > > +#    the alternative subject name of the authentication server
> > > > > certificate.
> > > > > +#    If this string is set, the server sertificate is only
> > > accepted if
> > > > it
> > > > > +#    contains one of the entries in an alternative subject name
> > > > extension.
> > > > > +#    altSubjectName string is in following format: TYPE:VALUE
> > > > > +#    Example: EMAIL:server at example.com
> > > > > +#    Example: DNS:server.example.com;DNS:server2.example.com
> > > > > +#    Following types are supported: EMAIL, DNS, URI
> > > > > +# phase1: Phase1 (outer authentication, i.e., TLS tunnel)
> > > parameters
> > > > > +#    (string with field-value pairs, e.g., "peapver=0" or
> > > > > +#    "peapver=1 peaplabel=1")
> > > > > +#    'peapver' can be used to force which PEAP version (0 or 1)
> > > is
> > > > used.
> > > > > +#    'peaplabel=1' can be used to force new label, "client PEAP
> > > > > encryption",
> > > > > +#    to be used during key derivation when PEAPv1 or newer. Most
> > > > existing
> > > > > +#    PEAPv1 implementation seem to be using the old label,
> > > "client EAP
> > > > > +#    encryption", and wpa_supplicant is now using that as the
> > > default
> > > > > value.
> > > > > +#    Some servers, e.g., Radiator, may require peaplabel=1
> > > > configuration
> > > > > to
> > > > > +#    interoperate with PEAPv1; see eap_testing.txt for more
> > > details.
> > > > > +#    'peap_outer_success=0' can be used to terminate PEAP
> > > > authentication
> > > > > on
> > > > > +#    tunneled EAP-Success. This is required with some RADIUS
> > > servers
> > > > that
> > > > > +#    implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
> > > > > +#    Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
> > > > > +#    include_tls_length=1 can be used to force wpa_supplicant to
> > > > include
> > > > > +#    TLS Message Length field in all TLS messages even if they
> > > are not
> > > > > +#    fragmented.
> > > > > +#    sim_min_num_chal=3 can be used to configure EAP-SIM to
> > > require
> > > > three
> > > > > +#    challenges (by default, it accepts 2 or 3)
> > > > > +# phase2: Phase2 (inner authentication with TLS tunnel)
> parameters
> > > > > +#    (string with field-value pairs, e.g., "auth=MSCHAPV2" for
> > > EAP-
> > > > PEAP
> > > > > or
> > > > > +#    "autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS)
> > > > > +# Following certificate/private key fields are used in inner
> > > Phase2
> > > > > +# authentication when using EAP-TTLS or EAP-PEAP.
> > > > > +# ca_cert2: File path to CA certificate file. This file can
> have
> > > one
> > > > or
> > > > > more
> > > > > +#    trusted CA certificates. If ca_cert2 and ca_path2 are not
> > > > included,
> > > > > +#    server certificate will not be verified. This is insecure
> > > and a
> > > > > trusted
> > > > > +#    CA certificate should always be configured.
> > > > > +# ca_path2: Directory path for CA certificate files (PEM)
> > > > > +# client_cert2: File path to client certificate file
> > > > > +# private_key2: File path to client private key file
> > > > > +# private_key2_passwd: Password for private key file
> > > > > +# dh_file2: File path to DH/DSA parameters file (in PEM
> format)
> > > > > +# subject_match2: Substring to be matched against the subject
> of
> > > the
> > > > > +#    authentication server certificate.
> > > > > +# altsubject_match2: Substring to be matched against the
> > > alternative
> > > > > subject
> > > > > +#    name of the authentication server certificate.
> > > > > +#
> > > > > +# fragment_size: Maximum EAP fragment size in bytes (default
> > > 1398).
> > > > > +#    This value limits the fragment size for EAP methods that
> > > support
> > > > > +#    fragmentation (e.g., EAP-TLS and EAP-PEAP). This value
> > > should be
> > > > set
> > > > > +#    small enough to make the EAP messages fit in MTU of the
> > > network
> > > > > +#    interface used for EAPOL. The default value is suitable for
> > > most
> > > > > +#    cases.
> > > > > +#
> > > > > +# EAP-PSK variables:
> > > > > +# eappsk: 16-byte (128-bit, 32 hex digits) pre-shared key in
> hex
> > > > format
> > > > > +# nai: user NAI
> > > > > +#
> > > > > +# EAP-PAX variables:
> > > > > +# eappsk: 16-byte (128-bit, 32 hex digits) pre-shared key in
> hex
> > > > format
> > > > > +#
> > > > > +# EAP-SAKE variables:
> > > > > +# eappsk: 32-byte (256-bit, 64 hex digits) pre-shared key in
> hex
> > > > format
> > > > > +#    (this is concatenation of Root-Secret-A and Root-Secret-B)
> > > > > +# nai: user NAI (PEERID)
> > > > > +#
> > > > > +# EAP-GPSK variables:
> > > > > +# eappsk: Pre-shared key in hex format (at least 128 bits,
> i.e.,
> > > 32
> > > > hex
> > > > > digits)
> > > > > +# nai: user NAI (ID_Client)
> > > > > +#
> > > > > +# EAP-FAST variables:
> > > > > +# pac_file: File path for the PAC entries. wpa_supplicant will
> > > need
> > > > to be
> > > > > able
> > > > > +#    to create this file and write updates to it when PAC is
> > > being
> > > > > +#    provisioned or refreshed. Full path to the file should be
> > > used
> > > > since
> > > > > +#    working directory may change when wpa_supplicant is run in
> > > the
> > > > > +#    background. Alternatively, a named configuration blob can
> > > be used
> > > > by
> > > > > +#    setting this to blob://<blob name>
> > > > > +# phase1: fast_provisioning=1 option enables in-line
> provisioning
> > > of
> > > > EAP-
> > > > > FAST
> > > > > +#    credentials (PAC)
> > > > > +#
> > > > > +# wpa_supplicant supports number of "EAP workarounds" to work
> > > around
> > > > > +# interoperability issues with incorrectly behaving
> authentication
> > > > > servers.
> > > > > +# These are enabled by default because some of the issues are
> > > > present in
> > > > > large
> > > > > +# number of authentication servers. Strict EAP conformance
> mode
> > > can
> > > > be
> > > > > +# configured by disabling workarounds with eap_workaround=0.
> > > > > +
> > > > > +# Example blocks:
> > > > > +
> > > > > +# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all
> > > valid
> > > > > ciphers
> > > > > +network={
> > > > > +     ssid="simple"
> > > > > +     psk="very secret passphrase"
> > > > > +     priority=5
> > > > > +}
> > > > > +
> > > > > +# Same as previous, but request SSID-specific scanning (for
> APs
> > > that
> > > > > reject
> > > > > +# broadcast SSID)
> > > > > +network={
> > > > > +     ssid="second ssid"
> > > > > +     scan_ssid=1
> > > > > +     psk="very secret passphrase"
> > > > > +     priority=2
> > > > > +}
> > > > > +
> > > > > +# Only WPA-PSK is used. Any valid cipher combination is
> accepted.
> > > > > +network={
> > > > > +     ssid="example"
> > > > > +     proto=WPA
> > > > > +     key_mgmt=WPA-PSK
> > > > > +     pairwise=CCMP TKIP
> > > > > +     group=CCMP TKIP WEP104 WEP40
> > > > > +
> > > >
>       psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac
> > > > 7bb
> > > > > +     priority=2
> > > > > +}
> > > > > +
> > > > > +# Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP
> that
> > > > used
> > > > > WEP104
> > > > > +# or WEP40 as the group cipher will not be accepted.
> > > > > +network={
> > > > > +     ssid="example"
> > > > > +     proto=RSN
> > > > > +     key_mgmt=WPA-EAP
> > > > > +     pairwise=CCMP TKIP
> > > > > +     group=CCMP TKIP
> > > > > +     eap=TLS
> > > > > +     identity="user at example.com"
> > > > > +     ca_cert="/etc/cert/ca.pem"
> > > > > +     client_cert="/etc/cert/user.pem"
> > > > > +     private_key="/etc/cert/user.prv"
> > > > > +     private_key_passwd="password"
> > > > > +     priority=1
> > > > > +}
> > > > > +
> > > > > +# EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use
> the
> > > > new
> > > > > peaplabel
> > > > > +# (e.g., Radiator)
> > > > > +network={
> > > > > +     ssid="example"
> > > > > +     key_mgmt=WPA-EAP
> > > > > +     eap=PEAP
> > > > > +     identity="user at example.com"
> > > > > +     password="foobar"
> > > > > +     ca_cert="/etc/cert/ca.pem"
> > > > > +     phase1="peaplabel=1"
> > > > > +     phase2="auth=MSCHAPV2"
> > > > > +     priority=10
> > > > > +}
> > > > > +
> > > > > +# EAP-TTLS/EAP-MD5-Challenge configuration with anonymous
> identity
> > > > for
> > > > > the
> > > > > +# unencrypted use. Real identity is sent only within an
> encrypted
> > > > TLS
> > > > > tunnel.
> > > > > +network={
> > > > > +     ssid="example"
> > > > > +     key_mgmt=WPA-EAP
> > > > > +     eap=TTLS
> > > > > +     identity="user at example.com"
> > > > > +     anonymous_identity="anonymous at example.com"
> > > > > +     password="foobar"
> > > > > +     ca_cert="/etc/cert/ca.pem"
> > > > > +     priority=2
> > > > > +}
> > > > > +
> > > > > +# EAP-TTLS/MSCHAPv2 configuration with anonymous identity for
> the
> > > > > unencrypted
> > > > > +# use. Real identity is sent only within an encrypted TLS
> tunnel.
> > > > > +network={
> > > > > +     ssid="example"
> > > > > +     key_mgmt=WPA-EAP
> > > > > +     eap=TTLS
> > > > > +     identity="user at example.com"
> > > > > +     anonymous_identity="anonymous at example.com"
> > > > > +     password="foobar"
> > > > > +     ca_cert="/etc/cert/ca.pem"
> > > > > +     phase2="auth=MSCHAPV2"
> > > > > +}
> > > > > +
> > > > > +# WPA-EAP, EAP-TTLS with different CA certificate used for
> outer
> > > and
> > > > > inner
> > > > > +# authentication.
> > > > > +network={
> > > > > +     ssid="example"
> > > > > +     key_mgmt=WPA-EAP
> > > > > +     eap=TTLS
> > > > > +     # Phase1 / outer authentication
> > > > > +     anonymous_identity="anonymous at example.com"
> > > > > +     ca_cert="/etc/cert/ca.pem"
> > > > > +     # Phase 2 / inner authentication
> > > > > +     phase2="autheap=TLS"
> > > > > +     ca_cert2="/etc/cert/ca2.pem"
> > > > > +     client_cert2="/etc/cer/user.pem"
> > > > > +     private_key2="/etc/cer/user.prv"
> > > > > +     private_key2_passwd="password"
> > > > > +     priority=2
> > > > > +}
> > > > > +
> > > > > +# Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted
> as
> > > > pairwise
> > > > > and
> > > > > +# group cipher.
> > > > > +network={
> > > > > +     ssid="example"
> > > > > +     bssid=00:11:22:33:44:55
> > > > > +     proto=WPA RSN
> > > > > +     key_mgmt=WPA-PSK WPA-EAP
> > > > > +     pairwise=CCMP
> > > > > +     group=CCMP
> > > > > +
> > > >
>       psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac
> > > > 7bb
> > > > > +}
> > > > > +
> > > > > +# Special characters in SSID, so use hex string. Default to
> WPA-
> > > PSK,
> > > > WPA-
> > > > > EAP
> > > > > +# and all valid ciphers.
> > > > > +network={
> > > > > +     ssid=00010203
> > > > > +
> > > >
>       psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1
> > > > e1f
> > > > > +}
> > > > > +
> > > > > +
> > > > > +# IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e.,
> no
> > > > WPA)
> > > > > using
> > > > > +# EAP-TLS for authentication and key generation; require both
> > > > unicast and
> > > > > +# broadcast WEP keys.
> > > > > +network={
> > > > > +     ssid="1x-test"
> > > > > +     key_mgmt=IEEE8021X
> > > > > +     eap=TLS
> > > > > +     identity="user at example.com"
> > > > > +     ca_cert="/etc/cert/ca.pem"
> > > > > +     client_cert="/etc/cert/user.pem"
> > > > > +     private_key="/etc/cert/user.prv"
> > > > > +     private_key_passwd="password"
> > > > > +     eapol_flags=3
> > > > > +}
> > > > > +
> > > > > +
> > > > > +# LEAP with dynamic WEP keys
> > > > > +network={
> > > > > +     ssid="leap-example"
> > > > > +     key_mgmt=IEEE8021X
> > > > > +     eap=LEAP
> > > > > +     identity="user"
> > > > > +     password="foobar"
> > > > > +}
> > > > > +
> > > > > +# Plaintext connection (no WPA, no IEEE 802.1X)
> > > > > +network={
> > > > > +     ssid="plaintext-test"
> > > > > +     key_mgmt=NONE
> > > > > +}
> > > > > +
> > > > > +
> > > > > +# Shared WEP key connection (no WPA, no IEEE 802.1X)
> > > > > +network={
> > > > > +     ssid="static-wep-test"
> > > > > +     key_mgmt=NONE
> > > > > +     wep_key0="abcde"
> > > > > +     wep_key1=0102030405
> > > > > +     wep_key2="1234567890123"
> > > > > +     wep_tx_keyidx=0
> > > > > +     priority=5
> > > > > +}
> > > > > +
> > > > > +
> > > > > +# Shared WEP key connection (no WPA, no IEEE 802.1X) using
> Shared
> > > > Key
> > > > > +# IEEE 802.11 authentication
> > > > > +network={
> > > > > +     ssid="static-wep-test2"
> > > > > +     key_mgmt=NONE
> > > > > +     wep_key0="abcde"
> > > > > +     wep_key1=0102030405
> > > > > +     wep_key2="1234567890123"
> > > > > +     wep_tx_keyidx=0
> > > > > +     priority=5
> > > > > +     auth_alg=SHARED
> > > > > +}
> > > > > +
> > > > > +
> > > > > +# IBSS/ad-hoc network with WPA-None/TKIP.
> > > > > +network={
> > > > > +     ssid="test adhoc"
> > > > > +     mode=1
> > > > > +     proto=WPA
> > > > > +     key_mgmt=WPA-NONE
> > > > > +     pairwise=NONE
> > > > > +     group=TKIP
> > > > > +     psk="secret passphrase"
> > > > > +}
> > > > > +
> > > > > +
> > > > > +# Catch all example that allows more or less all configuration
> > > modes
> > > > > +network={
> > > > > +     ssid="example"
> > > > > +     scan_ssid=1
> > > > > +     key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
> > > > > +     pairwise=CCMP TKIP
> > > > > +     group=CCMP TKIP WEP104 WEP40
> > > > > +     psk="very secret passphrase"
> > > > > +     eap=TTLS PEAP TLS
> > > > > +     identity="user at example.com"
> > > > > +     password="foobar"
> > > > > +     ca_cert="/etc/cert/ca.pem"
> > > > > +     client_cert="/etc/cert/user.pem"
> > > > > +     private_key="/etc/cert/user.prv"
> > > > > +     private_key_passwd="password"
> > > > > +     phase1="peaplabel=0"
> > > > > +}
> > > > > +
> > > > > +# Example of EAP-TLS with smartcard (openssl engine)
> > > > > +network={
> > > > > +     ssid="example"
> > > > > +     key_mgmt=WPA-EAP
> > > > > +     eap=TLS
> > > > > +     proto=RSN
> > > > > +     pairwise=CCMP TKIP
> > > > > +     group=CCMP TKIP
> > > > > +     identity="user at example.com"
> > > > > +     ca_cert="/etc/cert/ca.pem"
> > > > > +     client_cert="/etc/cert/user.pem"
> > > > > +
> > > > > +     engine=1
> > > > > +
> > > > > +     # The engine configured here must be available. Look at
> > > > > +     # OpenSSL engine support in the global section.
> > > > > +     # The key available through the engine must be the private
> key
> > > > > +     # matching the client certificate configured above.
> > > > > +
> > > > > +     # use the opensc engine
> > > > > +     #engine_id="opensc"
> > > > > +     #key_id="45"
> > > > > +
> > > > > +     # use the pkcs11 engine
> > > > > +     engine_id="pkcs11"
> > > > > +     key_id="id_45"
> > > > > +
> > > > > +     # Optional PIN configuration; this can be left out and PIN
> > will
> > > > be
> > > > > +     # asked through the control interface
> > > > > +     pin="1234"
> > > > > +}
> > > > > +
> > > > > +# Example configuration showing how to use an inlined blob as
> a CA
> > > > > certificate
> > > > > +# data instead of using external file
> > > > > +network={
> > > > > +     ssid="example"
> > > > > +     key_mgmt=WPA-EAP
> > > > > +     eap=TTLS
> > > > > +     identity="user at example.com"
> > > > > +     anonymous_identity="anonymous at example.com"
> > > > > +     password="foobar"
> > > > > +     ca_cert="blob://exampleblob"
> > > > > +     priority=20
> > > > > +}
> > > > > +
> > > > > +blob-base64-exampleblob={
> > > > > +SGVsbG8gV29ybGQhCg==
> > > > > +}
> > > > > +
> > > > > +
> > > > > +# Wildcard match for SSID (plaintext APs only). This example
> > > select
> > > > any
> > > > > +# open AP regardless of its SSID.
> > > > > +network={
> > > > > +     key_mgmt=NONE
> > > > > +}
> > > > > diff --git a/recipes/wpa-supplicant/wpa-supplicant-
> > > > > git/wpa_supplicant.conf-sane b/recipes/wpa-supplicant/wpa-
> > > supplicant-
> > > > > git/wpa_supplicant.conf-sane
> > > > > new file mode 100755
> > > > > index 0000000..c91ffe0
> > > > > --- /dev/null
> > > > > +++ b/recipes/wpa-supplicant/wpa-supplicant-
> > > git/wpa_supplicant.conf-
> > > > sane
> > > > > @@ -0,0 +1,7 @@
> > > > > +ctrl_interface=/var/run/wpa_supplicant
> > > > > +ctrl_interface_group=0
> > > > > +update_config=1
> > > > > +
> > > > > +network={
> > > > > +        key_mgmt=NONE
> > > > > +}
> > > > > diff --git a/recipes/wpa-supplicant/wpa-supplicant_git.bb
> > > > b/recipes/wpa-
> > > > > supplicant/wpa-supplicant_git.bb
> > > > > new file mode 100755
> > > > > index 0000000..5292a2c
> > > > > --- /dev/null
> > > > > +++ b/recipes/wpa-supplicant/wpa-supplicant_git.bb
> > > > > @@ -0,0 +1,103 @@
> > > > > +DESCRIPTION = "A Client for Wi-Fi Protected Access (WPA)."
> > > > > +HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
> > > > > +BUGTRACKER = "http://hostap.epitest.fi/bugz/"
> > > > > +SECTION = "network"
> > > > > +LICENSE = "GPLv2 | BSD"
> > > > > +LIC_FILES_CHKSUM =
> > > > > "file://../COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \
> > > > > +
> > > > file://../README;md5=54cfc88015d3ce83f7156e63c6bb1738
> > > > > \
> > > > > +
> > > > >
> > > >
> > >
> file://wpa_supplicant.c;beginline=1;endline=17;md5=acdc5a4b0d6345f21f13
> > > > 6ea
> > > > > ce747260e"
> > > > > +
> > > > > +SRCREV = "b8fb017272ed4794339978c9fbc0e74571a44728"
> > > > > +PR = "r0"
> > > > > +PR_append = "+gitr${SRCREV}"
> > > > > +
> > > > > +DEFAULT_PREFERENCE = "-1"
> > > > > +
> > > > > +DEPENDS = "gnutls dbus libnl openssl
> > > > ${@base_contains("COMBINED_FEATURES",
> > > > > "madwifi", "madwifi-ng", "",d)}"
> > > > > +RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-
> cli"
> > > > > +
> > > > > +SRC_URI = "git://w1.fi/srv/git/hostap.git;protocol=git \
> > > > > +           file://defconfig \
> > > > > +           file://defaults-sane \
> > > > > +           file://wpa-supplicant.sh \
> > > > > +           file://wpa_supplicant.conf \
> > > > > +           file://wpa_supplicant.conf-sane \
> > > > > +           file://99_wpa_supplicant"
> > > > > +
> > > > > +S = "${WORKDIR}/git/wpa_supplicant"
> > > > > +
> > > > > +PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-
> cli "
> > > > > +FILES_wpa-supplicant-passphrase = "/usr/sbin/wpa_passphrase"
> > > > > +FILES_wpa-supplicant-cli = "/usr/sbin/wpa_cli"
> > > > > +FILES_${PN} += " /usr/share/dbus-1/system-services/*"
> > > > > +
> > > > > +do_configure () {
> > > > > +     install -m 0755 ${WORKDIR}/defconfig .config
> > > > > +     echo "CFLAGS += -I${STAGING_INCDIR}" >> .config
> > > > > +     echo "LIBS += -L${STAGING_LIBDIR}" >> .config
> > > > > +     echo "LIBS_p += -L${STAGING_LIBDIR}" >> .config
> > > > > +     if [ "${@base_contains('COMBINED_FEATURES', 'madwifi', 1,
> 0,
> > d)}"
> > > > =
> > > > > "1" ]; then
> > > > > +             echo "CONFIG_DRIVER_MADWIFI=y" >> .config
> > > > > +             echo "CFLAGS += -I${STAGING_INCDIR}/madwifi-ng"
> > >> .config
> > > > > +     fi
> > > > > +}
> > > > > +
> > > > > +do_compile () {
> > > > > +     make
> > > > > +}
> > > > > +
> > > > > +do_install () {
> > > > > +     install -d ${D}${sbindir}
> > > > > +     install -m 755 wpa_supplicant ${D}${sbindir}
> > > > > +     install -m 755 wpa_passphrase ${D}${sbindir}
> > > > > +     install -m 755 wpa_cli        ${D}${sbindir}
> > > > > +
> > > > > +     install -d ${D}${docdir}/wpa_supplicant
> > > > > +     install -m 644 README ${WORKDIR}/wpa_supplicant.conf
> > > > > ${D}${docdir}/wpa_supplicant
> > > > > +
> > > > > +     install -d ${D}${sysconfdir}/default
> > > > > +     install -m 600 ${WORKDIR}/defaults-sane
> > > > > ${D}${sysconfdir}/default/wpa
> > > > > +     install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane
> > > > > ${D}${sysconfdir}/wpa_supplicant.conf
> > > > > +
> > > > > +     install -d ${D}${sysconfdir}/network/if-pre-up.d/
> > > > > +     install -d ${D}${sysconfdir}/network/if-post-down.d/
> > > > > +     install -d ${D}${sysconfdir}/network/if-down.d/
> > > > > +     install -m 644 ${WORKDIR}/wpa_supplicant.conf
> > ${D}${sysconfdir}
> > > > > +     install -m 755 ${WORKDIR}/wpa-supplicant.sh
> > > > > ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant
> > > > > +     cd ${D}${sysconfdir}/network/ && \
> > > > > +     ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-
> > > > supplicant
> > > > > +
> > > > > +     if grep -q ^CONFIG_CTRL_IFACE_DBUS=y .config || grep -q
> > > > > ^CONFIG_CTRL_IFACE_DBUS_NEW=y .config; then
> > > > > +             install -d ${D}/${sysconfdir}/dbus-1/system.d
> > > > > +             install -m 644 ${S}/dbus/dbus-wpa_supplicant.conf
> > > > > ${D}/${sysconfdir}/dbus-1/system.d
> > > > > +             install -d ${D}/${datadir}/dbus-1/system-services
> > > > > +             if grep -q ^CONFIG_CTRL_IFACE_DBUS=y .config; then
> > > > > +                     sed -i -e s:/sbin:${sbindir}:g
> > > > > ${S}/dbus/fi.epitest.hostap.WPASupplicant.service
> > > > > +                     install -m 644
> > > > > ${S}/dbus/fi.epitest.hostap.WPASupplicant.service
> > > > ${D}/${datadir}/dbus-
> > > > > 1/system-services
> > > > > +             fi
> > > > > +             if grep -q ^CONFIG_CTRL_IFACE_DBUS_NEW=y .config;
> then
> > > > > +                     sed -i -e s:/sbin:${sbindir}:g
> > > > > ${S}/dbus/fi.w1.wpa_supplicant1.service
> > > > > +                     install -m 644
> > > > ${S}/dbus/fi.w1.wpa_supplicant1.service
> > > > > ${D}/${datadir}/dbus-1/system-services
> > > > > +             fi
> > > > > +     fi
> > > > > +
> > > > > +     install -d ${D}/etc/default/volatiles
> > > > > +     install -m 0644 ${WORKDIR}/99_wpa_supplicant
> > > > > ${D}/etc/default/volatiles
> > > > > +}
> > > > > +
> > > > > +#we introduce MY_ARCH to get 'armv5te' as arch instead of the
> > > > misleading
> > > > > 'arm' on armv5te builds
> > > > > +MY_ARCH := "${PACKAGE_ARCH}"
> > > > > +PACKAGE_ARCH = "${@base_contains('COMBINED_FEATURES',
> 'madwifi',
> > > > > '${MACHINE_ARCH}', '${MY_ARCH}', d)}"
> > > > > +
> > > > > +pkg_postinst_wpa-supplicant () {
> > > > > +     # can't do this offline
> > > > > +     if [ "x$D" != "x" ]; then
> > > > > +             exit 1
> > > > > +     fi
> > > > > +
> > > > > +     DBUSPID=`pidof dbus-daemon`
> > > > > +
> > > > > +     if [ "x$DBUSPID" != "x" ]; then
> > > > > +             /etc/init.d/dbus-1 reload
> > > > > +     fi
> > > > > +}
> > > > > --
> > > > > 1.7.0.4
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Openembedded-devel mailing list
> > > > > Openembedded-devel at lists.openembedded.org
> > > > > http://lists.linuxtogo.org/cgi-
> bin/mailman/listinfo/openembedded-
> > > > devel




More information about the Openembedded-devel mailing list