Commit Graph

2670 Commits

Author SHA1 Message Date
Tim Kourt b0a681d5b3 client: autocompletion for the network names 2018-05-31 19:38:50 -05:00
Tim Kourt 61ac55872e client: introduce a concept of a default device 2018-05-31 19:36:59 -05:00
Tim Kourt fd23c87110 client: define default entity setter for cmd families 2018-05-31 19:30:44 -05:00
Tim Kourt e71687e901 client: add proxy_interface comparison func. 2018-05-31 19:29:51 -05:00
Tim Kourt 53124e8fff client: abstract the value parameter for completion 2018-05-31 19:29:15 -05:00
Tim Kourt d402b6034a auto-t: enable debug output for iwd
This enables debug output for iwd when started from python
2018-05-31 19:28:16 -05:00
Denis Kenzior 6c2ecc6ca5 autotests: Bump iwd startup timeout
iwd now performs a lot of crypto checks at startup, so the timeout was
sometimes being triggered.
2018-05-30 22:36:41 -05:00
Denis Kenzior 0c701d974a autotests: Bump timeout value
Since EAP-PWD now tests EAP Re-Authentication and waits, bump up the
test timeout time.
2018-05-30 22:36:41 -05:00
Denis Kenzior ff7a581d36 eap: Don't destroy method on completion
Let the upper layers decide what to do when a method completes
2018-05-30 22:36:41 -05:00
Tim Kourt ca0f993358 auto-t: change EAP-PWD to trigger eapol reauth 2018-05-30 22:36:34 -05:00
Tim Kourt 7f437c30e3 auto-t: add eapol reauth cmd into hostapd mngr 2018-05-30 18:59:02 -05:00
Denis Kenzior 9bcb2b75ac eapol: On success, reset EAP state
Instead of destroying the EAP object, just reset its state in case the
EAP process completed successfully.  This allows EAP Reauthentication to
work.
2018-05-30 15:09:42 -05:00
Denis Kenzior 2722990e61 eap-pwd: Add .reset_state method 2018-05-30 15:04:20 -05:00
Denis Kenzior 5894051d6c eap: Introduce state reset
This is meant to reset the EAP state back to its original state without
affecting any state variables obtained through load_settings.  This can
be useful for EAP Reauthentication triggered by the AP.
2018-05-30 14:52:22 -05:00
James Prestwood 16a2fb2664 test-runner: added CONFIG_NLMON to kernel config 2018-05-24 19:42:19 -05:00
Denis Kenzior 5616962bb2 unit: Update scan_get_security usage to new API 2018-05-24 19:22:16 -05:00
Denis Kenzior 4c59569f0c scan: Move scan_get_security to common.c 2018-05-24 19:22:16 -05:00
Denis Kenzior 7c18e3cdfe iwd: Move network_init & network_exit to iwd.h 2018-05-24 19:22:12 -05:00
Denis Kenzior e4ddf4cf19 ie: Add missing #include and forward declaration 2018-05-24 15:54:32 -05:00
Tim Kourt c0daec7e8d scan: add wiphy into scan context
The added wiphy will later be used by the scan command
builder to identify the available features and get properties
2018-05-24 15:24:33 -05:00
Tim Kourt 8f17186666 scan: rename callback for the triggered scan 2018-05-24 15:24:33 -05:00
Denis Kenzior 3b4cc1bfe2 wiphy: Rename get_ext_feature API
to has_ext_feature
2018-05-24 15:24:16 -05:00
Tim Kourt 933eabb6ef wiphy: added accessor for the feature flags 2018-05-24 13:10:56 -05:00
Tim Kourt 367522fe8f netdev: added accessor for wiphy
Added an accessor to get wiphy associated with a network device
2018-05-24 13:07:00 -05:00
Andrew Zaborowski 465488878e hwsim: Look up radio address in radio_info
In mac80211_hwsim each radio is assigned two addresses, the second (addr
1) being used over nl80211.  In SendFrame we'd hardcode the mapping of
address 0 to address 1 even though we track all the addresses in radio_info,
so instead use that data to find the radio that has given address 0.  Also
if no address 0 matches what was supplied over DBus try to find a matching
address 1.

There are ways userspace can request different addresses when managing
mac80211_hwsim radios and the hardcoded mapping would become wrong.
2018-05-22 11:35:57 -05:00
Andrew Zaborowski 676a1f48c3 hwsim: Don't crash if source radio not found
We already print an error when this happens, no need to crash.
2018-05-22 11:35:05 -05:00
Denis Kenzior e6adb36621 iwd.service: Use multi-user target 2018-05-22 11:28:02 -05:00
Tim Kourt 9556e0be9f TODO: add task for test-runner 2018-05-21 19:33:46 -05:00
James Prestwood 23b9963b20 test-runner: fix iwd verbosity
Specifying --verbose iwd will now enable the -d flag for IWD
2018-05-21 17:49:01 -05:00
Tim Kourt 342ffc5652 auto-t EAP-PEAP
1) Refactored to start catching the exceptions and properly
   dispose an instance of iwd
2) Switched to list_devices with wait option
2018-05-21 17:46:07 -05:00
Tim Kourt b3b0c3dea5 auto-t: fix configuration for MFP usage 2018-05-21 17:45:59 -05:00
Tim Kourt 6ccb99d98b auto-t: fix python interface handler for devices 2018-05-21 17:44:44 -05:00
Tim Kourt ef610e0f47 auto-t: testAP increased the max execution interval 2018-05-21 17:44:21 -05:00
Tim Kourt 5bc6e986e4 auto-t: GTC
1) Renamed the test to reflect the usage of PEAP
2) Prevented the creation of an extra instance of iwd
3) Refactored to start catching the exceptions and properly
   dispose an instance of iwd
