3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-23 07:29:28 +01:00
Commit Graph

2322 Commits

Author SHA1 Message Date
Tim Kourt
51cfb41005 client: Device command implementations 2017-04-18 17:17:01 -05:00
Tim Kourt
702be02527 client: Proxy method call 2017-04-18 16:43:42 -05:00
Tim Kourt
0ada918031 client: Device show cmd 2017-04-18 12:16:35 -05:00
Tim Kourt
b3772259b5 client: Introduce device commands 2017-04-18 12:11:06 -05:00
Andrew Zaborowski
a01e57d1b2 monitor: Receive Preauthentication frames and log them
Use the same packet filter as in eapol.c
2017-04-18 11:43:59 -05:00
Andrew Zaborowski
e05bfc5f98 unit: Update tests to pass ETH_P_PAE to __eapol_rx_packet 2017-04-18 11:43:19 -05:00
Andrew Zaborowski
c0ae9e3577 eapol: Receive frames with the Preauthentication ethertype
Modify the packet filter to also accept frames with ethertype of 0x88c7
and pass the ethertype value to __eapol_rx_packet so it can filter out
the frames where this value doesn't match the sm->preauth flag.
2017-04-18 11:42:45 -05:00
Andrew Zaborowski
0a4bd616c2 eapol: Use the Preauthentication ethertype in eapol_write
Select the right ether type for the eapol frame in eapol_write and pass
it to pae_write.
2017-04-18 11:41:24 -05:00
Andrew Zaborowski
4e9ed2d686 eapol: Add eapol_start_preauthentication
Add a wrapper for eapol_start that sets the sm->preauth flag and sends
the EAPOL-Start frame immediately to skip the timeout since we know
that the supplicant has to initiate the authentication.
2017-04-18 11:09:26 -05:00
Andrew Zaborowski
f340ea510c handshake: Add handshake_util_find_pmkid_kde
Add a function that finds the PMKID kde in an RSNE's Key Data field
similar to handshake_util_find_gtk_kde.
2017-04-17 14:28:09 -05:00
Andrew Zaborowski
b175e7ae06 handshake: Add handshake_state_get_pmkid
Returns the PMKID for the current PMK (configured through
handshake_state_set_pmk for PSK, created through EAP or from
pre-authentication)
2017-04-17 14:26:56 -05:00
Andrew Zaborowski
0f6685bf45 crypto: Add crypto_derive_pmkid
Calculates the PMKID for given PMK
2017-04-17 14:24:02 -05:00
Tim Kourt
2b4cb5d586 client: Device basic ops 2017-04-14 17:49:59 -05:00
Tim Kourt
723040305c client: Device properties 2017-04-14 17:49:08 -05:00
Tim Kourt
9eccb29ef3 client: Proxy accessors 2017-04-14 16:39:04 -05:00
Tim Kourt
57fed9e5d2 client: Additional interface property fields 2017-04-14 16:31:03 -05:00
Mat Martineau
0e108f9727 monitor: Remove GENL_ID_GENERATE
Kernel v4.10 and later no longer export GENL_ID_GENERATE (which was
defined as 0). iwd was using this symbol to check for unmodified local
values rather than to ask for a dynamically generated netlink ID anyway,
so it makes sense to use the value 0 directly. This will work with
kernels before and after the GENL_ID_GENERATE change.
2017-04-14 15:52:11 -05:00
Tim Kourt
9a8ffc473a client: Add device interface 2017-04-13 13:22:00 -05:00
Tim Kourt
ef394579b0 client: Add INTERFACE_TYPE 2017-04-13 13:21:28 -05:00
Tim Kourt
6c2eae6999 client: Add COMMAND_FAMILY 2017-04-13 13:21:19 -05:00
Tim Kourt
dcf2a0cae5 client: Implement command execution 2017-04-13 13:20:58 -05:00
Tim Kourt
6385116cc8 client: Add command into main 2017-04-12 16:21:29 -05:00
Tim Kourt
966a8effd1 client: Define command refresh interfaces 2017-04-12 15:33:26 -05:00
Tim Kourt
7c3ed0c61d client: Command display functions 2017-04-12 15:33:00 -05:00
Tim Kourt
17569c8d8b client: define basic command ops 2017-04-12 15:32:17 -05:00
Denis Kenzior
af8afc6814 client: Fix whitespace 2017-04-12 13:06:15 -05:00
Tim Kourt
b32fde13a7 client: Add well known interfaces 2017-04-12 11:38:41 -05:00
Tim Kourt
4fc6a3038a client: Allow command registration 2017-04-11 16:48:15 -05:00
Tim Kourt
db679448bc client: Introduce command files
The purpose of these files is to encapsulate all of
the command processing functionality
2017-04-11 16:48:15 -05:00
Tim Kourt
f5cb1d46bd client: display quit 2017-04-10 20:06:05 -05:00
Tim Kourt
50c76baed4 client: Interface dependency binding 2017-04-10 20:01:43 -05:00
Tim Kourt
e3f823061e client: Add interface_type_register/unregister 2017-04-10 18:36:16 -05:00
Tim Kourt
5e3a8bcd9d client: Add proxy property handlers 2017-04-10 12:17:39 -05:00
Julien Massot
dc3b17f496 unit: fix ie test comparison
Most likely here we want to compare the variable
not doing an assignment.

