diff options
Diffstat (limited to 'meta/recipes-connectivity/wpa-supplicant')
13 files changed, 1695 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/99_wpa_supplicant b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/99_wpa_supplicant new file mode 100644 index 0000000000..6ff4dd8826 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/99_wpa_supplicant | |||
@@ -0,0 +1 @@ | |||
d root root 0700 /var/run/wpa_supplicant none | |||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/defaults-sane b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/defaults-sane new file mode 100644 index 0000000000..67c4cbddf8 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/defaults-sane | |||
@@ -0,0 +1,8 @@ | |||
1 | # Useful flags: | ||
2 | # -i <ifname> Interface (required, unless specified in config) | ||
3 | # -D <driver> Wireless Driver | ||
4 | # -d Debugging (-dd for more) | ||
5 | # -q Quiet (-qq for more) | ||
6 | |||
7 | CONFIG="/etc/wpa_supplicant.conf" | ||
8 | OPTIONS="-i eth1 -D wext" | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/defconfig b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/defconfig new file mode 100644 index 0000000000..c165343399 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/defconfig | |||
@@ -0,0 +1,157 @@ | |||
1 | # This file lists the configuration options that are used when building the | ||
2 | # hostapd binary. All lines starting with # are ignored. Configuration option | ||
3 | # lines must be commented out complete, if they are not to be included, i.e., | ||
4 | # just setting VARIABLE=n is not disabling that variable. | ||
5 | # | ||
6 | # This file is included in Makefile, so variables like CFLAGS and LIBS can also | ||
7 | # be modified from here. In most cass, these lines should use += in order not | ||
8 | # to override previous values of the variables. | ||
9 | |||
10 | CFLAGS = $(TARGET_CFLAGS) -I../hostapd -I../utils -I../driver/modules -Wall -MMD | ||
11 | |||
12 | # for wpa_supplicant, wpa_cli | ||
13 | LIBS = $(TARGET_LDFLAGS) | ||
14 | |||
15 | # for wpa_passphrase: | ||
16 | LIBS_p = $(TARGET_LDFLAGS) | ||
17 | |||
18 | |||
19 | # Uncomment following two lines and fix the paths if you have installed openssl | ||
20 | # in non-default location | ||
21 | #CFLAGS += -I/usr/local/openssl/include | ||
22 | #LIBS += -L/usr/local/openssl/lib | ||
23 | |||
24 | # Example configuration for various cross-compilation platforms | ||
25 | |||
26 | #### sveasoft (e.g., for Linksys WRT54G) ###################################### | ||
27 | #CC=mipsel-uclibc-gcc | ||
28 | #CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc | ||
29 | #CFLAGS += -Os | ||
30 | #CPPFLAGS += -I../src/include -I../../src/router/openssl/include | ||
31 | #LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl | ||
32 | ############################################################################### | ||
33 | |||
34 | #### openwrt (e.g., for Linksys WRT54G) ####################################### | ||
35 | #CC=mipsel-uclibc-gcc | ||
36 | #CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc | ||
37 | #CFLAGS += -Os | ||
38 | #CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \ | ||
39 | # -I../WRT54GS/release/src/include | ||
40 | #LIBS = -lssl | ||
41 | ############################################################################### | ||
42 | |||
43 | |||
44 | # Driver interface for Host AP driver | ||
45 | CONFIG_DRIVER_HOSTAP=y | ||
46 | |||
47 | # Driver interface for Agere driver | ||
48 | CONFIG_DRIVER_HERMES=y | ||
49 | |||
50 | # Driver interface for madwifi driver | ||
51 | #CONFIG_DRIVER_MADWIFI=y | ||
52 | # Change include directories to match with the local setup | ||
53 | #CFLAGS += -I../madwifi/wpa | ||
54 | |||
55 | # Driver interface for Prism54 driver | ||
56 | #CONFIG_DRIVER_PRISM54=y | ||
57 | |||
58 | # Driver interface for ndiswrapper | ||
59 | #CONFIG_DRIVER_NDISWRAPPER=y | ||
60 | |||
61 | # Driver interface for Atmel driver | ||
62 | #CONFIG_DRIVER_ATMEL=y | ||
63 | |||
64 | # Driver interface for Broadcom driver | ||
65 | #CONFIG_DRIVER_BROADCOM=y | ||
66 | # Example path for wlioctl.h; change to match your configuration | ||
67 | #CFLAGS += -I/opt/WRT54GS/release/src/include | ||
68 | |||
69 | # Driver interface for Intel ipw2100 driver | ||
70 | #CONFIG_DRIVER_IPW2100=y | ||
71 | |||
72 | # Driver interface for generic Linux wireless extensions | ||
73 | CONFIG_DRIVER_WEXT=y | ||
74 | |||
75 | # Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) | ||
76 | #CONFIG_DRIVER_BSD=y | ||
77 | #CFLAGS += -I/usr/local/include | ||
78 | #LIBS += -L/usr/local/lib | ||
79 | |||
80 | # Driver interface for Windows NDIS | ||
81 | #CONFIG_DRIVER_NDIS=y | ||
82 | #CFLAGS += -I/usr/include/w32api/ddk | ||
83 | #LIBS += -L/usr/local/lib | ||
84 | # For native build using mingw | ||
85 | #CONFIG_NATIVE_WINDOWS=y | ||
86 | # Additional directories for cross-compilation on Linux host for mingw target | ||
87 | #CFLAGS += -I/opt/mingw/mingw32/include/ddk | ||
88 | #LIBS += -L/opt/mingw/mingw32/lib | ||
89 | #CC=mingw32-gcc | ||
90 | |||
91 | # Driver interface for development testing | ||
92 | #CONFIG_DRIVER_TEST=y | ||
93 | |||
94 | # Enable IEEE 802.1X Supplicant (automatically included if any EAP method is | ||
95 | # included) | ||
96 | CONFIG_IEEE8021X_EAPOL=y | ||
97 | |||
98 | # EAP-MD5 (automatically included if EAP-TTLS is enabled) | ||
99 | CONFIG_EAP_MD5=y | ||
100 | |||
101 | # EAP-MSCHAPv2 (automatically included if EAP-PEAP is enabled) | ||
102 | CONFIG_EAP_MSCHAPV2=y | ||
103 | |||
104 | # EAP-TLS | ||
105 | CONFIG_EAP_TLS=y | ||
106 | |||
107 | # EAL-PEAP | ||
108 | CONFIG_EAP_PEAP=y | ||
109 | |||
110 | # EAP-TTLS | ||
111 | CONFIG_EAP_TTLS=y | ||
112 | |||
113 | # EAP-GTC | ||
114 | CONFIG_EAP_GTC=y | ||
115 | |||
116 | # EAP-OTP | ||
117 | CONFIG_EAP_OTP=y | ||
118 | |||
119 | # EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used) | ||
120 | #CONFIG_EAP_SIM=y | ||
121 | |||
122 | # EAP-PSK (experimental; this is _not_ needed for WPA-PSK) | ||
123 | #CONFIG_EAP_PSK=y | ||
124 | |||
125 | # LEAP | ||
126 | CONFIG_EAP_LEAP=y | ||
127 | |||
128 | # EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used) | ||
129 | #CONFIG_EAP_AKA=y | ||
130 | |||
131 | # PKCS#12 (PFX) support (used to read private key and certificate file from | ||
132 | # a file that usually has extension .p12 or .pfx) | ||
133 | CONFIG_PKCS12=y | ||
134 | |||
135 | # PC/SC interface for smartcards (USIM, GSM SIM) | ||
136 | # Enable this if EAP-SIM or EAP-AKA is included | ||
137 | #CONFIG_PCSC=y | ||
138 | |||
139 | # Development testing | ||
140 | #CONFIG_EAPOL_TEST=y | ||
141 | |||
142 | # Replace native Linux implementation of packet sockets with libdnet/libpcap. | ||
143 | # This will be automatically set for non-Linux OS. | ||
144 | #CONFIG_DNET_PCAP=y | ||
145 | |||
146 | # Include control interface for external programs, e.g, wpa_cli | ||
147 | CONFIG_CTRL_IFACE=y | ||
148 | |||
149 | # Include interface for using external supplicant (Xsupplicant) for EAP | ||
150 | # authentication | ||
151 | #CONFIG_XSUPPLICANT_IFACE=y | ||
152 | |||
153 | # Include support for GNU Readline and History Libraries in wpa_cli. | ||
154 | # When building a wpa_cli binary for distribution, please note that these | ||
155 | # libraries are licensed under GPL and as such, BSD license may not apply for | ||
156 | # the resulting binary. | ||
157 | #CONFIG_READLINE=y | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/defconfig-gnutls b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/defconfig-gnutls new file mode 100644 index 0000000000..e325bb83e9 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/defconfig-gnutls | |||
@@ -0,0 +1,407 @@ | |||
1 | # Example wpa_supplicant build time configuration | ||
2 | # | ||
3 | # This file lists the configuration options that are used when building the | ||
4 | # hostapd binary. All lines starting with # are ignored. Configuration option | ||
5 | # lines must be commented out complete, if they are not to be included, i.e., | ||
6 | # just setting VARIABLE=n is not disabling that variable. | ||
7 | # | ||
8 | # This file is included in Makefile, so variables like CFLAGS and LIBS can also | ||
9 | # be modified from here. In most cases, these lines should use += in order not | ||
10 | # to override previous values of the variables. | ||
11 | |||
12 | |||
13 | # Uncomment following two lines and fix the paths if you have installed OpenSSL | ||
14 | # or GnuTLS in non-default location | ||
15 | #CFLAGS += -I/usr/local/openssl/include | ||
16 | #LIBS += -L/usr/local/openssl/lib | ||
17 | |||
18 | # Some Red Hat versions seem to include kerberos header files from OpenSSL, but | ||
19 | # the kerberos files are not in the default include path. Following line can be | ||
20 | # used to fix build issues on such systems (krb5.h not found). | ||
21 | #CFLAGS += -I/usr/include/kerberos | ||
22 | |||
23 | # Example configuration for various cross-compilation platforms | ||
24 | |||
25 | #### sveasoft (e.g., for Linksys WRT54G) ###################################### | ||
26 | #CC=mipsel-uclibc-gcc | ||
27 | #CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc | ||
28 | #CFLAGS += -Os | ||
29 | #CPPFLAGS += -I../src/include -I../../src/router/openssl/include | ||
30 | #LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl | ||
31 | ############################################################################### | ||
32 | |||
33 | #### openwrt (e.g., for Linksys WRT54G) ####################################### | ||
34 | #CC=mipsel-uclibc-gcc | ||
35 | #CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc | ||
36 | #CFLAGS += -Os | ||
37 | #CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \ | ||
38 | # -I../WRT54GS/release/src/include | ||
39 | #LIBS = -lssl | ||
40 | ############################################################################### | ||
41 | |||
42 | |||
43 | # Driver interface for Host AP driver | ||
44 | CONFIG_DRIVER_HOSTAP=y | ||
45 | |||
46 | # Driver interface for Agere driver | ||
47 | #CONFIG_DRIVER_HERMES=y | ||
48 | # Change include directories to match with the local setup | ||
49 | #CFLAGS += -I../../hcf -I../../include -I../../include/hcf | ||
50 | #CFLAGS += -I../../include/wireless | ||
51 | |||
52 | # Driver interface for madwifi driver | ||
53 | # Deprecated; use CONFIG_DRIVER_WEXT=y instead. | ||
54 | #CONFIG_DRIVER_MADWIFI=y | ||
55 | # Set include directory to the madwifi source tree | ||
56 | #CFLAGS += -I../../madwifi | ||
57 | |||
58 | # Driver interface for ndiswrapper | ||
59 | # Deprecated; use CONFIG_DRIVER_WEXT=y instead. | ||
60 | #CONFIG_DRIVER_NDISWRAPPER=y | ||
61 | |||
62 | # Driver interface for Atmel driver | ||
63 | # CONFIG_DRIVER_ATMEL=y | ||
64 | |||
65 | # Driver interface for old Broadcom driver | ||
66 | # Please note that the newer Broadcom driver ("hybrid Linux driver") supports | ||
67 | # Linux wireless extensions and does not need (or even work) with the old | ||
68 | # driver wrapper. Use CONFIG_DRIVER_WEXT=y with that driver. | ||
69 | #CONFIG_DRIVER_BROADCOM=y | ||
70 | # Example path for wlioctl.h; change to match your configuration | ||
71 | #CFLAGS += -I/opt/WRT54GS/release/src/include | ||
72 | |||
73 | # Driver interface for Intel ipw2100/2200 driver | ||
74 | # Deprecated; use CONFIG_DRIVER_WEXT=y instead. | ||
75 | #CONFIG_DRIVER_IPW=y | ||
76 | |||
77 | # Driver interface for Ralink driver | ||
78 | #CONFIG_DRIVER_RALINK=y | ||
79 | |||
80 | # Driver interface for generic Linux wireless extensions | ||
81 | CONFIG_DRIVER_WEXT=y | ||
82 | |||
83 | # Driver interface for Linux drivers using the nl80211 kernel interface | ||
84 | #CONFIG_DRIVER_NL80211=y | ||
85 | |||
86 | # Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) | ||
87 | #CONFIG_DRIVER_BSD=y | ||
88 | #CFLAGS += -I/usr/local/include | ||
89 | #LIBS += -L/usr/local/lib | ||
90 | #LIBS_p += -L/usr/local/lib | ||
91 | #LIBS_c += -L/usr/local/lib | ||
92 | |||
93 | # Driver interface for Windows NDIS | ||
94 | #CONFIG_DRIVER_NDIS=y | ||
95 | #CFLAGS += -I/usr/include/w32api/ddk | ||
96 | #LIBS += -L/usr/local/lib | ||
97 | # For native build using mingw | ||
98 | #CONFIG_NATIVE_WINDOWS=y | ||
99 | # Additional directories for cross-compilation on Linux host for mingw target | ||
100 | #CFLAGS += -I/opt/mingw/mingw32/include/ddk | ||
101 | #LIBS += -L/opt/mingw/mingw32/lib | ||
102 | #CC=mingw32-gcc | ||
103 | # By default, driver_ndis uses WinPcap for low-level operations. This can be | ||
104 | # replaced with the following option which replaces WinPcap calls with NDISUIO. | ||
105 | # However, this requires that WZC is disabled (net stop wzcsvc) before starting | ||
106 | # wpa_supplicant. | ||
107 | # CONFIG_USE_NDISUIO=y | ||
108 | |||
109 | # Driver interface for development testing | ||
110 | #CONFIG_DRIVER_TEST=y | ||
111 | |||
112 | # Include client MLME (management frame processing) for test driver | ||
113 | # This can be used to test MLME operations in hostapd with the test interface. | ||
114 | # space. | ||
115 | #CONFIG_CLIENT_MLME=y | ||
116 | |||
117 | # Driver interface for wired Ethernet drivers | ||
118 | CONFIG_DRIVER_WIRED=y | ||
119 | |||
120 | # Driver interface for the Broadcom RoboSwitch family | ||
121 | #CONFIG_DRIVER_ROBOSWITCH=y | ||
122 | |||
123 | # Driver interface for no driver (e.g., WPS ER only) | ||
124 | #CONFIG_DRIVER_NONE=y | ||
125 | |||
126 | # Enable IEEE 802.1X Supplicant (automatically included if any EAP method is | ||
127 | # included) | ||
128 | CONFIG_IEEE8021X_EAPOL=y | ||
129 | |||
130 | # EAP-MD5 | ||
131 | CONFIG_EAP_MD5=y | ||
132 | |||
133 | # EAP-MSCHAPv2 | ||
134 | CONFIG_EAP_MSCHAPV2=y | ||
135 | |||
136 | # EAP-TLS | ||
137 | CONFIG_EAP_TLS=y | ||
138 | |||
139 | # EAL-PEAP | ||
140 | CONFIG_EAP_PEAP=y | ||
141 | |||
142 | # EAP-TTLS | ||
143 | CONFIG_EAP_TTLS=y | ||
144 | |||
145 | # EAP-FAST | ||
146 | # Note: Default OpenSSL package does not include support for all the | ||
147 | # functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, | ||
148 | # the OpenSSL library must be patched (openssl-0.9.8d-tls-extensions.patch) | ||
149 | # to add the needed functions. | ||
150 | #CONFIG_EAP_FAST=y | ||
151 | |||
152 | # EAP-GTC | ||
153 | CONFIG_EAP_GTC=y | ||
154 | |||
155 | # EAP-OTP | ||
156 | CONFIG_EAP_OTP=y | ||
157 | |||
158 | # EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used) | ||
159 | #CONFIG_EAP_SIM=y | ||
160 | |||
161 | # EAP-PSK (experimental; this is _not_ needed for WPA-PSK) | ||
162 | #CONFIG_EAP_PSK=y | ||
163 | |||
164 | # EAP-PAX | ||
165 | #CONFIG_EAP_PAX=y | ||
166 | |||
167 | # LEAP | ||
168 | CONFIG_EAP_LEAP=y | ||
169 | |||
170 | # EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used) | ||
171 | #CONFIG_EAP_AKA=y | ||
172 | |||
173 | # EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used). | ||
174 | # This requires CONFIG_EAP_AKA to be enabled, too. | ||
175 | #CONFIG_EAP_AKA_PRIME=y | ||
176 | |||
177 | # Enable USIM simulator (Milenage) for EAP-AKA | ||
178 | #CONFIG_USIM_SIMULATOR=y | ||
179 | |||
180 | # EAP-SAKE | ||
181 | #CONFIG_EAP_SAKE=y | ||
182 | |||
183 | # EAP-GPSK | ||
184 | #CONFIG_EAP_GPSK=y | ||
185 | # Include support for optional SHA256 cipher suite in EAP-GPSK | ||
186 | #CONFIG_EAP_GPSK_SHA256=y | ||
187 | |||
188 | # EAP-TNC and related Trusted Network Connect support (experimental) | ||
189 | #CONFIG_EAP_TNC=y | ||
190 | |||
191 | # Wi-Fi Protected Setup (WPS) | ||
192 | #CONFIG_WPS=y | ||
193 | |||
194 | # EAP-IKEv2 | ||
195 | #CONFIG_EAP_IKEV2=y | ||
196 | |||
197 | # PKCS#12 (PFX) support (used to read private key and certificate file from | ||
198 | # a file that usually has extension .p12 or .pfx) | ||
199 | CONFIG_PKCS12=y | ||
200 | |||
201 | # Smartcard support (i.e., private key on a smartcard), e.g., with openssl | ||
202 | # engine. | ||
203 | CONFIG_SMARTCARD=y | ||
204 | |||
205 | # PC/SC interface for smartcards (USIM, GSM SIM) | ||
206 | # Enable this if EAP-SIM or EAP-AKA is included | ||
207 | #CONFIG_PCSC=y | ||
208 | |||
209 | # Development testing | ||
210 | #CONFIG_EAPOL_TEST=y | ||
211 | |||
212 | # Select control interface backend for external programs, e.g, wpa_cli: | ||
213 | # unix = UNIX domain sockets (default for Linux/*BSD) | ||
214 | # udp = UDP sockets using localhost (127.0.0.1) | ||
215 | # named_pipe = Windows Named Pipe (default for Windows) | ||
216 | # y = use default (backwards compatibility) | ||
217 | # If this option is commented out, control interface is not included in the | ||
218 | # build. | ||
219 | CONFIG_CTRL_IFACE=y | ||
220 | |||
221 | # Include support for GNU Readline and History Libraries in wpa_cli. | ||
222 | # When building a wpa_cli binary for distribution, please note that these | ||
223 | # libraries are licensed under GPL and as such, BSD license may not apply for | ||
224 | # the resulting binary. | ||
225 | #CONFIG_READLINE=y | ||
226 | |||
227 | # Remove debugging code that is printing out debug message to stdout. | ||
228 | # This can be used to reduce the size of the wpa_supplicant considerably | ||
229 | # if debugging code is not needed. The size reduction can be around 35% | ||
230 | # (e.g., 90 kB). | ||
231 | #CONFIG_NO_STDOUT_DEBUG=y | ||
232 | |||
233 | # Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save | ||
234 | # 35-50 kB in code size. | ||
235 | #CONFIG_NO_WPA=y | ||
236 | |||
237 | # Remove WPA2 support. This allows WPA to be used, but removes WPA2 code to | ||
238 | # save about 1 kB in code size when building only WPA-Personal (no EAP support) | ||
239 | # or 6 kB if building for WPA-Enterprise. | ||
240 | #CONFIG_NO_WPA2=y | ||
241 | |||
242 | # Remove IEEE 802.11i/WPA-Personal ASCII passphrase support | ||
243 | # This option can be used to reduce code size by removing support for | ||
244 | # converting ASCII passphrases into PSK. If this functionality is removed, the | ||
245 | # PSK can only be configured as the 64-octet hexstring (e.g., from | ||
246 | # wpa_passphrase). This saves about 0.5 kB in code size. | ||
247 | #CONFIG_NO_WPA_PASSPHRASE=y | ||
248 | |||
249 | # Disable scan result processing (ap_mode=1) to save code size by about 1 kB. | ||
250 | # This can be used if ap_scan=1 mode is never enabled. | ||
251 | #CONFIG_NO_SCAN_PROCESSING=y | ||
252 | |||
253 | # Select configuration backend: | ||
254 | # file = text file (e.g., wpa_supplicant.conf; note: the configuration file | ||
255 | # path is given on command line, not here; this option is just used to | ||
256 | # select the backend that allows configuration files to be used) | ||
257 | # winreg = Windows registry (see win_example.reg for an example) | ||
258 | CONFIG_BACKEND=file | ||
259 | |||
260 | # Remove configuration write functionality (i.e., to allow the configuration | ||
261 | # file to be updated based on runtime configuration changes). The runtime | ||
262 | # configuration can still be changed, the changes are just not going to be | ||
263 | # persistent over restarts. This option can be used to reduce code size by | ||
264 | # about 3.5 kB. | ||
265 | #CONFIG_NO_CONFIG_WRITE=y | ||
266 | |||
267 | # Remove support for configuration blobs to reduce code size by about 1.5 kB. | ||
268 | #CONFIG_NO_CONFIG_BLOBS=y | ||
269 | |||
270 | # Select program entry point implementation: | ||
271 | # main = UNIX/POSIX like main() function (default) | ||
272 | # main_winsvc = Windows service (read parameters from registry) | ||
273 | # main_none = Very basic example (development use only) | ||
274 | #CONFIG_MAIN=main | ||
275 | |||
276 | # Select wrapper for operatins system and C library specific functions | ||
277 | # unix = UNIX/POSIX like systems (default) | ||
278 | # win32 = Windows systems | ||
279 | # none = Empty template | ||
280 | #CONFIG_OS=unix | ||
281 | |||
282 | # Select event loop implementation | ||
283 | # eloop = select() loop (default) | ||
284 | # eloop_win = Windows events and WaitForMultipleObject() loop | ||
285 | # eloop_none = Empty template | ||
286 | #CONFIG_ELOOP=eloop | ||
287 | |||
288 | # Select layer 2 packet implementation | ||
289 | # linux = Linux packet socket (default) | ||
290 | # pcap = libpcap/libdnet/WinPcap | ||
291 | # freebsd = FreeBSD libpcap | ||
292 | # winpcap = WinPcap with receive thread | ||
293 | # ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y) | ||
294 | # none = Empty template | ||
295 | #CONFIG_L2_PACKET=linux | ||
296 | |||
297 | # PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) | ||
298 | CONFIG_PEERKEY=y | ||
299 | |||
300 | # IEEE 802.11w (management frame protection) | ||
301 | # This version is an experimental implementation based on IEEE 802.11w/D1.0 | ||
302 | # draft and is subject to change since the standard has not yet been finalized. | ||
303 | # Driver support is also needed for IEEE 802.11w. | ||
304 | #CONFIG_IEEE80211W=y | ||
305 | |||
306 | # Select TLS implementation | ||
307 | # openssl = OpenSSL (default) | ||
308 | # gnutls = GnuTLS (needed for TLS/IA, see also CONFIG_GNUTLS_EXTRA) | ||
309 | # internal = Internal TLSv1 implementation (experimental) | ||
310 | # none = Empty template | ||
311 | #CONFIG_TLS=openssl | ||
312 | |||
313 | # Whether to enable TLS/IA support, which is required for EAP-TTLSv1. | ||
314 | # You need CONFIG_TLS=gnutls for this to have any effect. Please note that | ||
315 | # even though the core GnuTLS library is released under LGPL, this extra | ||
316 | # library uses GPL and as such, the terms of GPL apply to the combination | ||
317 | # of wpa_supplicant and GnuTLS if this option is enabled. BSD license may not | ||
318 | # apply for distribution of the resulting binary. | ||
319 | #CONFIG_GNUTLS_EXTRA=y | ||
320 | |||
321 | # If CONFIG_TLS=internal is used, additional library and include paths are | ||
322 | # needed for LibTomMath. Alternatively, an integrated, minimal version of | ||
323 | # LibTomMath can be used. See beginning of libtommath.c for details on benefits | ||
324 | # and drawbacks of this option. | ||
325 | #CONFIG_INTERNAL_LIBTOMMATH=y | ||
326 | #ifndef CONFIG_INTERNAL_LIBTOMMATH | ||
327 | #LTM_PATH=/usr/src/libtommath-0.39 | ||
328 | #CFLAGS += -I$(LTM_PATH) | ||
329 | #LIBS += -L$(LTM_PATH) | ||
330 | #LIBS_p += -L$(LTM_PATH) | ||
331 | #endif | ||
332 | # At the cost of about 4 kB of additional binary size, the internal LibTomMath | ||
333 | # can be configured to include faster routines for exptmod, sqr, and div to | ||
334 | # speed up DH and RSA calculation considerably | ||
335 | #CONFIG_INTERNAL_LIBTOMMATH_FAST=y | ||
336 | |||
337 | # Include NDIS event processing through WMI into wpa_supplicant/wpasvc. | ||
338 | # This is only for Windows builds and requires WMI-related header files and | ||
339 | # WbemUuid.Lib from Platform SDK even when building with MinGW. | ||
340 | #CONFIG_NDIS_EVENTS_INTEGRATED=y | ||
341 | #PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform SDK/Lib" | ||
342 | |||
343 | # Add support for old DBus control interface | ||
344 | # (fi.epitest.hostap.WPASupplicant) | ||
345 | #CONFIG_CTRL_IFACE_DBUS=y | ||
346 | |||
347 | # Add support for new DBus control interface | ||
348 | # (fi.w1.hostap.wpa_supplicant1) | ||
349 | #CONFIG_CTRL_IFACE_DBUS_NEW=y | ||
350 | |||
351 | # Add introspection support for new DBus control interface | ||
352 | #CONFIG_CTRL_IFACE_DBUS_INTRO=y | ||
353 | |||
354 | # Add support for loading EAP methods dynamically as shared libraries. | ||
355 | # When this option is enabled, each EAP method can be either included | ||
356 | # statically (CONFIG_EAP_<method>=y) or dynamically (CONFIG_EAP_<method>=dyn). | ||
357 | # Dynamic EAP methods are build as shared objects (eap_*.so) and they need to | ||
358 | # be loaded in the beginning of the wpa_supplicant configuration file | ||
359 | # (see load_dynamic_eap parameter in the example file) before being used in | ||
360 | # the network blocks. | ||
361 | # | ||
362 | # Note that some shared parts of EAP methods are included in the main program | ||
363 | # and in order to be able to use dynamic EAP methods using these parts, the | ||
364 | # main program must have been build with the EAP method enabled (=y or =dyn). | ||
365 | # This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries | ||
366 | # unless at least one of them was included in the main build to force inclusion | ||
367 | # of the shared code. Similarly, at least one of EAP-SIM/AKA must be included | ||
368 | # in the main build to be able to load these methods dynamically. | ||
369 | # | ||
370 | # Please also note that using dynamic libraries will increase the total binary | ||
371 | # size. Thus, it may not be the best option for targets that have limited | ||
372 | # amount of memory/flash. | ||
373 | #CONFIG_DYNAMIC_EAP_METHODS=y | ||
374 | |||
375 | # IEEE Std 802.11r-2008 (Fast BSS Transition) | ||
376 | #CONFIG_IEEE80211R=y | ||
377 | |||
378 | # Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt) | ||
379 | #CONFIG_DEBUG_FILE=y | ||
380 | |||
381 | # Enable privilege separation (see README 'Privilege separation' for details) | ||
382 | #CONFIG_PRIVSEP=y | ||
383 | |||
384 | # Enable mitigation against certain attacks against TKIP by delaying Michael | ||
385 | # MIC error reports by a random amount of time between 0 and 60 seconds | ||
386 | #CONFIG_DELAYED_MIC_ERROR_REPORT=y | ||
387 | |||
388 | # Enable tracing code for developer debugging | ||
389 | # This tracks use of memory allocations and other registrations and reports | ||
390 | # incorrect use with a backtrace of call (or allocation) location. | ||
391 | #CONFIG_WPA_TRACE=y | ||
392 | # For BSD, comment out these. | ||
393 | #LIBS += -lexecinfo | ||
394 | #LIBS_p += -lexecinfo | ||
395 | #LIBS_c += -lexecinfo | ||
396 | |||
397 | # Use libbfd to get more details for developer debugging | ||
398 | # This enables use of libbfd to get more detailed symbols for the backtraces | ||
399 | # generated by CONFIG_WPA_TRACE=y. | ||
400 | #CONFIG_WPA_TRACE_BFD=y | ||
401 | # For BSD, comment out these. | ||
402 | #LIBS += -lbfd -liberty -lz | ||
403 | #LIBS_p += -lbfd -liberty -lz | ||
404 | #LIBS_c += -lbfd -liberty -lz | ||
405 | CONFIG_TLS = gnutls | ||
406 | CONFIG_GNUTLS_EXTRA=y | ||
407 | CONFIG_CTRL_IFACE_DBUS=y | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/init.sh b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/init.sh new file mode 100644 index 0000000000..bc7ee9184e --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/init.sh | |||
@@ -0,0 +1,50 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | PATH=/sbin:/bin:/usr/sbin:/usr/bin | ||
4 | |||
5 | DAEMON=/usr/sbin/wpa_supplicant | ||
6 | CONFIG="/etc/wpa_supplicant.conf" | ||
7 | PNAME="wpa_supplicant" | ||
8 | |||
9 | # insane defaults | ||
10 | OPTIONS="" | ||
11 | |||
12 | test -f /etc/default/wpa && . /etc/default/wpa | ||
13 | |||
14 | if [ ! -f $CONFIG ]; then | ||
15 | echo "No configuration file found, not starting." | ||
16 | exit 1 | ||
17 | fi | ||
18 | |||
19 | test -f $DAEMON || exit 0 | ||
20 | |||
21 | case "$1" in | ||
22 | start) | ||
23 | echo -n "Starting wpa_supplicant: " | ||
24 | start-stop-daemon -S -b -x $DAEMON -- -Bw -c $CONFIG $OPTIONS >/dev/null | ||
25 | echo "done." | ||
26 | ;; | ||
27 | stop) | ||
28 | echo -n "Stopping wpa_supplicant: " | ||
29 | start-stop-daemon -K -n $PNAME >/dev/null | ||
30 | echo "done." | ||
31 | ;; | ||
32 | reload|force-reload) | ||
33 | echo -n "Reloading wpa_supplicant: " | ||
34 | killall -HUP $PNAME | ||
35 | echo "done." | ||
36 | ;; | ||
37 | restart) | ||
38 | echo -n "Restarting wpa_supplicant: " | ||
39 | start-stop-daemon -K -n $PNAME >/dev/null | ||
40 | sleep 1 | ||
41 | start-stop-daemon -S -b -x $DAEMON -- -Bw -c $CONFIG $OPTIONS >/dev/null | ||
42 | echo "done." | ||
43 | ;; | ||
44 | *) | ||
45 | echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2 | ||
46 | exit 1 | ||
47 | ;; | ||
48 | esac | ||
49 | |||
50 | exit 0 | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa-supplicant.sh b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa-supplicant.sh new file mode 100644 index 0000000000..5c9e5d33a7 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa-supplicant.sh | |||
@@ -0,0 +1,85 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | |||
4 | WPA_SUP_BIN="/usr/sbin/wpa_supplicant" | ||
5 | WPA_SUP_PNAME="wpa_supplicant" | ||
6 | WPA_SUP_PIDFILE="/var/run/wpa_supplicant.$IFACE.pid" | ||
7 | WPA_SUP_OPTIONS="-B -P $WPA_SUP_PIDFILE -i $IFACE" | ||
8 | |||
9 | VERBOSITY=0 | ||
10 | |||
11 | |||
12 | if [ -s "$IF_WPA_CONF" ]; then | ||
13 | WPA_SUP_CONF="-c $IF_WPA_CONF" | ||
14 | else | ||
15 | exit 0 | ||
16 | fi | ||
17 | |||
18 | if [ ! -x "$WPA_SUP_BIN" ]; then | ||
19 | |||
20 | if [ "$VERBOSITY" = "1" ]; then | ||
21 | echo "$WPA_SUP_PNAME: binaries not executable or missing from $WPA_SUP_BIN" | ||
22 | fi | ||
23 | |||
24 | exit 1 | ||
25 | fi | ||
26 | |||
27 | if [ "$MODE" = "start" ] ; then | ||
28 | # driver type of interface, defaults to wext when undefined | ||
29 | if [ -s "/etc/wpa_supplicant/driver.$IFACE" ]; then | ||
30 | IF_WPA_DRIVER=$(cat "/etc/wpa_supplicant/driver.$IFACE") | ||
31 | elif [ -z "$IF_WPA_DRIVER" ]; then | ||
32 | |||
33 | if [ "$VERBOSITY" = "1" ]; then | ||
34 | echo "$WPA_SUP_PNAME: wpa-driver not provided, using \"wext\"" | ||
35 | fi | ||
36 | |||
37 | IF_WPA_DRIVER="wext" | ||
38 | fi | ||
39 | |||
40 | # if we have passed the criteria, start wpa_supplicant | ||
41 | if [ -n "$WPA_SUP_CONF" ]; then | ||
42 | |||
43 | if [ "$VERBOSITY" = "1" ]; then | ||
44 | echo "$WPA_SUP_PNAME: $WPA_SUP_BIN $WPA_SUP_OPTIONS $WPA_SUP_CONF -D $IF_WPA_DRIVER" | ||
45 | fi | ||
46 | |||
47 | start-stop-daemon --start --quiet \ | ||
48 | --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \ | ||
49 | -- $WPA_SUP_OPTIONS $WPA_SUP_CONF -D $IF_WPA_DRIVER | ||
50 | fi | ||
51 | |||
52 | # if the interface socket exists, then wpa_supplicant was invoked successfully | ||
53 | if [ -S "$WPA_COMMON_CTRL_IFACE/$IFACE" ]; then | ||
54 | |||
55 | if [ "$VERBOSITY" = "1" ]; then | ||
56 | echo "$WPA_SUP_PNAME: ctrl_interface socket located at $WPA_COMMON_CTRL_IFACE/$IFACE" | ||
57 | fi | ||
58 | |||
59 | exit 0 | ||
60 | |||
61 | fi | ||
62 | |||
63 | elif [ "$MODE" = "stop" ]; then | ||
64 | |||
65 | if [ -f "$WPA_SUP_PIDFILE" ]; then | ||
66 | |||
67 | if [ "$VERBOSITY" = "1" ]; then | ||
68 | echo "$WPA_SUP_PNAME: terminating $WPA_SUP_PNAME daemon" | ||
69 | fi | ||
70 | |||
71 | start-stop-daemon --stop --quiet \ | ||
72 | --name $WPA_SUP_PNAME --pidfile $WPA_SUP_PIDFILE | ||
73 | |||
74 | if [ -S "$WPA_COMMON_CTRL_IFACE/$IFACE" ]; then | ||
75 | rm -f $WPA_COMMON_CTRL_IFACE/$IFACE | ||
76 | fi | ||
77 | |||
78 | if [ -f "$WPA_SUP_PIDFILE" ]; then | ||
79 | rm -f $WPA_SUP_PIDFILE | ||
80 | fi | ||
81 | fi | ||
82 | |||
83 | fi | ||
84 | |||
85 | exit 0 | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant-0.5.7-always-scan.patch b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant-0.5.7-always-scan.patch new file mode 100644 index 0000000000..25afd07a11 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant-0.5.7-always-scan.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | diff -up wpa_supplicant-0.5.7/wpa_supplicant.c.always-scan wpa_supplicant-0.5.7/wpa_supplicant.c | ||
2 | --- wpa_supplicant-0.5.7/wpa_supplicant.c.always-scan 2007-09-25 15:51:35.000000000 -0400 | ||
3 | +++ wpa_supplicant-0.5.7/wpa_supplicant.c 2007-09-25 16:31:27.000000000 -0400 | ||
4 | @@ -972,7 +972,7 @@ static void wpa_supplicant_scan(void *el | ||
5 | struct wpa_ssid *ssid; | ||
6 | int enabled, scan_req = 0, ret; | ||
7 | |||
8 | - if (wpa_s->disconnected) | ||
9 | + if (wpa_s->disconnected && !wpa_s->scan_req) | ||
10 | return; | ||
11 | |||
12 | enabled = 0; | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant-fix-deprecated-dbus-function.patch b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant-fix-deprecated-dbus-function.patch new file mode 100644 index 0000000000..dbd5e4e934 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant-fix-deprecated-dbus-function.patch | |||
@@ -0,0 +1,187 @@ | |||
1 | --- dbus_dict_helpers.c.array-fix 2006-12-18 12:31:11.000000000 -0500 | ||
2 | +++ dbus_dict_helpers.c 2006-12-20 03:17:08.000000000 -0500 | ||
3 | @@ -629,36 +629,55 @@ dbus_bool_t wpa_dbus_dict_open_read(DBus | ||
4 | } | ||
5 | |||
6 | |||
7 | +#define BYTE_ARRAY_CHUNK_SIZE 34 | ||
8 | +#define BYTE_ARRAY_ITEM_SIZE (sizeof (char)) | ||
9 | + | ||
10 | static dbus_bool_t _wpa_dbus_dict_entry_get_byte_array( | ||
11 | - DBusMessageIter *iter, int array_len, int array_type, | ||
12 | + DBusMessageIter *iter, int array_type, | ||
13 | struct wpa_dbus_dict_entry *entry) | ||
14 | { | ||
15 | - dbus_uint32_t i = 0; | ||
16 | + dbus_uint32_t count = 0; | ||
17 | dbus_bool_t success = FALSE; | ||
18 | - char byte; | ||
19 | + char * buffer; | ||
20 | |||
21 | - /* Zero-length arrays are valid. */ | ||
22 | - if (array_len == 0) { | ||
23 | - entry->bytearray_value = NULL; | ||
24 | - entry->array_type = DBUS_TYPE_BYTE; | ||
25 | - success = TRUE; | ||
26 | - goto done; | ||
27 | - } | ||
28 | + entry->bytearray_value = NULL; | ||
29 | + entry->array_type = DBUS_TYPE_BYTE; | ||
30 | |||
31 | - entry->bytearray_value = wpa_zalloc(array_len * sizeof(char)); | ||
32 | - if (!entry->bytearray_value) { | ||
33 | + buffer = wpa_zalloc(BYTE_ARRAY_ITEM_SIZE * BYTE_ARRAY_CHUNK_SIZE); | ||
34 | + if (!buffer) { | ||
35 | perror("_wpa_dbus_dict_entry_get_byte_array[dbus]: out of " | ||
36 | "memory"); | ||
37 | goto done; | ||
38 | } | ||
39 | |||
40 | - entry->array_type = DBUS_TYPE_BYTE; | ||
41 | - entry->array_len = array_len; | ||
42 | + entry->bytearray_value = buffer; | ||
43 | + entry->array_len = 0; | ||
44 | while (dbus_message_iter_get_arg_type(iter) == DBUS_TYPE_BYTE) { | ||
45 | + char byte; | ||
46 | + | ||
47 | + if ((count % BYTE_ARRAY_CHUNK_SIZE) == 0 && count != 0) { | ||
48 | + buffer = realloc(buffer, BYTE_ARRAY_ITEM_SIZE * (count + BYTE_ARRAY_CHUNK_SIZE)); | ||
49 | + if (buffer == NULL) { | ||
50 | + perror("_wpa_dbus_dict_entry_get_byte_array[" | ||
51 | + "dbus] out of memory trying to " | ||
52 | + "retrieve the string array"); | ||
53 | + goto done; | ||
54 | + } | ||
55 | + } | ||
56 | + entry->bytearray_value = buffer; | ||
57 | + | ||
58 | dbus_message_iter_get_basic(iter, &byte); | ||
59 | - entry->bytearray_value[i++] = byte; | ||
60 | + entry->bytearray_value[count] = byte; | ||
61 | + entry->array_len = ++count; | ||
62 | dbus_message_iter_next(iter); | ||
63 | } | ||
64 | + | ||
65 | + /* Zero-length arrays are valid. */ | ||
66 | + if (entry->array_len == 0) { | ||
67 | + free(entry->bytearray_value); | ||
68 | + entry->strarray_value = NULL; | ||
69 | + } | ||
70 | + | ||
71 | success = TRUE; | ||
72 | |||
73 | done: | ||
74 | @@ -666,8 +685,11 @@ done: | ||
75 | } | ||
76 | |||
77 | |||
78 | +#define STR_ARRAY_CHUNK_SIZE 8 | ||
79 | +#define STR_ARRAY_ITEM_SIZE (sizeof (char *)) | ||
80 | + | ||
81 | static dbus_bool_t _wpa_dbus_dict_entry_get_string_array( | ||
82 | - DBusMessageIter *iter, int array_len, int array_type, | ||
83 | + DBusMessageIter *iter, int array_type, | ||
84 | struct wpa_dbus_dict_entry *entry) | ||
85 | { | ||
86 | dbus_uint32_t count = 0; | ||
87 | @@ -677,13 +699,7 @@ static dbus_bool_t _wpa_dbus_dict_entry_ | ||
88 | entry->strarray_value = NULL; | ||
89 | entry->array_type = DBUS_TYPE_STRING; | ||
90 | |||
91 | - /* Zero-length arrays are valid. */ | ||
92 | - if (array_len == 0) { | ||
93 | - success = TRUE; | ||
94 | - goto done; | ||
95 | - } | ||
96 | - | ||
97 | - buffer = wpa_zalloc(sizeof (char *) * 8); | ||
98 | + buffer = wpa_zalloc(STR_ARRAY_ITEM_SIZE * STR_ARRAY_CHUNK_SIZE); | ||
99 | if (buffer == NULL) { | ||
100 | perror("_wpa_dbus_dict_entry_get_string_array[dbus] out of " | ||
101 | "memory trying to retrieve a string array"); | ||
102 | @@ -696,18 +712,14 @@ static dbus_bool_t _wpa_dbus_dict_entry_ | ||
103 | const char *value; | ||
104 | char *str; | ||
105 | |||
106 | - if ((count % 8) == 0 && count != 0) { | ||
107 | - char **tmp; | ||
108 | - tmp = realloc(buffer, sizeof(char *) * (count + 8)); | ||
109 | - if (tmp == NULL) { | ||
110 | + if ((count % STR_ARRAY_CHUNK_SIZE) == 0 && count != 0) { | ||
111 | + buffer = realloc(buffer, STR_ARRAY_ITEM_SIZE * (count + STR_ARRAY_CHUNK_SIZE)); | ||
112 | + if (buffer == NULL) { | ||
113 | perror("_wpa_dbus_dict_entry_get_string_array[" | ||
114 | "dbus] out of memory trying to " | ||
115 | "retrieve the string array"); | ||
116 | - free(buffer); | ||
117 | - buffer = NULL; | ||
118 | goto done; | ||
119 | } | ||
120 | - buffer = tmp; | ||
121 | } | ||
122 | entry->strarray_value = buffer; | ||
123 | |||
124 | @@ -723,6 +735,13 @@ static dbus_bool_t _wpa_dbus_dict_entry_ | ||
125 | entry->array_len = ++count; | ||
126 | dbus_message_iter_next(iter); | ||
127 | } | ||
128 | + | ||
129 | + /* Zero-length arrays are valid. */ | ||
130 | + if (entry->array_len == 0) { | ||
131 | + free(entry->strarray_value); | ||
132 | + entry->strarray_value = NULL; | ||
133 | + } | ||
134 | + | ||
135 | success = TRUE; | ||
136 | |||
137 | done: | ||
138 | @@ -734,7 +753,6 @@ static dbus_bool_t _wpa_dbus_dict_entry_ | ||
139 | DBusMessageIter *iter_dict_val, struct wpa_dbus_dict_entry *entry) | ||
140 | { | ||
141 | int array_type = dbus_message_iter_get_element_type(iter_dict_val); | ||
142 | - int array_len; | ||
143 | dbus_bool_t success = FALSE; | ||
144 | DBusMessageIter iter_array; | ||
145 | |||
146 | @@ -743,20 +761,14 @@ static dbus_bool_t _wpa_dbus_dict_entry_ | ||
147 | |||
148 | dbus_message_iter_recurse(iter_dict_val, &iter_array); | ||
149 | |||
150 | - array_len = dbus_message_iter_get_array_len(&iter_array); | ||
151 | - if (array_len < 0) | ||
152 | - return FALSE; | ||
153 | - | ||
154 | switch (array_type) { | ||
155 | case DBUS_TYPE_BYTE: | ||
156 | success = _wpa_dbus_dict_entry_get_byte_array(&iter_array, | ||
157 | - array_len, | ||
158 | array_type, | ||
159 | entry); | ||
160 | break; | ||
161 | case DBUS_TYPE_STRING: | ||
162 | success = _wpa_dbus_dict_entry_get_string_array(&iter_array, | ||
163 | - array_len, | ||
164 | array_type, | ||
165 | entry); | ||
166 | break; | ||
167 | @@ -943,9 +955,17 @@ void wpa_dbus_dict_entry_clear(struct wp | ||
168 | break; | ||
169 | case DBUS_TYPE_ARRAY: | ||
170 | switch (entry->array_type) { | ||
171 | - case DBUS_TYPE_BYTE: | ||
172 | - free(entry->bytearray_value); | ||
173 | - break; | ||
174 | + case DBUS_TYPE_BYTE: { | ||
175 | + free(entry->bytearray_value); | ||
176 | + break; | ||
177 | + } | ||
178 | + case DBUS_TYPE_STRING: { | ||
179 | + int i; | ||
180 | + for (i = 0; i < entry->array_len; i++) | ||
181 | + free (entry->strarray_value[i]); | ||
182 | + free (entry->strarray_value); | ||
183 | + break; | ||
184 | + } | ||
185 | } | ||
186 | break; | ||
187 | } | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant.conf b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant.conf new file mode 100644 index 0000000000..f0c993d195 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant.conf | |||
@@ -0,0 +1,690 @@ | |||
1 | ##### Example wpa_supplicant configuration file ############################### | ||
2 | # | ||
3 | # This file describes configuration file format and lists all available option. | ||
4 | # Please also take a look at simpler configuration examples in 'examples' | ||
5 | # subdirectory. | ||
6 | # | ||
7 | # Empty lines and lines starting with # are ignored | ||
8 | |||
9 | # NOTE! This file may contain password information and should probably be made | ||
10 | # readable only by root user on multiuser systems. | ||
11 | |||
12 | # Note: All file paths in this configuration file should use full (absolute, | ||
13 | # not relative to working directory) path in order to allow working directory | ||
14 | # to be changed. This can happen if wpa_supplicant is run in the background. | ||
15 | |||
16 | # Whether to allow wpa_supplicant to update (overwrite) configuration | ||
17 | # | ||
18 | # This option can be used to allow wpa_supplicant to overwrite configuration | ||
19 | # file whenever configuration is changed (e.g., new network block is added with | ||
20 | # wpa_cli or wpa_gui, or a password is changed). This is required for | ||
21 | # wpa_cli/wpa_gui to be able to store the configuration changes permanently. | ||
22 | # Please note that overwriting configuration file will remove the comments from | ||
23 | # it. | ||
24 | #update_config=1 | ||
25 | |||
26 | # global configuration (shared by all network blocks) | ||
27 | # | ||
28 | # Parameters for the control interface. If this is specified, wpa_supplicant | ||
29 | # will open a control interface that is available for external programs to | ||
30 | # manage wpa_supplicant. The meaning of this string depends on which control | ||
31 | # interface mechanism is used. For all cases, the existance of this parameter | ||
32 | # in configuration is used to determine whether the control interface is | ||
33 | # enabled. | ||
34 | # | ||
35 | # For UNIX domain sockets (default on Linux and BSD): This is a directory that | ||
36 | # will be created for UNIX domain sockets for listening to requests from | ||
37 | # external programs (CLI/GUI, etc.) for status information and configuration. | ||
38 | # The socket file will be named based on the interface name, so multiple | ||
39 | # wpa_supplicant processes can be run at the same time if more than one | ||
40 | # interface is used. | ||
41 | # /var/run/wpa_supplicant is the recommended directory for sockets and by | ||
42 | # default, wpa_cli will use it when trying to connect with wpa_supplicant. | ||
43 | # | ||
44 | # Access control for the control interface can be configured by setting the | ||
45 | # directory to allow only members of a group to use sockets. This way, it is | ||
46 | # possible to run wpa_supplicant as root (since it needs to change network | ||
47 | # configuration and open raw sockets) and still allow GUI/CLI components to be | ||
48 | # run as non-root users. However, since the control interface can be used to | ||
49 | # change the network configuration, this access needs to be protected in many | ||
50 | # cases. By default, wpa_supplicant is configured to use gid 0 (root). If you | ||
51 | # want to allow non-root users to use the control interface, add a new group | ||
52 | # and change this value to match with that group. Add users that should have | ||
53 | # control interface access to this group. If this variable is commented out or | ||
54 | # not included in the configuration file, group will not be changed from the | ||
55 | # value it got by default when the directory or socket was created. | ||
56 | # | ||
57 | # When configuring both the directory and group, use following format: | ||
58 | # DIR=/var/run/wpa_supplicant GROUP=wheel | ||
59 | # DIR=/var/run/wpa_supplicant GROUP=0 | ||
60 | # (group can be either group name or gid) | ||
61 | # | ||
62 | # For UDP connections (default on Windows): The value will be ignored. This | ||
63 | # variable is just used to select that the control interface is to be created. | ||
64 | # The value can be set to, e.g., udp (ctrl_interface=udp) | ||
65 | # | ||
66 | # For Windows Named Pipe: This value can be used to set the security descriptor | ||
67 | # for controlling access to the control interface. Security descriptor can be | ||
68 | # set using Security Descriptor String Format (see http://msdn.microsoft.com/ | ||
69 | # library/default.asp?url=/library/en-us/secauthz/security/ | ||
70 | # security_descriptor_string_format.asp). The descriptor string needs to be | ||
71 | # prefixed with SDDL=. For example, ctrl_interface=SDDL=D: would set an empty | ||
72 | # DACL (which will reject all connections). See README-Windows.txt for more | ||
73 | # information about SDDL string format. | ||
74 | # | ||
75 | ctrl_interface=/var/run/wpa_supplicant | ||
76 | |||
77 | # IEEE 802.1X/EAPOL version | ||
78 | # wpa_supplicant is implemented based on IEEE Std 802.1X-2004 which defines | ||
79 | # EAPOL version 2. However, there are many APs that do not handle the new | ||
80 | # version number correctly (they seem to drop the frames completely). In order | ||
81 | # to make wpa_supplicant interoperate with these APs, the version number is set | ||
82 | # to 1 by default. This configuration value can be used to set it to the new | ||
83 | # version (2). | ||
84 | eapol_version=1 | ||
85 | |||
86 | # AP scanning/selection | ||
87 | # By default, wpa_supplicant requests driver to perform AP scanning and then | ||
88 | # uses the scan results to select a suitable AP. Another alternative is to | ||
89 | # allow the driver to take care of AP scanning and selection and use | ||
90 | # wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association | ||
91 | # information from the driver. | ||
92 | # 1: wpa_supplicant initiates scanning and AP selection | ||
93 | # 0: driver takes care of scanning, AP selection, and IEEE 802.11 association | ||
94 | # parameters (e.g., WPA IE generation); this mode can also be used with | ||
95 | # non-WPA drivers when using IEEE 802.1X mode; do not try to associate with | ||
96 | # APs (i.e., external program needs to control association). This mode must | ||
97 | # also be used when using wired Ethernet drivers. | ||
98 | # 2: like 0, but associate with APs using security policy and SSID (but not | ||
99 | # BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to | ||
100 | # enable operation with hidden SSIDs and optimized roaming; in this mode, | ||
101 | # the network blocks in the configuration file are tried one by one until | ||
102 | # the driver reports successful association; each network block should have | ||
103 | # explicit security policy (i.e., only one option in the lists) for | ||
104 | # key_mgmt, pairwise, group, proto variables | ||
105 | ap_scan=1 | ||
106 | |||
107 | # EAP fast re-authentication | ||
108 | # By default, fast re-authentication is enabled for all EAP methods that | ||
109 | # support it. This variable can be used to disable fast re-authentication. | ||
110 | # Normally, there is no need to disable this. | ||
111 | fast_reauth=1 | ||
112 | |||
113 | # OpenSSL Engine support | ||
114 | # These options can be used to load OpenSSL engines. | ||
115 | # The two engines that are supported currently are shown below: | ||
116 | # They are both from the opensc project (http://www.opensc.org/) | ||
117 | # By default no engines are loaded. | ||
118 | # make the opensc engine available | ||
119 | #opensc_engine_path=/usr/lib/opensc/engine_opensc.so | ||
120 | # make the pkcs11 engine available | ||
121 | #pkcs11_engine_path=/usr/lib/opensc/engine_pkcs11.so | ||
122 | # configure the path to the pkcs11 module required by the pkcs11 engine | ||
123 | #pkcs11_module_path=/usr/lib/pkcs11/opensc-pkcs11.so | ||
124 | |||
125 | # Dynamic EAP methods | ||
126 | # If EAP methods were built dynamically as shared object files, they need to be | ||
127 | # loaded here before being used in the network blocks. By default, EAP methods | ||
128 | # are included statically in the build, so these lines are not needed | ||
129 | #load_dynamic_eap=/usr/lib/wpa_supplicant/eap_tls.so | ||
130 | #load_dynamic_eap=/usr/lib/wpa_supplicant/eap_md5.so | ||
131 | |||
132 | # Driver interface parameters | ||
133 | # This field can be used to configure arbitrary driver interace parameters. The | ||
134 | # format is specific to the selected driver interface. This field is not used | ||
135 | # in most cases. | ||
136 | #driver_param="field=value" | ||
137 | |||
138 | # Maximum lifetime for PMKSA in seconds; default 43200 | ||
139 | #dot11RSNAConfigPMKLifetime=43200 | ||
140 | # Threshold for reauthentication (percentage of PMK lifetime); default 70 | ||
141 | #dot11RSNAConfigPMKReauthThreshold=70 | ||
142 | # Timeout for security association negotiation in seconds; default 60 | ||
143 | #dot11RSNAConfigSATimeout=60 | ||
144 | |||
145 | # network block | ||
146 | # | ||
147 | # Each network (usually AP's sharing the same SSID) is configured as a separate | ||
148 | # block in this configuration file. The network blocks are in preference order | ||
149 | # (the first match is used). | ||
150 | # | ||
151 | # network block fields: | ||
152 | # | ||
153 | # disabled: | ||
154 | # 0 = this network can be used (default) | ||
155 | # 1 = this network block is disabled (can be enabled through ctrl_iface, | ||
156 | # e.g., with wpa_cli or wpa_gui) | ||
157 | # | ||
158 | # id_str: Network identifier string for external scripts. This value is passed | ||
159 | # to external action script through wpa_cli as WPA_ID_STR environment | ||
160 | # variable to make it easier to do network specific configuration. | ||
161 | # | ||
162 | # ssid: SSID (mandatory); either as an ASCII string with double quotation or | ||
163 | # as hex string; network name | ||
164 | # | ||
165 | # scan_ssid: | ||
166 | # 0 = do not scan this SSID with specific Probe Request frames (default) | ||
167 | # 1 = scan with SSID-specific Probe Request frames (this can be used to | ||
168 | # find APs that do not accept broadcast SSID or use multiple SSIDs; | ||
169 | # this will add latency to scanning, so enable this only when needed) | ||
170 | # | ||
171 | # bssid: BSSID (optional); if set, this network block is used only when | ||
172 | # associating with the AP using the configured BSSID | ||
173 | # | ||
174 | # priority: priority group (integer) | ||
175 | # By default, all networks will get same priority group (0). If some of the | ||
176 | # networks are more desirable, this field can be used to change the order in | ||
177 | # which wpa_supplicant goes through the networks when selecting a BSS. The | ||
178 | # priority groups will be iterated in decreasing priority (i.e., the larger the | ||
179 | # priority value, the sooner the network is matched against the scan results). | ||
180 | # Within each priority group, networks will be selected based on security | ||
181 | # policy, signal strength, etc. | ||
182 | # Please note that AP scanning with scan_ssid=1 and ap_scan=2 mode are not | ||
183 | # using this priority to select the order for scanning. Instead, they try the | ||
184 | # networks in the order that used in the configuration file. | ||
185 | # | ||
186 | # mode: IEEE 802.11 operation mode | ||
187 | # 0 = infrastructure (Managed) mode, i.e., associate with an AP (default) | ||
188 | # 1 = IBSS (ad-hoc, peer-to-peer) | ||
189 | # Note: IBSS can only be used with key_mgmt NONE (plaintext and static WEP) | ||
190 | # and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In addition, ap_scan has | ||
191 | # to be set to 2 for IBSS. WPA-None requires following network block options: | ||
192 | # proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not | ||
193 | # both), and psk must also be set. | ||
194 | # | ||
195 | # proto: list of accepted protocols | ||
196 | # WPA = WPA/IEEE 802.11i/D3.0 | ||
197 | # RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN) | ||
198 | # If not set, this defaults to: WPA RSN | ||
199 | # | ||
200 | # key_mgmt: list of accepted authenticated key management protocols | ||
201 | # WPA-PSK = WPA pre-shared key (this requires 'psk' field) | ||
202 | # WPA-EAP = WPA using EAP authentication (this can use an external | ||
203 | # program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication | ||
204 | # IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically | ||
205 | # generated WEP keys | ||
206 | # NONE = WPA is not used; plaintext or static WEP could be used | ||
207 | # If not set, this defaults to: WPA-PSK WPA-EAP | ||
208 | # | ||
209 | # auth_alg: list of allowed IEEE 802.11 authentication algorithms | ||
210 | # OPEN = Open System authentication (required for WPA/WPA2) | ||
211 | # SHARED = Shared Key authentication (requires static WEP keys) | ||
212 | # LEAP = LEAP/Network EAP (only used with LEAP) | ||
213 | # If not set, automatic selection is used (Open System with LEAP enabled if | ||
214 | # LEAP is allowed as one of the EAP methods). | ||
215 | # | ||
216 | # pairwise: list of accepted pairwise (unicast) ciphers for WPA | ||
217 | # CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0] | ||
218 | # TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0] | ||
219 | # NONE = Use only Group Keys (deprecated, should not be included if APs support | ||
220 | # pairwise keys) | ||
221 | # If not set, this defaults to: CCMP TKIP | ||
222 | # | ||
223 | # group: list of accepted group (broadcast/multicast) ciphers for WPA | ||
224 | # CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0] | ||
225 | # TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0] | ||
226 | # WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key | ||
227 | # WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11] | ||
228 | # If not set, this defaults to: CCMP TKIP WEP104 WEP40 | ||
229 | # | ||
230 | # psk: WPA preshared key; 256-bit pre-shared key | ||
231 | # The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e., | ||
232 | # 32 bytes or as an ASCII passphrase (in which case, the real PSK will be | ||
233 | # generated using the passphrase and SSID). ASCII passphrase must be between | ||
234 | # 8 and 63 characters (inclusive). | ||
235 | # This field is not needed, if WPA-EAP is used. | ||
236 | # Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys | ||
237 | # from ASCII passphrase. This process uses lot of CPU and wpa_supplicant | ||
238 | # startup and reconfiguration time can be optimized by generating the PSK only | ||
239 | # only when the passphrase or SSID has actually changed. | ||
240 | # | ||
241 | # eapol_flags: IEEE 802.1X/EAPOL options (bit field) | ||
242 | # Dynamic WEP key required for non-WPA mode | ||
243 | # bit0 (1): require dynamically generated unicast WEP key | ||
244 | # bit1 (2): require dynamically generated broadcast WEP key | ||
245 | # (3 = require both keys; default) | ||
246 | # Note: When using wired authentication, eapol_flags must be set to 0 for the | ||
247 | # authentication to be completed successfully. | ||
248 | # | ||
249 | # proactive_key_caching: | ||
250 | # Enable/disable opportunistic PMKSA caching for WPA2. | ||
251 | # 0 = disabled (default) | ||
252 | # 1 = enabled | ||
253 | # | ||
254 | # wep_key0..3: Static WEP key (ASCII in double quotation, e.g. "abcde" or | ||
255 | # hex without quotation, e.g., 0102030405) | ||
256 | # wep_tx_keyidx: Default WEP key index (TX) (0..3) | ||
257 | # | ||
258 | # peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e DLS) is | ||
259 | # allowed. This is only used with RSN/WPA2. | ||
260 | # 0 = disabled (default) | ||
261 | # 1 = enabled | ||
262 | #peerkey=1 | ||
263 | # | ||
264 | # Following fields are only used with internal EAP implementation. | ||
265 | # eap: space-separated list of accepted EAP methods | ||
266 | # MD5 = EAP-MD5 (unsecure and does not generate keying material -> | ||
267 | # cannot be used with WPA; to be used as a Phase 2 method | ||
268 | # with EAP-PEAP or EAP-TTLS) | ||
269 | # MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used | ||
270 | # as a Phase 2 method with EAP-PEAP or EAP-TTLS) | ||
271 | # OTP = EAP-OTP (cannot be used separately with WPA; to be used | ||
272 | # as a Phase 2 method with EAP-PEAP or EAP-TTLS) | ||
273 | # GTC = EAP-GTC (cannot be used separately with WPA; to be used | ||
274 | # as a Phase 2 method with EAP-PEAP or EAP-TTLS) | ||
275 | # TLS = EAP-TLS (client and server certificate) | ||
276 | # PEAP = EAP-PEAP (with tunnelled EAP authentication) | ||
277 | # TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2 | ||
278 | # authentication) | ||
279 | # If not set, all compiled in methods are allowed. | ||
280 | # | ||
281 | # identity: Identity string for EAP | ||
282 | # anonymous_identity: Anonymous identity string for EAP (to be used as the | ||
283 | # unencrypted identity with EAP types that support different tunnelled | ||
284 | # identity, e.g., EAP-TTLS) | ||
285 | # password: Password string for EAP | ||
286 | # ca_cert: File path to CA certificate file (PEM/DER). This file can have one | ||
287 | # or more trusted CA certificates. If ca_cert and ca_path are not | ||
288 | # included, server certificate will not be verified. This is insecure and | ||
289 | # a trusted CA certificate should always be configured when using | ||
290 | # EAP-TLS/TTLS/PEAP. Full path should be used since working directory may | ||
291 | # change when wpa_supplicant is run in the background. | ||
292 | # On Windows, trusted CA certificates can be loaded from the system | ||
293 | # certificate store by setting this to cert_store://<name>, e.g., | ||
294 | # ca_cert="cert_store://CA" or ca_cert="cert_store://ROOT". | ||
295 | # Note that when running wpa_supplicant as an application, the user | ||
296 | # certificate store (My user account) is used, whereas computer store | ||
297 | # (Computer account) is used when running wpasvc as a service. | ||
298 | # ca_path: Directory path for CA certificate files (PEM). This path may | ||
299 | # contain multiple CA certificates in OpenSSL format. Common use for this | ||
300 | # is to point to system trusted CA list which is often installed into | ||
301 | # directory like /etc/ssl/certs. If configured, these certificates are | ||
302 | # added to the list of trusted CAs. ca_cert may also be included in that | ||
303 | # case, but it is not required. | ||
304 | # client_cert: File path to client certificate file (PEM/DER) | ||
305 | # Full path should be used since working directory may change when | ||
306 | # wpa_supplicant is run in the background. | ||
307 | # Alternatively, a named configuration blob can be used by setting this | ||
308 | # to blob://<blob name>. | ||
309 | # private_key: File path to client private key file (PEM/DER/PFX) | ||
310 | # When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be | ||
311 | # commented out. Both the private key and certificate will be read from | ||
312 | # the PKCS#12 file in this case. Full path should be used since working | ||
313 | # directory may change when wpa_supplicant is run in the background. | ||
314 | # Windows certificate store can be used by leaving client_cert out and | ||
315 | # configuring private_key in one of the following formats: | ||
316 | # cert://substring_to_match | ||
317 | # hash://certificate_thumbprint_in_hex | ||
318 | # for example: private_key="hash://63093aa9c47f56ae88334c7b65a4" | ||
319 | # Note that when running wpa_supplicant as an application, the user | ||
320 | # certificate store (My user account) is used, whereas computer store | ||
321 | # (Computer account) is used when running wpasvc as a service. | ||
322 | # Alternatively, a named configuration blob can be used by setting this | ||
323 | # to blob://<blob name>. | ||
324 | # private_key_passwd: Password for private key file (if left out, this will be | ||
325 | # asked through control interface) | ||
326 | # dh_file: File path to DH/DSA parameters file (in PEM format) | ||
327 | # This is an optional configuration file for setting parameters for an | ||
328 | # ephemeral DH key exchange. In most cases, the default RSA | ||
329 | # authentication does not use this configuration. However, it is possible | ||
330 | # setup RSA to use ephemeral DH key exchange. In addition, ciphers with | ||
331 | # DSA keys always use ephemeral DH keys. This can be used to achieve | ||
332 | # forward secrecy. If the file is in DSA parameters format, it will be | ||
333 | # automatically converted into DH params. | ||
334 | # subject_match: Substring to be matched against the subject of the | ||
335 | # authentication server certificate. If this string is set, the server | ||
336 | # sertificate is only accepted if it contains this string in the subject. | ||
337 | # The subject string is in following format: | ||
338 | # /C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com | ||
339 | # altsubject_match: Semicolon separated string of entries to be matched against | ||
340 | # the alternative subject name of the authentication server certificate. | ||
341 | # If this string is set, the server sertificate is only accepted if it | ||
342 | # contains one of the entries in an alternative subject name extension. | ||
343 | # altSubjectName string is in following format: TYPE:VALUE | ||
344 | # Example: EMAIL:server@example.com | ||
345 | # Example: DNS:server.example.com;DNS:server2.example.com | ||
346 | # Following types are supported: EMAIL, DNS, URI | ||
347 | # phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters | ||
348 | # (string with field-value pairs, e.g., "peapver=0" or | ||
349 | # "peapver=1 peaplabel=1") | ||
350 | # 'peapver' can be used to force which PEAP version (0 or 1) is used. | ||
351 | # 'peaplabel=1' can be used to force new label, "client PEAP encryption", | ||
352 | # to be used during key derivation when PEAPv1 or newer. Most existing | ||
353 | # PEAPv1 implementation seem to be using the old label, "client EAP | ||
354 | # encryption", and wpa_supplicant is now using that as the default value. | ||
355 | # Some servers, e.g., Radiator, may require peaplabel=1 configuration to | ||
356 | # interoperate with PEAPv1; see eap_testing.txt for more details. | ||
357 | # 'peap_outer_success=0' can be used to terminate PEAP authentication on | ||
358 | # tunneled EAP-Success. This is required with some RADIUS servers that | ||
359 | # implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g., | ||
360 | # Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode) | ||
361 | # include_tls_length=1 can be used to force wpa_supplicant to include | ||
362 | # TLS Message Length field in all TLS messages even if they are not | ||
363 | # fragmented. | ||
364 | # sim_min_num_chal=3 can be used to configure EAP-SIM to require three | ||
365 | # challenges (by default, it accepts 2 or 3) | ||
366 | # phase2: Phase2 (inner authentication with TLS tunnel) parameters | ||
367 | # (string with field-value pairs, e.g., "auth=MSCHAPV2" for EAP-PEAP or | ||
368 | # "autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS) | ||
369 | # Following certificate/private key fields are used in inner Phase2 | ||
370 | # authentication when using EAP-TTLS or EAP-PEAP. | ||
371 | # ca_cert2: File path to CA certificate file. This file can have one or more | ||
372 | # trusted CA certificates. If ca_cert2 and ca_path2 are not included, | ||
373 | # server certificate will not be verified. This is insecure and a trusted | ||
374 | # CA certificate should always be configured. | ||
375 | # ca_path2: Directory path for CA certificate files (PEM) | ||
376 | # client_cert2: File path to client certificate file | ||
377 | # private_key2: File path to client private key file | ||
378 | # private_key2_passwd: Password for private key file | ||
379 | # dh_file2: File path to DH/DSA parameters file (in PEM format) | ||
380 | # subject_match2: Substring to be matched against the subject of the | ||
381 | # authentication server certificate. | ||
382 | # altsubject_match2: Substring to be matched against the alternative subject | ||
383 | # name of the authentication server certificate. | ||
384 | # | ||
385 | # fragment_size: Maximum EAP fragment size in bytes (default 1398). | ||
386 | # This value limits the fragment size for EAP methods that support | ||
387 | # fragmentation (e.g., EAP-TLS and EAP-PEAP). This value should be set | ||
388 | # small enough to make the EAP messages fit in MTU of the network | ||
389 | # interface used for EAPOL. The default value is suitable for most | ||
390 | # cases. | ||
391 | # | ||
392 | # EAP-PSK variables: | ||
393 | # eappsk: 16-byte (128-bit, 32 hex digits) pre-shared key in hex format | ||
394 | # nai: user NAI | ||
395 | # | ||
396 | # EAP-PAX variables: | ||
397 | # eappsk: 16-byte (128-bit, 32 hex digits) pre-shared key in hex format | ||
398 | # | ||
399 | # EAP-SAKE variables: | ||
400 | # eappsk: 32-byte (256-bit, 64 hex digits) pre-shared key in hex format | ||
401 | # (this is concatenation of Root-Secret-A and Root-Secret-B) | ||
402 | # nai: user NAI (PEERID) | ||
403 | # | ||
404 | # EAP-GPSK variables: | ||
405 | # eappsk: Pre-shared key in hex format (at least 128 bits, i.e., 32 hex digits) | ||
406 | # nai: user NAI (ID_Client) | ||
407 | # | ||
408 | # EAP-FAST variables: | ||
409 | # pac_file: File path for the PAC entries. wpa_supplicant will need to be able | ||
410 | # to create this file and write updates to it when PAC is being | ||
411 | # provisioned or refreshed. Full path to the file should be used since | ||
412 | # working directory may change when wpa_supplicant is run in the | ||
413 | # background. Alternatively, a named configuration blob can be used by | ||
414 | # setting this to blob://<blob name> | ||
415 | # phase1: fast_provisioning=1 option enables in-line provisioning of EAP-FAST | ||
416 | # credentials (PAC) | ||
417 | # | ||
418 | # wpa_supplicant supports number of "EAP workarounds" to work around | ||
419 | # interoperability issues with incorrectly behaving authentication servers. | ||
420 | # These are enabled by default because some of the issues are present in large | ||
421 | # number of authentication servers. Strict EAP conformance mode can be | ||
422 | # configured by disabling workarounds with eap_workaround=0. | ||
423 | |||
424 | # Example blocks: | ||
425 | |||
426 | # Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers | ||
427 | network={ | ||
428 | ssid="simple" | ||
429 | psk="very secret passphrase" | ||
430 | priority=5 | ||
431 | } | ||
432 | |||
433 | # Same as previous, but request SSID-specific scanning (for APs that reject | ||
434 | # broadcast SSID) | ||
435 | network={ | ||
436 | ssid="second ssid" | ||
437 | scan_ssid=1 | ||
438 | psk="very secret passphrase" | ||
439 | priority=2 | ||
440 | } | ||
441 | |||
442 | # Only WPA-PSK is used. Any valid cipher combination is accepted. | ||
443 | network={ | ||
444 | ssid="example" | ||
445 | proto=WPA | ||
446 | key_mgmt=WPA-PSK | ||
447 | pairwise=CCMP TKIP | ||
448 | group=CCMP TKIP WEP104 WEP40 | ||
449 | psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb | ||
450 | priority=2 | ||
451 | } | ||
452 | |||
453 | # Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP that used WEP104 | ||
454 | # or WEP40 as the group cipher will not be accepted. | ||
455 | network={ | ||
456 | ssid="example" | ||
457 | proto=RSN | ||
458 | key_mgmt=WPA-EAP | ||
459 | pairwise=CCMP TKIP | ||
460 | group=CCMP TKIP | ||
461 | eap=TLS | ||
462 | identity="user@example.com" | ||
463 | ca_cert="/etc/cert/ca.pem" | ||
464 | client_cert="/etc/cert/user.pem" | ||
465 | private_key="/etc/cert/user.prv" | ||
466 | private_key_passwd="password" | ||
467 | priority=1 | ||
468 | } | ||
469 | |||
470 | # EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use the new peaplabel | ||
471 | # (e.g., Radiator) | ||
472 | network={ | ||
473 | ssid="example" | ||
474 | key_mgmt=WPA-EAP | ||
475 | eap=PEAP | ||
476 | identity="user@example.com" | ||
477 | password="foobar" | ||
478 | ca_cert="/etc/cert/ca.pem" | ||
479 | phase1="peaplabel=1" | ||
480 | phase2="auth=MSCHAPV2" | ||
481 | priority=10 | ||
482 | } | ||
483 | |||
484 | # EAP-TTLS/EAP-MD5-Challenge configuration with anonymous identity for the | ||
485 | # unencrypted use. Real identity is sent only within an encrypted TLS tunnel. | ||
486 | network={ | ||
487 | ssid="example" | ||
488 | key_mgmt=WPA-EAP | ||
489 | eap=TTLS | ||
490 | identity="user@example.com" | ||
491 | anonymous_identity="anonymous@example.com" | ||
492 | password="foobar" | ||
493 | ca_cert="/etc/cert/ca.pem" | ||
494 | priority=2 | ||
495 | } | ||
496 | |||
497 | # EAP-TTLS/MSCHAPv2 configuration with anonymous identity for the unencrypted | ||
498 | # use. Real identity is sent only within an encrypted TLS tunnel. | ||
499 | network={ | ||
500 | ssid="example" | ||
501 | key_mgmt=WPA-EAP | ||
502 | eap=TTLS | ||
503 | identity="user@example.com" | ||
504 | anonymous_identity="anonymous@example.com" | ||
505 | password="foobar" | ||
506 | ca_cert="/etc/cert/ca.pem" | ||
507 | phase2="auth=MSCHAPV2" | ||
508 | } | ||
509 | |||
510 | # WPA-EAP, EAP-TTLS with different CA certificate used for outer and inner | ||
511 | # authentication. | ||
512 | network={ | ||
513 | ssid="example" | ||
514 | key_mgmt=WPA-EAP | ||
515 | eap=TTLS | ||
516 | # Phase1 / outer authentication | ||
517 | anonymous_identity="anonymous@example.com" | ||
518 | ca_cert="/etc/cert/ca.pem" | ||
519 | # Phase 2 / inner authentication | ||
520 | phase2="autheap=TLS" | ||
521 | ca_cert2="/etc/cert/ca2.pem" | ||
522 | client_cert2="/etc/cer/user.pem" | ||
523 | private_key2="/etc/cer/user.prv" | ||
524 | private_key2_passwd="password" | ||
525 | priority=2 | ||
526 | } | ||
527 | |||
528 | # Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted as pairwise and | ||
529 | # group cipher. | ||
530 | network={ | ||
531 | ssid="example" | ||
532 | bssid=00:11:22:33:44:55 | ||
533 | proto=WPA RSN | ||
534 | key_mgmt=WPA-PSK WPA-EAP | ||
535 | pairwise=CCMP | ||
536 | group=CCMP | ||
537 | psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb | ||
538 | } | ||
539 | |||
540 | # Special characters in SSID, so use hex string. Default to WPA-PSK, WPA-EAP | ||
541 | # and all valid ciphers. | ||
542 | network={ | ||
543 | ssid=00010203 | ||
544 | psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f | ||
545 | } | ||
546 | |||
547 | |||
548 | # IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e., no WPA) using | ||
549 | # EAP-TLS for authentication and key generation; require both unicast and | ||
550 | # broadcast WEP keys. | ||
551 | network={ | ||
552 | ssid="1x-test" | ||
553 | key_mgmt=IEEE8021X | ||
554 | eap=TLS | ||
555 | identity="user@example.com" | ||
556 | ca_cert="/etc/cert/ca.pem" | ||
557 | client_cert="/etc/cert/user.pem" | ||
558 | private_key="/etc/cert/user.prv" | ||
559 | private_key_passwd="password" | ||
560 | eapol_flags=3 | ||
561 | } | ||
562 | |||
563 | |||
564 | # LEAP with dynamic WEP keys | ||
565 | network={ | ||
566 | ssid="leap-example" | ||
567 | key_mgmt=IEEE8021X | ||
568 | eap=LEAP | ||
569 | identity="user" | ||
570 | password="foobar" | ||
571 | } | ||
572 | |||
573 | # Plaintext connection (no WPA, no IEEE 802.1X) | ||
574 | network={ | ||
575 | ssid="plaintext-test" | ||
576 | key_mgmt=NONE | ||
577 | } | ||
578 | |||
579 | |||
580 | # Shared WEP key connection (no WPA, no IEEE 802.1X) | ||
581 | network={ | ||
582 | ssid="static-wep-test" | ||
583 | key_mgmt=NONE | ||
584 | wep_key0="abcde" | ||
585 | wep_key1=0102030405 | ||
586 | wep_key2="1234567890123" | ||
587 | wep_tx_keyidx=0 | ||
588 | priority=5 | ||
589 | } | ||
590 | |||
591 | |||
592 | # Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key | ||
593 | # IEEE 802.11 authentication | ||
594 | network={ | ||
595 | ssid="static-wep-test2" | ||
596 | key_mgmt=NONE | ||
597 | wep_key0="abcde" | ||
598 | wep_key1=0102030405 | ||
599 | wep_key2="1234567890123" | ||
600 | wep_tx_keyidx=0 | ||
601 | priority=5 | ||
602 | auth_alg=SHARED | ||
603 | } | ||
604 | |||
605 | |||
606 | # IBSS/ad-hoc network with WPA-None/TKIP. | ||
607 | network={ | ||
608 | ssid="test adhoc" | ||
609 | mode=1 | ||
610 | proto=WPA | ||
611 | key_mgmt=WPA-NONE | ||
612 | pairwise=NONE | ||
613 | group=TKIP | ||
614 | psk="secret passphrase" | ||
615 | } | ||
616 | |||
617 | |||
618 | # Catch all example that allows more or less all configuration modes | ||
619 | network={ | ||
620 | ssid="example" | ||
621 | scan_ssid=1 | ||
622 | key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE | ||
623 | pairwise=CCMP TKIP | ||
624 | group=CCMP TKIP WEP104 WEP40 | ||
625 | psk="very secret passphrase" | ||
626 | eap=TTLS PEAP TLS | ||
627 | identity="user@example.com" | ||
628 | password="foobar" | ||
629 | ca_cert="/etc/cert/ca.pem" | ||
630 | client_cert="/etc/cert/user.pem" | ||
631 | private_key="/etc/cert/user.prv" | ||
632 | private_key_passwd="password" | ||
633 | phase1="peaplabel=0" | ||
634 | } | ||
635 | |||
636 | # Example of EAP-TLS with smartcard (openssl engine) | ||
637 | network={ | ||
638 | ssid="example" | ||
639 | key_mgmt=WPA-EAP | ||
640 | eap=TLS | ||
641 | proto=RSN | ||
642 | pairwise=CCMP TKIP | ||
643 | group=CCMP TKIP | ||
644 | identity="user@example.com" | ||
645 | ca_cert="/etc/cert/ca.pem" | ||
646 | client_cert="/etc/cert/user.pem" | ||
647 | |||
648 | engine=1 | ||
649 | |||
650 | # The engine configured here must be available. Look at | ||
651 | # OpenSSL engine support in the global section. | ||
652 | # The key available through the engine must be the private key | ||
653 | # matching the client certificate configured above. | ||
654 | |||
655 | # use the opensc engine | ||
656 | #engine_id="opensc" | ||
657 | #key_id="45" | ||
658 | |||
659 | # use the pkcs11 engine | ||
660 | engine_id="pkcs11" | ||
661 | key_id="id_45" | ||
662 | |||
663 | # Optional PIN configuration; this can be left out and PIN will be | ||
664 | # asked through the control interface | ||
665 | pin="1234" | ||
666 | } | ||
667 | |||
668 | # Example configuration showing how to use an inlined blob as a CA certificate | ||
669 | # data instead of using external file | ||
670 | network={ | ||
671 | ssid="example" | ||
672 | key_mgmt=WPA-EAP | ||
673 | eap=TTLS | ||
674 | identity="user@example.com" | ||
675 | anonymous_identity="anonymous@example.com" | ||
676 | password="foobar" | ||
677 | ca_cert="blob://exampleblob" | ||
678 | priority=20 | ||
679 | } | ||
680 | |||
681 | blob-base64-exampleblob={ | ||
682 | SGVsbG8gV29ybGQhCg== | ||
683 | } | ||
684 | |||
685 | |||
686 | # Wildcard match for SSID (plaintext APs only). This example select any | ||
687 | # open AP regardless of its SSID. | ||
688 | network={ | ||
689 | key_mgmt=NONE | ||
690 | } | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant.conf-sane b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant.conf-sane new file mode 100644 index 0000000000..c91ffe0c84 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant.conf-sane | |||
@@ -0,0 +1,7 @@ | |||
1 | ctrl_interface=/var/run/wpa_supplicant | ||
2 | ctrl_interface_group=0 | ||
3 | update_config=1 | ||
4 | |||
5 | network={ | ||
6 | key_mgmt=NONE | ||
7 | } | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant_default.conf b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant_default.conf new file mode 100644 index 0000000000..8eebdeb5cb --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.2/wpa_supplicant_default.conf | |||
@@ -0,0 +1,13 @@ | |||
1 | # This is a basic configuration for WPA with pre-shared keys (WPA-PSK) | ||
2 | |||
3 | ctrl_interface=/var/run/wpa_supplicant | ||
4 | ctrl_interface_group=0 | ||
5 | eapol_version=1 | ||
6 | ap_scan=1 | ||
7 | network={ | ||
8 | ssid="YOUR_SSID" | ||
9 | psk="YOUR WPA PASSWORD IN HEX OR ASCII" | ||
10 | key_mgmt=WPA-PSK | ||
11 | pairwise=CCMP | ||
12 | priority=5 | ||
13 | } | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.inc b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.inc new file mode 100644 index 0000000000..78ce914c31 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.inc | |||
@@ -0,0 +1,75 @@ | |||
1 | DESCRIPTION = "A Client for Wi-Fi Protected Access (WPA)." | ||
2 | HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/" | ||
3 | BUGTRACKER = "http://hostap.epitest.fi/bugz/" | ||
4 | SECTION = "network" | ||
5 | LICENSE = "GPLv2 | BSD" | ||
6 | LIC_FILES_CHKSUM = "file://../COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \ | ||
7 | file://../README;md5=54cfc88015d3ce83f7156e63c6bb1738 \ | ||
8 | file://wpa_supplicant.c;beginline=1;endline=17;md5=acdc5a4b0d6345f21f136eace747260e" | ||
9 | DEPENDS = "gnutls dbus" | ||
10 | RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli" | ||
11 | |||
12 | SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \ | ||
13 | file://defconfig-gnutls \ | ||
14 | file://defaults-sane \ | ||
15 | file://wpa-supplicant.sh \ | ||
16 | file://wpa_supplicant.conf \ | ||
17 | file://wpa_supplicant.conf-sane \ | ||
18 | file://99_wpa_supplicant" | ||
19 | |||
20 | S = "${WORKDIR}/wpa_supplicant-${PV}/wpa_supplicant" | ||
21 | |||
22 | PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli " | ||
23 | FILES_wpa-supplicant-passphrase = "/usr/sbin/wpa_passphrase" | ||
24 | FILES_wpa-supplicant-cli = "/usr/sbin/wpa_cli" | ||
25 | |||
26 | do_configure () { | ||
27 | install -m 0755 ${WORKDIR}/defconfig-gnutls .config | ||
28 | } | ||
29 | |||
30 | export EXTRA_CFLAGS = "${CFLAGS}" | ||
31 | do_compile () { | ||
32 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS | ||
33 | oe_runmake | ||
34 | } | ||
35 | |||
36 | do_install () { | ||
37 | install -d ${D}${sbindir} | ||
38 | install -m 755 wpa_supplicant ${D}${sbindir} | ||
39 | install -m 755 wpa_passphrase ${D}${sbindir} | ||
40 | install -m 755 wpa_cli ${D}${sbindir} | ||
41 | |||
42 | install -d ${D}${docdir}/wpa_supplicant | ||
43 | install -m 644 README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant | ||
44 | |||
45 | install -d ${D}${sysconfdir}/default | ||
46 | install -m 600 ${WORKDIR}/defaults-sane ${D}${sysconfdir}/default/wpa | ||
47 | install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf | ||
48 | |||
49 | install -d ${D}${sysconfdir}/network/if-pre-up.d/ | ||
50 | install -d ${D}${sysconfdir}/network/if-post-down.d/ | ||
51 | install -d ${D}${sysconfdir}/network/if-down.d/ | ||
52 | install -m 644 ${WORKDIR}/wpa_supplicant.conf ${D}${sysconfdir} | ||
53 | install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant | ||
54 | cd ${D}${sysconfdir}/network/ && \ | ||
55 | ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant | ||
56 | |||
57 | install -d ${D}/${sysconfdir}/dbus-1/system.d | ||
58 | install -m 644 ${S}/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d | ||
59 | |||
60 | install -d ${D}/etc/default/volatiles | ||
61 | install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles | ||
62 | } | ||
63 | |||
64 | pkg_postinst_wpa-supplicant () { | ||
65 | # can't do this offline | ||
66 | if [ "x$D" != "x" ]; then | ||
67 | exit 1 | ||
68 | fi | ||
69 | |||
70 | DBUSPID=`pidof dbus-daemon` | ||
71 | |||
72 | if [ "x$DBUSPID" != "x" ]; then | ||
73 | /etc/init.d/dbus-1 reload | ||
74 | fi | ||
75 | } | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.2.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.2.bb new file mode 100644 index 0000000000..d1f6c6d6c9 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.2.bb | |||
@@ -0,0 +1,3 @@ | |||
1 | require wpa-supplicant-0.7.inc | ||
2 | |||
3 | PR = "r1" | ||