4) Switched to list_devices with wait option
2018-05-21 17:44:16 -05:00
Tim Kourt 68bc64c8cd auto-t: EAP-PWD
1) Removed duplicated entries form .conf
2) Refactored to start catching the exceptions and properly
   dispose an instance of iwd
3) Switched to list_devices with wait option
2018-05-21 17:43:11 -05:00
Tim Kourt d111e03035 auto-t: MFP test
1) Switch to new Agent API
2) Refactored to start catching the exceptions and properly
   dispose an instance of iwd
2018-05-21 17:43:09 -05:00
Tim Kourt ff5665beb8 doc: add CONFIG entries for hostapd 2018-05-21 17:42:48 -05:00
Denis Kenzior d13f10c111 test-runner: Add hwsim to --gdb support 2018-05-21 17:33:45 -05:00
Denis Kenzior 4760b31e3e TODO: Add 4addr STA mode task 2018-05-21 17:19:03 -05:00
Denis Kenzior 2aba2f3ba9 main: Disable debug output by default
Instead use '-d' command line option.  This option uses an optional
argument.  Without an argument, '*' is assumed.  Otherwise you can
specify a glob string to match.  Any debug output that matches the glob
string will be printed.  e.g.:

src/iwd -d '*eap*'
2018-05-19 18:29:28 -05:00
James Prestwood d54a8e56d3 netdev: print error if frame watch fails
The frame watch API had no callback, so if there was a failure
it would silently continue.
2018-05-18 12:54:40 -05:00
Denis Kenzior 6db257b937 eap: Dump unhandled EAP packets 2018-05-18 10:29:58 -05:00
Denis Kenzior 450ed03e21 eap: Fix crash
Some EAP servers might try to send us packets after the EAP connection
has been established.  When EAP succeeds we destroy the EAP object.  If
a new EAP request arrives we create a temporary EAP object to handle the
request (most likely to NAK it).  However, if the packet is not destined
to a particular method (e.g. it is a notification) the current logic can
result in a crash.

src/netdev.c:netdev_set_gtk() 3
==4300== Invalid read of size 8
==4300==    at 0x14204B: __eap_handle_request (eap.c:203)
==4300==    by 0x142339: eap_rx_packet (eap.c:287)
==4300==    by 0x12AEF9: eapol_rx_packet (eapol.c:1622)
==4300==    by 0x12BBBC: __eapol_rx_packet (eapol.c:2018)
==4300==    by 0x116D1E: netdev_pae_read (netdev.c:3121)
==4300==    by 0x16672B: io_callback (io.c:123)
==4300==    by 0x165239: l_main_iterate (main.c:376)
==4300==    by 0x16537D: l_main_run (main.c:423)
==4300==    by 0x10F95C: main (main.c:447)
==4300==  Address 0x30 is not stack'd, malloc'd or (recently) free'd
==4300==
2018-05-18 10:27:42 -05:00
Denis Kenzior 56eeaf7b7a eap: Fix invalid access
When the server sends an identity prompt or a notification, we were
trying to print from our local buffer, not from the actual packet.  The
relevant valgrind trace is:

src/netdev.c:netdev_mlme_notify() MLME notification 64
==4300== Conditional jump or move depends on uninitialised value(s)
==4300==    at 0x4C3006E: strnlen (vg_replace_strmem.c:425)
==4300==    by 0x508C513: vfprintf (vfprintf.c:1643)
==4300==    by 0x508EB75: buffered_vfprintf (vfprintf.c:2329)
==4300==    by 0x508C1A1: vfprintf (vfprintf.c:1301)
==4300==    by 0x167051: log_stderr (log.c:145)
==4300==    by 0x16756E: l_log_with_location (log.c:293)
==4300==    by 0x142173: __eap_handle_request (eap.c:235)
==4300==    by 0x142339: eap_rx_packet (eap.c:287)
==4300==    by 0x12AEF9: eapol_rx_packet (eapol.c:1622)
==4300==    by 0x12BBBC: __eapol_rx_packet (eapol.c:2018)
==4300==    by 0x116D1E: netdev_pae_read (netdev.c:3121)
==4300==    by 0x16672B: io_callback (io.c:123)
==4300==
EAP identity prompt: ""
2018-05-18 09:46:12 -05:00
Denis Kenzior 96bc9180ec AUTHORS: Mention John's contributions 2018-05-17 17:50:56 -05:00
John Zimmermann 3b4c1dd4d3 build: check for existence of execinfo.h
GLIBC is not necessarily the only library that provides execinfo.
With libexecinfo execinfo can be used also in other Libraries.
The patch lets the configure check the existence of the header
and the libexecinfo Library and uses them if avaible.

(also fixes compilation if execinfo is not avaible)
2018-05-17 17:42:28 -05:00
John Zimmermann 37173350e2 monitor: move inclusion of linux headers after libc ones
to fix compilation against MUSL libc.
The struct ethhdr does exists in netinet/if_ether.h and linux/if_ether.h
so including the linux headers after the libc headers lets libc_compat.h
work as intended.
2018-05-17 17:34:08 -05:00
James Prestwood 5c5bfbb423 monitor: added scan/wiphy flags
Specifying --noscan will filter out any scan related packets
Specifying --nowiphy will filter out any "new wiphy" packets
2018-05-15 19:42:46 -05:00
Tim Kourt 2608dcae6f auto-t: Add testEAP-PEAP-SIM 2018-05-15 14:32:51 -05:00
Tim Kourt 541c207470 auto-t: Add testEAP-PEAP-MSCHAPv2 2018-05-15 14:32:51 -05:00