unit/test-ie.c:227:2: error: suggest parentheses around
assignment used as truth value [-Werror=parentheses]
assert(expected_len = final_len);
^~~~~~
2017-04-10 09:46:10 -05:00
Tim Kourt
b6ebce0d90 client: disconnect message 2017-04-07 17:24:37 -05:00
Tim Kourt
a21db05517 client: Proxy interface destruction logic 2017-04-07 17:18:14 -05:00
Tim Kourt
0d7d5a427d client: Proxy interface creation logic 2017-04-07 17:16:24 -05:00
Tim Kourt
a60164f08f client: Add interfaces added/removed hadlers 2017-04-07 17:09:55 -05:00
Tim Kourt
27cc60987f client: handle managed objects 2017-04-06 15:14:14 -05:00
Andrew Zaborowski
10a160a6e1 device: Non-FT roaming support
Use netdev_reassociate if FT is not available.  device_select_akm_suite
is only moved up in the file and the reused code from device_connect is
moved to a separate function.
2017-04-03 09:46:15 -05:00
Andrew Zaborowski
c8b251a475 netdev: Add netdev_reassociate
netdev_reassociate transitions to another BSS without FT.  Similar to
netdev_connect but uses reassociation instead of association and
requires and an existing connection.
2017-04-03 09:41:01 -05:00
Andrew Zaborowski
bb350a3b8e autotests: Avoid periodic polling in the wait methods
Modify AsyncOpAbstract._wait_for_async_op and
IWD.wait_for_object_condition to call context.iteration() in the
blocking mode instead of calling context.pending() every 0.01s.  This
gets rid of busy-waiting and also ensures that the condition is checked
after every single dbus (or other) event.  This way a condition that
potentially occurs for less than 0.01s can be reliably waited for.
2017-03-28 19:57:16 -05:00
Andrew Zaborowski
1df2e18f61 autotests: Add FT roaming test and utility functions
This tests the FT-PSK initial Mobility Domain authentication, neighbor
reports, scanning on a subset of frequencies and FT transition.
2017-03-28 15:38:38 -05:00
Andrew Zaborowski
5ea7cbe5e9 autotests: Add classes to access hwsim dbus interface
Create hwsim.py with some classes to access hwsim's dbus objects as
python objects similar to iwd objects in iwd.py
2017-03-28 15:38:32 -05:00
Andrew Zaborowski
ebc2092c42 autotests: Pass wiphy whitelist in iwd command line
Pass the -p parameter to the iwd process started by iwd.py (only used by
testKnownNetworks) same as when iwd is started by test-runner.c
2017-03-28 15:33:25 -05:00
Andrew Zaborowski
c72cd38e76 autotests: Support multiple hostapd instances in HostapdCLI
Make the HostapdCLI class non-static so that each objects corresponds
to a hostapd instance on one network interface (this is independent of
whether the AP instances use one or separate hostapd processes)
2017-03-28 15:33:03 -05:00
Andrew Zaborowski
76339a8184 autotests: Add utility script to parse interface configuration 2017-03-28 15:31:59 -05:00
Andrew Zaborowski
80ac510be0 test-runner: Export final interface config to tests
Communicate the final wiphy and interface configuration data after the
hostapd and iwd processes are started, to the test scripts as an
environment variable TEST_WIPHY_LIST.  This way the test scripts can
know which interfaces are used by hostapd instances, which hostapd
config they're using, and which are used by iwd.  The typical value will
be
rad0=wln0=hostapd,ctrl_interface=/var/run/hostapd,config=ssidOpen.conf
rad1=wln1=iwd
2017-03-28 15:29:40 -05:00
Andrew Zaborowski
1338c446b0 hwsim: Watch RTNL NewLink events
Handle NewLink events to detect interface mac address changes.  In my
current testing I don't see nl80211 events on address change so it's
best to react to both types of events.
2017-03-28 15:26:02 -05:00
Andrew Zaborowski
52ee3b0843 scan: Add error code argument to scan results callback
Pass an additional parameter to the scan results notify functions to
tell them whether the scan was successful.  If it wasn't don't bother
passing an empty bss_list queue, pass NULL as bss_list.  This way the
callbacks can tell whether the scan indicates there are no BSSes in
range or simply was aborted and the old scan results should be kept.
2017-03-26 20:26:53 -05:00