Denis Kenzior
9a63ab6712
netdev: Make invoking disconnect_cb reentrant safe
2016-09-22 16:20:33 -05:00
Denis Kenzior
886ffc2edb
netdev: keep track of operational state
...
We should not attempt to call connect_failed if we're have become
operational. E.g. successfully associated, ran eapol if necessary and
set operstate.
2016-09-22 16:19:30 -05:00
Denis Kenzior
2d87556b6b
device: destroy state watchlist after removed event
2016-09-22 15:28:56 -05:00
Denis Kenzior
42d26089e9
watchlist: Make re-entrant safe
2016-09-22 15:28:29 -05:00
Denis Kenzior
d2ccc367ef
device: modify autoconnect behavior
...
In case Disconnect() is called for any reason, make sure autoconnect is
off. Set autoconnect to true whenever we successfully connect.
2016-09-22 15:28:14 -05:00
Denis Kenzior
a766823ffc
device: Make scanning into a bitfield
2016-09-22 13:48:05 -05:00
Denis Kenzior
ecacdd88e4
device: Add device_get_state
2016-09-22 13:48:05 -05:00
Denis Kenzior
1585ccc897
netdev: Return -EINPROGRESS if already disconnecting
2016-09-22 11:55:32 -05:00
Denis Kenzior
47fa0435ba
wsc: Start walk timer
...
PBC mode mandates a 120-second walk timer. The PBC transaction must be
completed within that time or be aborted.
2016-09-22 11:32:18 -05:00
Andrew Zaborowski
0ffec2e481
dbus: Switch to using org.freedesktop.DBus.Properties
...
Use the org.freedesktop.DBus.Properties interfaces on objects with
properties and drop the old style GetProperty/SetProperty methods on
individual interfaces. Agent and KnownNetworks have no properties at
this time so don't add org.freedesktop.DBus.Properties interfaces.
2016-09-21 16:46:34 -05:00
Andrew Zaborowski
c6e38dacac
scan: Zero destroy callback in scan_cancel
...
Otherwise it may be called again in get_scan_done.
2016-09-21 16:39:05 -05:00
Denis Kenzior
31ba824acc
wsc: Try using credentials
...
We send the scan results where we obtained a PushButton target over to
device object. If EAP-WSC transaction is successful, then the scan
results are searched to find a network/bss combination found in the
credentials obtained. If found, the network is connected to
automatically.
2016-09-21 16:21:53 -05:00
Denis Kenzior
5fa37b9a1d
wsc: Write credentials to storage
2016-09-21 16:21:28 -05:00
Denis Kenzior
3fd51c2d72
network: Add network_set_psk
2016-09-21 16:20:09 -05:00
Denis Kenzior
c380940b43
netdev: Deauthenticate prior to calling connect_cb
2016-09-21 16:19:47 -05:00
Denis Kenzior
92a51805c4
netdev: Finalize disconnects on device removal
...
When device is removed or otherwise freed, netdev_connect callbacks are
invoked. Treat disconnects similarly
2016-09-21 15:23:06 -05:00
Denis Kenzior
29387e012a
network: Use uint8_t instead of unsigned char
2016-09-21 14:38:43 -05:00
Denis Kenzior
954f4ebca2
network: Close settings if ineligible for autoconnect
2016-09-21 14:35:30 -05:00
Denis Kenzior
7661f1b7c0
network: Expose network_bss_select
2016-09-21 14:00:59 -05:00
Denis Kenzior
38a4a9668f
wsc: Record credentials obtained from EAP-WSC
...
Multiple credentials can be obtained via the event, record them until we
are ready to process them.
2016-09-21 13:51:11 -05:00
Denis Kenzior
42fb2a7c0f
device: Add device_set_scan_results
2016-09-19 20:35:57 -05:00
Denis Kenzior
9c9e6f6f29
network: Add network_bss_find_by_addr
2016-09-19 20:26:41 -05:00
Denis Kenzior
dc3a6a2f77
device: Add device_network_find
2016-09-19 20:19:34 -05:00
Denis Kenzior
29d5eeb3ca
network: Use const char * to represent ssid
...
This also fixes a potential buffer overflow since the ssid was cast to a
string inside network_create. However, ssid is a buffer of 32 bytes,
and would not be null-terminated in the case of a 32-byte SSID.
2016-09-19 20:18:53 -05:00
Denis Kenzior
12fca8b7f7
network: Make network_settings_close private
2016-09-19 17:04:51 -05:00
Denis Kenzior
a239b49707
network: Make network_load_settings static
2016-09-19 17:03:51 -05:00
Denis Kenzior
69ea4db15c
wsc: Base RF freq on BSS we're connecting to
2016-09-16 12:42:58 -05:00
Denis Kenzior
099e2a028d
wsc: Add support for initial WSC association
2016-09-14 21:56:20 -05:00
Denis Kenzior
15ac5c3f38
wscutil: Fix uninitialized warning
...
==5362== Conditional jump or move depends on uninitialised value(s)
==5362== at 0x419B62: wsc_wfa_ext_iter_next (wscutil.c:52)
==5362== by 0x41B869: wsc_parse_probe_response (wscutil.c:1016)
==5362== by 0x41FD77: scan_results (wsc.c:218)
==5362== by 0x415669: get_scan_done (scan.c:892)
==5362== by 0x432932: destroy_request (genl.c:134)
==5362== by 0x433245: process_unicast (genl.c:394)
==5362== by 0x43361A: received_data (genl.c:506)
==5362== by 0x42FDC2: io_callback (io.c:120)
==5362== by 0x42EABE: l_main_run (main.c:381)
==5362== by 0x402F90: main (main.c:234)
2016-09-14 21:56:18 -05:00
Denis Kenzior
9b0113018f
scan: Fix running active scans
...
A wildcard SSID of zero length is needed
2016-09-14 21:56:18 -05:00
Denis Kenzior
a3fdb88a9a
device: add device_get_netdev
2016-09-14 21:56:18 -05:00
Denis Kenzior
959ebd505b
device: Free eapol_sm on netdev_connect failure
2016-09-14 21:56:18 -05:00
Denis Kenzior
09dcd78e30
device: Convert device watches to watchlist
2016-09-14 21:56:18 -05:00
Denis Kenzior
ef18c03322
device: Make device_enter_state static
2016-09-14 21:56:18 -05:00
Denis Kenzior
4419a6325a
device: Add state watch api
2016-09-14 21:56:16 -05:00
Denis Kenzior
6d410b0bec
watchlist: Add watchlist utilities
2016-09-14 20:26:49 -05:00
Denis Kenzior
d9c18deed7
device: Remove extra whitespace
2016-09-14 00:17:27 -05:00
Denis Kenzior
f77d363840
netdev: Add netdev_connect_wsc
2016-09-13 20:50:24 -05:00
Denis Kenzior
8a50054925
device: Make device_disassociated static
2016-09-13 20:49:36 -05:00
Denis Kenzior
db8794460f
eapol: Remove io argument from eapol_start
2016-09-13 17:37:13 -05:00
Denis Kenzior
047a196c70
wscutil: Add wsc_build_association_response
2016-09-13 17:26:18 -05:00
Denis Kenzior
77abdb7d96
wscutil: add wsc_build_association_request
2016-09-13 17:23:43 -05:00
Denis Kenzior
da36b87531
wscutil: Add wsc_parse_association_request
2016-09-13 15:59:30 -05:00
Denis Kenzior
022d24474b
wscutil: Add wsc_parse_association_response
2016-09-13 15:57:16 -05:00
Denis Kenzior
f3d5adfc3c
wsc: report session overlap error
2016-09-13 14:55:13 -05:00
Denis Kenzior
1627b3a2bd
wsc: Squash wsc_sm structure
...
eap-wsc now handles most of the details
2016-09-13 14:53:30 -05:00
Denis Kenzior
c60d34cd8d
wiphy: Add wiphy_get_supported_bands
2016-09-13 14:36:46 -05:00
Denis Kenzior
4518394b0e
eap-wsc: Send credential obtained events
2016-09-13 13:32:47 -05:00
Denis Kenzior
9fde037b8f
eapol: Add eapol_sm_set_event_func
2016-09-13 13:30:54 -05:00
Denis Kenzior
1b72fe9713
eap: Add eap event_func
...
This is used to get arbitrary information out of the EAP method. Needed
for EAP-WSC to signal credential information obtained from the peer.
Other uses include signaling why EAP-WSC failed (e.g. invalid PIN, etc)
and processing of M2D discovery messages. The information in M2Ds might
be useful to external clients.
2016-09-13 11:50:52 -05:00