Denis Kenzior
0847e31542
wiphy: Use network_get_ssid
2016-05-11 22:01:44 -05:00
Denis Kenzior
9e4200f2f3
network: Add network_get_ssid
2016-05-11 22:00:58 -05:00
Denis Kenzior
414bc3198d
wiphy: Move network object definition
2016-05-11 21:59:32 -05:00
Denis Kenzior
17a8460835
scan: Move scan_ssid_security to iwd.h
...
Security type is used all over the place, so move it out to a more
common place.
2016-05-11 15:54:14 -05:00
Denis Kenzior
aa7f88a78c
agent: Fix bug in UnregisterAgent
2016-05-06 12:39:35 -05:00
Denis Kenzior
c2c4039e79
wiphy: Rename netdev_state to device_state
2016-05-05 12:25:45 -05:00
Denis Kenzior
f3fc0ea1f9
device: Refactor netdev watches
...
Turn netdev watches into device watches. The intent is to refactor out
netdev specific details into its own class and move device specific
logic into device.c away from wiphy.c
2016-05-05 12:14:59 -05:00
Denis Kenzior
9a0d620800
wsc: Refactor includes
2016-05-05 12:07:46 -05:00
Denis Kenzior
0e3495488f
wiphy: Move netdev_state enum
2016-05-05 11:40:54 -05:00
Denis Kenzior
08decb340e
netdev: Move rta_add_u8
...
Move closer to where it is used
2016-05-05 11:32:11 -05:00
Denis Kenzior
97be0e87c3
scan: Fix crash
...
Sometimes the periodic scan is started and stopped before the timeout
was created. If periodic_scan_stop was called before, the timeout
object was not reset to NULL, which can lead to a crash.
2016-04-13 16:03:33 -05:00
Denis Kenzior
3cbbe2cc42
main: Add backtracing support
...
Ported from oFono @ commit df5d691c39b0ff41d3d98a01db078f7157eb0250.
2016-04-13 14:08:10 -05:00
Denis Kenzior
45b7323e0a
scan: Add support for scan abortions
2016-04-12 13:49:50 -05:00
Andrew Zaborowski
692bfa23fe
wiphy: Sanity check before netdev_disassociated
...
The lost beacon event can be received when iwd thinks netdev is
diconnected if it was connected before iwd started, and then
netdev_disassociated will segfault.
2016-04-11 14:39:06 -05:00
Andrew Zaborowski
fb1adcae2a
dbus: Use recently added l_dbus_name_acquire
...
Use the backend-independent l_dbus_name_acquire.
2016-04-04 14:35:52 -05:00
Andrew Zaborowski
a64030069e
dbus: Drop unused linux/kdbus.h src/kdbus.c
...
Drop the functions that duplicated ell functionality and the now
unneeded kdbus.h copy.
2016-04-04 14:27:26 -05:00
Andrew Zaborowski
79839dbfd6
dbus: Use native ell kdbus calls
...
It seems until now dbus.c would always connect to dbus-1 (unless
DBUS_SESSION_BUS_ADDRESS pointed at kdbus) and passing -K only made
iwd create a kdbus bus and not use it. Now use ell to actually use
kdbus instead of dbus-1 with -K. Don't use the src/kdbus.c functions
that duplicate ell functionality. As a side effect the connection
description and the bloom sizes are now the ell defaults.
2016-04-04 14:25:59 -05:00
Rahul Rahul
971d93a9e6
wiphy: Add ConnectedNetwork property to Device
...
This property is optional. If the device is connected, it holds the
object path of the connected network.
2016-03-09 16:46:07 -06:00
Rahul Rahul
07f49bc02d
dbus: Add API for adding object path value to a dict
2016-03-09 13:24:19 -06:00
Rahul Rahul
492f25c4f6
wiphy: Add Connected property to Network interface
...
Added a property that will allow one to figure out whether this Network
is currently connected.
2016-03-04 10:20:41 -06:00
Mat Martineau
96e7be28bd
wiphy: Removed unused function
2016-02-18 18:21:22 -06:00
Denis Kenzior
e2de4423db
dbus: Update to the new ell D-Bus APIs
2016-02-11 16:19:55 -06:00
Denis Kenzior
ad7bbbb920
wiphy: Record network last-connected time
2016-02-11 16:19:44 -06:00
Denis Kenzior
30d1673ba4
eapol: Add support for SHA-256 based AKMs
2016-02-10 19:18:56 -06:00
Denis Kenzior
c35409d73c
eapol: Update to the new API
2016-02-10 16:55:15 -06:00
Denis Kenzior
e084839b4f
crypto: Prepare for SHA256 based PTK derivation
2016-02-10 16:54:55 -06:00
Denis Kenzior
39444ab532
crypto: Add SHA256 based KDF
2016-02-10 16:30:22 -06:00
Denis Kenzior
3320d31ead
sha1: Remove sha1.[ch]
2016-02-10 14:36:14 -06:00
Denis Kenzior
ac4a901518
crypto: move pbkdf2_sha1 to crypto.c
2016-02-10 14:32:27 -06:00
Denis Kenzior
6199960b52
crypto: Move + rework prf_sha1 into crypto.c
2016-02-10 14:16:32 -06:00
Denis Kenzior
064f1e0df9
crypto: Move hmac_sha1 to crypto.c
2016-02-10 14:12:46 -06:00
Denis Kenzior
962e2e8b2c
wiphy: Use SHA256 AKM if available
2016-02-10 13:20:46 -06:00
Denis Kenzior
76c62b0843
scan: Keep track of SHA256 support over PSK/8021X
2016-02-10 12:56:11 -06:00
Denis Kenzior
976bb7ceb1
network: Update network_connected implementation
2016-02-09 17:08:43 -06:00
Denis Kenzior
b9402af687
scan: Add scan_ssid_security_to_str
2016-02-09 17:08:03 -06:00
Denis Kenzior
342ad9c61c
eapol: Add clarifying comment
2015-11-03 16:26:34 -06:00
Denis Kenzior
05151d762d
eap-md5: Convert to dynamic method registration
2015-11-02 21:51:07 -06:00
Denis Kenzior
0816d04873
eap-ttls: Convert to dynamic method registration
2015-11-02 21:51:07 -06:00
Denis Kenzior
d8d6e134f1
eap-tls: Convert to dynamic method registration
2015-11-02 21:51:07 -06:00
Denis Kenzior
cdfc854056
eap: Add dynamic EAP method registration
2015-11-02 21:51:07 -06:00
Andrew Zaborowski
02eeb82c53
wiphy: Allow connecting to 8021X networks
2015-11-02 21:51:07 -06:00
Andrew Zaborowski
14020b2aa6
eapol: Handle EAPoL-EAP packets
2015-11-02 21:45:43 -06:00
Andrew Zaborowski
2bccb7e7dc
eapol: Remove user_data from __eapol_rx_packet args
...
Instead of passing the user_data parameter in every __eapol_rx_packet
call to be used by EAPOL in all tx_packet calls, add
eapol_sm_set_tx_user_data function that sets the value of user_data for
all subsequent tx_packet calls. This way tx_packet can be called from
places that are not necessarily inside an __eapol_rx_packet call.
2015-11-02 21:40:21 -06:00
Andrew Zaborowski
ef9b6f41ce
eapol: Separate EAPOL header from struct eapol_key
...
This is needed so we can better handle sending and receiving EAPoL
packets other than EAPoL-Key.
2015-11-02 21:40:21 -06:00
Andrew Zaborowski
830161399e
eap: Implement the EAP-TTLS method
...
Only EAP as the inner authentication option is supported. According to
wikipedia this is the most popular EAP-TTLS use case, with MD5 as the
inner EAP's method.
2015-11-02 21:40:21 -06:00
Andrew Zaborowski
c5e368a264
eap: Implement the EAP-MD5-Challenge method
2015-11-02 21:40:21 -06:00
Andrew Zaborowski
f55db6a1c4
eap: Implement EAP-TLS
...
Add the EAP-TLS authentication method. Currently, all the credentials
data is read from the provisioning file even though things like the
private key passphrase should possibly be obtained from the dbus agent.
2015-11-02 21:40:21 -06:00
Denis Kenzior
88bdd46ec3
eap: Add eap_unregister_method
2015-11-02 21:40:19 -06:00
Denis Kenzior
095eec48ab
eap: Make eap_register_method public
2015-11-02 09:54:12 -06:00
Andrew Zaborowski
3f17fa1159
eap: Add initial EAP API
...
Adds eap.c/eap.h with the initial EAP API definitions. No actual EAP
methods are added in this patch.
2015-11-02 09:40:03 -06:00
Andrew Zaborowski
27aa254358
scan: Always call the trigger callback
...
Otherwise dbus Scan calls will not return on success.
2015-11-02 09:24:10 -06:00
Denis Kenzior
5f55c07da9
wiphy: Keep track of supported freqs & bands
2015-10-06 15:23:32 -05:00
Denis Kenzior
22ab0e73a2
scan: Add scan_freq_set_get_bands
2015-10-06 15:23:09 -05:00
Denis Kenzior
4c0d366fcf
wsc: Reply and clean wsc_sm on netdev removal
2015-10-06 11:39:01 -05:00
Denis Kenzior
b81737a7eb
wsc: Add initial scanning logic
2015-10-05 22:37:46 -05:00
Denis Kenzior
f62054eb52
scan: Allow cancelation of scan requests
2015-10-05 22:37:12 -05:00
Denis Kenzior
13dde81f5b
main: Make valgrind happy
2015-10-02 12:58:38 -05:00
Denis Kenzior
14e40f27e3
netdev: Add netdev attribute getters
2015-10-02 12:58:26 -05:00
Denis Kenzior
8a68ebd65b
scan: Move bss_address_to_string to scan.[ch]
2015-10-02 12:06:20 -05:00
Denis Kenzior
6a28baa893
scan: Process Active scan requests
2015-09-30 13:38:41 -05:00
Denis Kenzior
e551133960
scan: Add scan_active
2015-09-30 11:36:00 -05:00
Denis Kenzior
46da18f23b
wsc: Register WSC interface
2015-09-29 12:15:37 -05:00
Denis Kenzior
ca0e3eb940
wiphy: Call netdev watches
2015-09-29 12:14:48 -05:00
Denis Kenzior
6068b3e364
scan: Make nl80211 static
2015-09-28 20:41:02 -05:00
Denis Kenzior
8026921801
main: Rework init/exit logic
2015-09-28 20:41:02 -05:00
Denis Kenzior
f8cf9cf154
wsc: Add wsc_init and wsc_exit
2015-09-28 20:41:00 -05:00
Denis Kenzior
e1bdd7ce1e
netdev: Add netdev watch infrastructure
2015-09-28 20:37:08 -05:00
Denis Kenzior
b19a683c36
wiphy: Rename function
2015-09-28 20:37:08 -05:00
Denis Kenzior
907b7d1e07
netdev: Move NETDEV_STATE enum to netdev.h
2015-09-28 20:37:08 -05:00
Denis Kenzior
50cc76e227
dbus: Add dbus_error_not_implemented
2015-09-28 20:37:07 -05:00
Denis Kenzior
d0d509d864
wsc: Add initial PushButton SM
2015-09-28 20:37:07 -05:00
Denis Kenzior
46a0c1db00
scan: Extract WSC IEs
2015-09-28 20:37:04 -05:00
Denis Kenzior
0b298dd313
scan: Add debug in scan_exit
2015-09-22 14:07:27 -05:00
Denis Kenzior
3f7e6e86bb
scan: Reset nl80211 when scan_exit called
2015-09-22 14:07:02 -05:00
Denis Kenzior
f064230afa
scan: Add scan request queue
...
For queuing up Active & Passive scans from other modules inside IWD
2015-09-22 14:06:40 -05:00
Denis Kenzior
b000c702b0
scan: Refactor scanning code
...
In preparation for adding active scans
2015-09-22 14:04:08 -05:00
Denis Kenzior
c37e700921
wsc: Add wsc_uuid_from_addr
2015-09-18 17:16:09 -05:00
Denis Kenzior
e055460709
wsc: Rename wsc.[ch] to wscutil.[ch]
2015-09-10 23:07:34 -05:00
Denis Kenzior
8261dab46b
ie: Add ie_tlv_encapsulate_wsc_payload
2015-09-10 22:30:43 -05:00
Denis Kenzior
c2aa596dd4
ie: Tweak function signature
2015-09-10 22:29:58 -05:00
Denis Kenzior
c23b1e3bc0
wsc: Add wsc_build_probe_request utility
2015-09-09 09:31:52 -05:00
Denis Kenzior
241e459ae7
wsc: Add wsc_parse_probe_request
2015-09-09 08:52:49 -05:00
Denis Kenzior
ab33a22149
wsc: Handle ATTR_REQUESTED_DEVICE_TYPE
2015-09-09 08:52:49 -05:00
Denis Kenzior
a1c198ab11
wsc: extract ATTR_CONFIGURATION_ERROR
2015-09-08 21:09:04 -05:00
Denis Kenzior
b0e306b407
wsc: Extract ATTR_ASSOCIATION_STATE
2015-09-08 21:07:17 -05:00
Denis Kenzior
9a3e78d1fc
wsc: Add extractor for ATTR_REQUEST_TYPE
2015-09-08 20:45:52 -05:00
Denis Kenzior
3eee3d47ee
wsc: Add Beacon frame parser
2015-07-23 19:42:29 -05:00
Denis Kenzior
86252a98cc
wsc: Parse additional attributes for ProbeResponse
...
Probe Response messages can contain additional attributes tucked away
into the WFA-Vendor specific attribute. Parse these attributes while
making sure the order is as expected.
2015-07-23 16:47:34 -05:00
Denis Kenzior
2f5a62d85c
wsc: Add additional comment
2015-07-23 16:47:34 -05:00
Denis Kenzior
01b5445e94
wsc: Add SelectedRegistrar attribute checking
2015-07-23 16:47:34 -05:00
Marcel Holtmann
07301eb74f
wsc: Cast data pointer into char for UTF-8 validation
2015-07-19 18:44:40 +02:00
Denis Kenzior
fa9b0e721b
wsc: Add initial parser for ProbeResponse messages
2015-07-17 14:53:48 -05:00
Denis Kenzior
2cc0be5482
wsc: Add initial set of extractor functions
2015-07-17 14:53:21 -05:00
Denis Kenzior
cd465852b4
wsc: Add initial message parser framework
2015-07-17 14:52:46 -05:00
Denis Kenzior
ad08dfad33
wsc: Add WFA extension iterator + recurse
2015-07-15 14:44:28 -05:00
Denis Kenzior
65c8a29370
wsc: Add WSC attribute iterator
2015-07-15 12:52:23 -05:00
Denis Kenzior
2fdf03cb84
ie: Rearrange header order
2015-07-13 13:26:55 -05:00
Denis Kenzior
0bf7fffbac
ie: fix whitespace
2015-07-09 14:20:59 -05:00
Denis Kenzior
3442736869
ie: add ie_tlv_extract_wsc_payload
2015-07-09 14:20:10 -05:00
Denis Kenzior
0389c60066
wsc: Add initial enum definitions from the spec
2015-07-01 09:46:43 -05:00
Denis Kenzior
94aba17968
wiphy: Add auto-connect logic
2015-06-22 18:33:55 -05:00
Denis Kenzior
f055c22825
wiphy: Don't crash if called outside D-Bus
2015-06-22 18:33:38 -05:00
Denis Kenzior
002ca518c9
wiphy: Keep track of auto-connect candidates
2015-06-22 17:42:30 -05:00
Denis Kenzior
a2be179f57
wiphy: Add netdev state machine
2015-06-22 17:16:18 -05:00
Denis Kenzior
cd1ef5acf7
main: add network_init and network_exit
2015-06-22 15:08:12 -05:00
Denis Kenzior
55f4c3275b
network: Fix typo
2015-06-22 15:08:02 -05:00
Denis Kenzior
971b3dfed0
scan: Make scan_bss_compute_rank static
2015-06-22 14:12:20 -05:00
Denis Kenzior
ce670bdcb1
network: Add network_rankmod
2015-06-18 06:11:14 -05:00
Denis Kenzior
d3f0bd5e27
network: Add initial network usage tracking
2015-06-18 05:18:26 -05:00
Denis Kenzior
035b2c1522
scan: add missing forward-declarations
2015-06-18 03:48:06 -05:00
Denis Kenzior
cbff1372e8
storage: add storage_network_get_mtime
2015-06-18 03:19:28 -05:00
Denis Kenzior
e153d94989
storage: Add storage_network_touch
2015-06-16 19:16:42 -05:00
Denis Kenzior
831d702ab2
wiphy: Add rank to debug output in process_bss
2015-06-16 17:12:28 -05:00
Denis Kenzior
0d977f62f6
wiphy: Use scan_bss_rank_compare
2015-06-16 17:12:28 -05:00
Denis Kenzior
0cba8ea2e9
scan: Add scan_bss_rank_compare
2015-06-16 17:12:26 -05:00
Denis Kenzior
7df688e11b
wiphy: Fix memory leak
...
==2469== 24 bytes in 1 blocks are still reachable in loss record 1 of 1
==2469== at 0x4C2B970: malloc (vg_replace_malloc.c:296)
==2469== by 0x40E6DD: l_malloc (util.c:62)
==2469== by 0x40F1CD: l_queue_new (queue.c:63)
==2469== by 0x40D534: scan_init (scan.c:796)
==2469== by 0x403AC3: nl80211_appeared (wiphy.c:2121)
==2469== by 0x415FF3: get_family_callback (genl.c:987)
==2469== by 0x415A4F: process_request (genl.c:381)
==2469== by 0x415A4F: received_data (genl.c:492)
==2469== by 0x413184: io_callback (io.c:120)
==2469== by 0x4127C2: l_main_run (main.c:346)
==2469== by 0x40253E: main (main.c:171)
2015-06-10 16:41:37 -05:00
Denis Kenzior
03004bd7b6
scan: Rename scan_free to scan_exit
2015-06-10 16:41:37 -05:00
Denis Kenzior
9773405c47
scan: Parse scanned frequencies
2015-06-10 16:41:37 -05:00
Denis Kenzior
b70f5a239d
scan: Add scan_freq_set utility class
2015-06-10 16:41:35 -05:00
Denis Kenzior
5ae63817b9
scan: Add scan_freq_to_channel
2015-06-10 16:38:49 -05:00
Denis Kenzior
f24b550196
scan: Include supported rates in ranking
2015-06-10 16:38:49 -05:00
Denis Kenzior
9eac017ec4
scan: Parse [extended] supported rates ie
2015-06-10 16:38:45 -05:00
Denis Kenzior
f648a3f0eb
scan: Include BSS Load channel utilization in rank
2015-06-10 16:28:14 -05:00
Denis Kenzior
3f2c728242
scan: Fix signal strength ranking calculation
...
We incorrectly ranked lower signal strength APs higher.
2015-06-10 16:28:14 -05:00
Denis Kenzior
99ac4d1b0d
scan: Make factors static const
2015-06-10 16:28:14 -05:00
Denis Kenzior
7cded805ce
ie: Add [extended] supported rates parser
2015-06-10 16:28:12 -05:00
Denis Kenzior
baa97b13e9
ie: Add BSS Load parser
2015-06-10 10:39:33 -05:00
Denis Kenzior
f1d81cd3c5
eapol: Remove unneded TODO comment
2015-06-08 10:46:48 -05:00
Denis Kenzior
1b4a3f19f3
scan: Add initial BSS rank computation
2015-06-05 18:18:55 -05:00
Denis Kenzior
05c83349c6
scan: Add periodic scanning
2015-06-04 22:32:10 -05:00
Denis Kenzior
f2f1bfcdf9
scan: Move rest of scanning code into scan.c
2015-06-01 09:45:47 -05:00
Denis Kenzior
92c677e715
wiphy: Remove scheduled scan support
...
Refactoring the entire scan code, and this part seems to not be
supported by the target kernels. Revisit / redo this functionality once
things become a bit clearer.
2015-05-31 22:10:35 -05:00
Andrew Zaborowski
00cafb2cc5
wiphy: Check early that a BSS supports compatible ciphers.
...
In the D-bus .Connect call return an error immediately if we
find that there's no common cipher supported between iwd, the
network adapter and the AP. This is to avoid asking the agent
for the passkey if we know the connection will fail.
An alternative would be to only show networks that we can connect
to in the scan results on D-bus but I suspect that would cause
more pain to users debugging their wifi setups on average.
For now, if a passphrase is needed we check once before querying
for passphrase and recheck afterwards when we're about to
associate.
2015-05-27 08:52:01 -05:00
Denis Kenzior
99cdb860c0
eapol: Simplify install_tk callback
2015-05-21 21:10:21 -05:00
Denis Kenzior
e93dd44607
eapol: Simplify GTK install callback
...
Instead of passing in the RSN/WPA elements, simply pass in the
configured cipher. This will make the implementation of the install_gtk
callback much simpler.
2015-05-21 21:08:47 -05:00
Denis Kenzior
d4cdd74ae0
ie: Add ie_rsn_cipher_suite_to_cipher
2015-05-21 20:58:42 -05:00
Denis Kenzior
d22a1af576
wiphy: Group RSN/WPA generation and setup
2015-05-21 20:43:54 -05:00
Denis Kenzior
9992d3aeda
eapol: Extract & keep track of desired ciphers
...
When our own WPA IE or RSN IE are set, extract group and pairwise
ciphers. These ciphers are the ones we desire to use for the secure
connection.
2015-05-19 00:05:53 -05:00
Denis Kenzior
12551b52ff
eapol: Sanity check 2nd RSNE
...
If the second (optional) RSN element is included in Step 3/4 of the
4-way handshake, parse it and perform basic sanity checks
2015-05-18 23:49:11 -05:00
Denis Kenzior
8593ebaad4
eapol: Set wpa_key_id in WPA1 Step 2 of 2
2015-05-18 14:45:09 -05:00
Andrew Zaborowski
a227d0b00f
eapol: In GTK step 2 of 2, secure bit is always 1
2015-05-18 12:50:50 -05:00
Andrew Zaborowski
0293b62f2e
wiphy: select TKIP if CCMP not supported
...
If AP does not support CCMP, or if the wiphy does not.
2015-05-18 12:50:50 -05:00
Andrew Zaborowski
a84d232eb1
eapol: Accept 32-byte keys in verify_ptk_3_of_4
...
TKIP key data is 32 bytes long.
2015-05-18 12:37:34 -05:00
Andrew Zaborowski
4b1555c935
scan: Utility to find AP supported ciphers
...
Extracts the supported ciphers masks from the beacon data. If RSN IE
was present, the WPA IE is ignored.
2015-05-18 12:37:34 -05:00
Andrew Zaborowski
27d18cdd96
wiphy: Detect IE type in key install callbacks
2015-05-18 12:34:47 -05:00
Denis Kenzior
e2591b9865
wiphy: Track whether Rekey Offload is supported
2015-05-06 15:24:14 -05:00
Denis Kenzior
619448cacc
eapol: Sanity check wpa_key_id field a bit more
2015-05-05 22:26:11 -05:00
Denis Kenzior
9793054a0a
eapol: Update TODO comment
2015-05-05 22:19:45 -05:00
Denis Kenzior
a38b6f1f9a
eapol: Add missing newline
2015-05-05 22:18:35 -05:00
Denis Kenzior
8f3fd6e47d
eapol: Add eapol_verify_gtk_2_of_2
2015-05-05 22:04:21 -05:00