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
Denis Kenzior
2ba7867e9f
eapol: Drop unneded check in verify_ptk_4_of_4
...
Step 4 is always sent without encrypted Key Data according to Section
11.6.6.5. In the case of WPA, Encrypted Key Data field is reserved, and
should always be 0. Thus it is safe to drop the !is_wpa condition.
2015-05-05 22:01:53 -05:00
Denis Kenzior
bb17f5df94
eapol: Add sanity checking of the install bit
2015-05-05 21:50:35 -05:00
Andrew Zaborowski
31284bf86b
wiphy: If handshake failed check connect_pending
...
When handling repeated 4-Way Handshakes from the AP there will be no
.Connect() call pending so we need to check that netdev->connect_pending
is non-NULL. It may be a good idea to check this even during initial
handshake.
2015-05-05 21:22:41 -05:00
Andrew Zaborowski
0ea28ba5ad
eapol: Generate new snonce on new 4-Way Handshake
...
Make sure that we handle PTK rekeying.
2015-05-05 21:22:38 -05:00
Andrew Zaborowski
1d0afbc44c
wiphy: Basic WPA support
...
Legacy WPA will be used with APs that advertise WPA support and
no WPA2 (RSN). TKIP is not yet supported though, so only CCMP
will work.
2015-05-05 21:22:34 -05:00
Andrew Zaborowski
a7846aee85
eapol: WPA-specific handshake quirks
...
To support WPA allow the legacy EAPOL-Key frame formats.
2015-05-05 21:22:31 -05:00