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

Reizer, Eyal eyalr at ti.com
Wed Apr 13 16:38:16 UTC 2011


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.

> -----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