Denis Kenzior
d526dbc175
netdev: Move associate event handling
...
.. out of wiphy.c
2016-06-16 15:13:39 -05:00
Denis Kenzior
d82754636b
netdev: Move deauthenticate event handling
...
.. out of wiphy.c
2016-06-15 14:02:24 -05:00
Denis Kenzior
f5a7e204e7
device: Fix valgrind warning
...
Device removal should probably be managed by netdev objects going away,
but for now, silence the warning
2016-06-15 11:01:44 -05:00
Denis Kenzior
31a0e42772
wiphy: Move association logic out of wiphy.c
...
The eapol state machine parameters are now built inside device.c when
the network connection is attempted. The reason is that the device
object knows about network settings, wiphy constraints and should
contain the main 'management' logic.
netdev now manages the actual low-level process of building association
messages, detecting authentication events, etc.
2016-06-15 10:54:13 -05:00
Denis Kenzior
b2d8616ca4
device: Move device_get_address out of wiphy.c
2016-06-14 19:57:21 -05:00
Denis Kenzior
c18cf173c3
device: Move device_get_ifindex out of wiphy.c
2016-06-14 19:57:21 -05:00
Denis Kenzior
74c8af9180
device: Move device_get_wiphy out of wiphy.c
2016-06-14 19:57:21 -05:00
Denis Kenzior
e23ea59f95
device: Move device_is_busy out of wiphy.c
2016-06-14 19:57:21 -05:00
Denis Kenzior
6e57e4a00c
device: Move device_get_path out of wiphy.c
2016-06-14 19:57:21 -05:00
Denis Kenzior
e0c27a2ca8
device: Move device_get_connected_network
...
out of wiphy.c
2016-06-14 19:57:21 -05:00
Denis Kenzior
aedbdd01ae
device: Migrate authentication to netdev api
...
This also moves device_connect_network to device.c where it belongs
2016-06-14 19:57:21 -05:00
Denis Kenzior
6bd71066ff
device: Move device_disassociated out of wiphy.c
2016-06-14 11:16:07 -05:00
Denis Kenzior
64604ed59c
device: Expose device_enter_state
2016-06-14 11:13:34 -05:00
Denis Kenzior
9d4baab8bd
device: Move device structure definition
...
Temporarily move device structure definition into device.h and out of
wiphy.c. Eventually the device structure should be opaque to device.c
2016-06-14 11:11:06 -05:00
Andrew Zaborowski
9cef1490c5
network: Basic last seen time tracking
2016-06-10 09:33:54 -05:00
Andrew Zaborowski
a0468fb9be
device: Implement GetOrderedNetworks()
...
Keep an updated sorted list of networks in addition to the "networks"
hashmap. The list can be queried through the GetOrderedNetworks dbus
method.
We also take advantage of that list to get rid of a single
l_hashmap_foreach in new_scan_results.
2016-06-10 09:33:13 -05:00
Andrew Zaborowski
99f99e0bc0
agent: Add reason parameter to Cancel
...
Add a parameter the UI can use to show user an explanation of why a
password prompt is disappearing.
2016-06-10 09:26:56 -05:00
Andrew Zaborowski
dae897854b
network: return boolean from network_rankmod
...
Since the rankmod value only makes sense for autoconnectable networks,
change network_rankmod to return an indication of whether the rankmod is
valid as a boolean instead of as a double, as discussed before.
2016-06-09 14:16:06 -05:00
Andrew Zaborowski
e07b24e5d8
wiphy: Move NULL check to device_disassociated
...
Do nothing in device_disassociated if device->connected_network
indicates we are not associated. This may happen if the device was
connected since before iwd was started, this should possibly be fixed
separately by querying device state when device is detected.
2016-06-09 14:14:20 -05:00
Andrew Zaborowski
3fa9a21a39
network: Add network_disconnected
...
Let network handle anything that needs to be done on a disconnection,
this way keep the settings opening and closing logic in network.c.
2016-06-09 14:13:58 -05:00
Denis Kenzior
c96d43a6da
wiphy: Use util_address_to_string
2016-06-06 18:25:00 -05:00
Denis Kenzior
64c388fe76
wiphy: Fix crash in device address property getter
...
Address is being returned as a string, even though it is actually an
array of 6 uint8_t elements
2016-06-06 18:23:53 -05:00
Denis Kenzior
dcfbc74326
wiphy: Remove addr from device struct
2016-06-06 12:05:24 -05:00
Denis Kenzior
cedb980f92
wiphy: Remove name from device struct
2016-06-06 12:05:20 -05:00
Denis Kenzior
d6c6e4acda
netdev: Move netdev enumeration to netdev.c
2016-06-06 12:03:23 -05:00
Denis Kenzior
8113f4c64e
wiphy: Add wiphy_find
2016-06-03 09:53:46 -05:00
Denis Kenzior
7b929181ca
wiphy: Remove unused wiphy_notify_dellink
2016-06-01 13:07:04 -05:00
Denis Kenzior
0b0fd5639f
wiphy: Parse NEW_WIPHY and DEL_WIPHY events
2016-06-01 13:07:04 -05:00
Denis Kenzior
e48ca5a5a6
wiphy: Rename netdev to device
2016-06-01 13:06:59 -05:00
Denis Kenzior
af9ca22360
wiphy: Remove extraneous return
2016-05-31 11:29:48 -05:00
Andrew Zaborowski
1ba2630216
networks: Simplify parameters
...
for network_seen and network_connected
Only accept a struct network pointer instead of separately the ssid and
security type. This is needed so we can do some more simplification in
the next patch by having access to the network struct.
2016-05-30 21:46:45 -05:00
Rahul Rahul
fc7ca17558
wiphy: added hw address property to device
2016-05-23 14:54:27 -05:00
Andrew Zaborowski
7950e2d5d3
wiphy: Emit PropertyChanged signals
...
for Device and Network
2016-05-23 11:55:06 -05:00
Andrew Zaborowski
ab1319a9d5
wiphy: Drop Device.GetNetworks and related signals
...
Drop the Device interface methods and properties made redundant by
the ObjectManager.
2016-05-23 11:48:41 -05:00
Andrew Zaborowski
15bab067fc
dbus: Remove Manager interface, add AgentManager
...
Move the Agent-related methods to a new interface, AgentManager, and
drop the remaining methods and signals made redundant by the
ObjectManager.
2016-05-23 11:46:59 -05:00
Denis Kenzior
0e106d8534
wiphy: Use network_bss_* api
2016-05-16 16:14:15 -05:00
Denis Kenzior
cefba4d735
wiphy: Use network_connect_failed
2016-05-16 16:03:17 -05:00
Denis Kenzior
dcadf4d2f8
wiphy: Use network_autoconnect
2016-05-16 16:00:21 -05:00
Denis Kenzior
c619a71652
wiphy: Use network accessor methods
2016-05-16 15:44:27 -05:00
Denis Kenzior
9bfa0aa768
merge: device_connect_network
2016-05-16 13:48:10 -05:00
Denis Kenzior
d4feeebdc1
network: Move network related code into network.c
...
away from wiphy.c
2016-05-16 12:37:48 -05:00
Denis Kenzior
5e4c675175
network: Use device_get_wiphy
2016-05-16 12:32:44 -05:00
Denis Kenzior
66610f1248
device: Add device_get_wiphy()
2016-05-16 12:26:00 -05:00
Denis Kenzior
68a79b23fb
device: Add device_is_busy()
2016-05-16 12:24:41 -05:00
Denis Kenzior
a9e9be469c
wiphy: Expose wiphy_select_cipher
2016-05-16 12:21:26 -05:00
Denis Kenzior
bcb2ef3e40
network: Rework connect logic
2016-05-16 12:05:28 -05:00
Denis Kenzior
2fe80a8f86
device: Add device_connect_network
2016-05-16 12:04:45 -05:00
Denis Kenzior
a789703f6f
wiphy: Use network_create, register & remove
2016-05-15 21:41:37 -05:00
Denis Kenzior
54e7cced8e
network: Move PSK sync to network.c
2016-05-15 21:04:02 -05:00
Denis Kenzior
24366efb32
wiphy: Use network_settings_load & _close
2016-05-15 21:01:46 -05:00
Denis Kenzior
49df40fdff
network: Move network_emit_removed to network.c
2016-05-12 09:52:52 -05:00
Denis Kenzior
5dc3a892db
network: Move network_emit_added to network.c
2016-05-12 09:51:02 -05:00
Denis Kenzior
3ca8dfb5ad
wiphy: move & rename iwd_device_get_path
...
Move declaration to device.h and rename to device_get_path
2016-05-12 09:49:07 -05:00
Denis Kenzior
ae1dc10c0c
wiphy: Move __iwd_network_append_properties
...
to network.c
2016-05-11 22:32:25 -05:00
Denis Kenzior
23fe106cc5
device: Add device_get_connected_network()
2016-05-11 22:27:31 -05:00
Denis Kenzior
0c7504b5fb
wiphy: Use network_get_security()
2016-05-11 22:12:25 -05:00
Denis Kenzior
f3ad1492c9
wiphy: Use network_get_path()
2016-05-11 22:12:25 -05:00
Denis Kenzior
2ccbf65519
wiphy: Use network_get_netdev
2016-05-11 22:04:09 -05:00
Denis Kenzior
0847e31542
wiphy: Use network_get_ssid
2016-05-11 22:01:44 -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
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
0e3495488f
wiphy: Move netdev_state enum
2016-05-05 11:40:54 -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
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
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
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
b9402af687
scan: Add scan_ssid_security_to_str
2016-02-09 17:08:03 -06:00
Andrew Zaborowski
02eeb82c53
wiphy: Allow connecting to 8021X networks
2015-11-02 21:51:07 -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
Denis Kenzior
5f55c07da9
wiphy: Keep track of supported freqs & bands
2015-10-06 15:23:32 -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
ca0e3eb940
wiphy: Call netdev watches
2015-09-29 12:14:48 -05:00
Denis Kenzior
8026921801
main: Rework init/exit logic
2015-09-28 20:41:02 -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
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
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
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
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
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
d22a1af576
wiphy: Group RSN/WPA generation and setup
2015-05-21 20:43:54 -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
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