Commit Graph

1923 Commits

Author SHA1 Message Date
Tim Kourt a5db4630ec client: Introduce network interface 2017-04-18 17:21:48 -05:00
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