Tim Kourt
1fed159f4a
client: fix leaks
2017-05-12 14:38:03 -05:00
Denis Kenzior
b36dd5203e
network: Sort out reference counting
...
Agent implementation inside agent.c takes a reference of the trigger
message associated with the request. When the callback is called, the
message is passed as an argument. The callback is responsible for
taking the message reference if necessary. Once the callback returns,
agent releases its reference.
For error paths, our code was using dbus_pending_reply which in turn
uses dbus_message_unref. This caused the agent to try an unref
operation on an already freed object.
2017-05-11 19:50:05 -05:00
Tim Kourt
50d04e99a7
Makefile: install iwd-dbus.conf
2017-05-04 18:03:13 -05:00
Tim Kourt
54cab3bf6c
configure: introduce dbusconfdir
2017-05-04 18:03:08 -05:00
Andrew Zaborowski
fb4ba71952
main: Don't init nl80211 if we're terminating
...
Don't enter nl80211_appeared if we're already terminating and inside the
1 second timeout. This fixes a potential crash in device_free() caused
by a netdev_init() and a netdev_exit() happening without netdev_shutdown
in between. netdev_shutdown has already run if terminating is true.
src/main.c:main() Opening nl80211 interface
src/eap.c:__eap_method_enable()
src/eap-wsc.c:eap_wsc_init()
src/eap-md5.c:eap_md5_init()
src/eap-tls.c:eap_tls_init()
src/eap-ttls.c:eap_ttls_init()
src/eap-mschapv2.c:eap_mschapv2_init()
Terminate
src/main.c:nl80211_appeared() Found nl80211 interface
src/netdev.c:netdev_init() Opening route netlink socket
src/wiphy.c:protocol_features_callback() Found split wiphy dump support
src/wiphy.c:regulatory_info_callback() Regulatory alpha2 is 00
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:parse_supported_bands()
src/wiphy.c:parse_supported_frequencies()
src/wiphy.c:parse_supported_frequencies()
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad1
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad1
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad1
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad1
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad1
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad1
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad0
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad0
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad0
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad0
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad0
src/wiphy.c:wiphy_dump_callback()
src/wiphy.c:wiphy_is_managed() whitelist filtered phy: rad0
Wiphy: 2, Name: rad2
Bands: 2.4 GHz 5 GHz
Ciphers: CCMP TKIP BIP
src/netdev.c:netdev_create_from_genl() Created interface wln2[6]
src/netdev.c:netdev_initial_up_cb() Interface 6 initialized
src/device.c:device_enter_state() Old State: off, new state:
autoconnect
src/scan.c:scan_periodic_start() Starting periodic scan for
ifindex: 6
src/scan.c:scan_notify() Scan notification 33
src/netdev.c:netdev_operstate_dormant_cb() netdev: 6, success: 1
src/scan.c:scan_periodic_done()
src/scan.c:scan_periodic_done() Periodic scan triggered for
ifindex: 6
src/eap.c:__eap_method_disable()
src/eap-wsc.c:eap_wsc_exit()
src/eap-md5.c:eap_md5_exit()
src/eap-tls.c:eap_tls_exit()
src/eap-ttls.c:eap_ttls_exit()
src/eap-mschapv2.c:eap_mschapv2_exit()
src/main.c:nl80211_vanished() Lost nl80211 interface
src/wsc.c:wsc_exit()
src/scan.c:scan_exit()
src/scan.c:scan_context_free() sc: 0x5434ab0
src/netdev.c:netdev_exit() Closing route netlink socket
src/wiphy.c:wiphy_free() Freeing wiphy rad2[2]
device_list isn't empty!
src/device.c:device_free()
(crash here)
2017-05-04 10:50:33 -05:00
Andrew Zaborowski
33f8b1f53d
dbus: Use the shutdown procedure instead of l_main_quit
...
Move the calling of the *_shutdown functions from the signal handler to
a new public function, and use that function inside the DBus disconnect
handler to make sure resources are cleanly released.
2017-05-04 10:50:29 -05:00
Andrew Zaborowski
faba9d509a
eapol: After EAP skip the RSNE PMKID check in step 1/4
...
Skip the matching of the PMKID KDE to the PMKID list in the RSNE if
we've seen a new EAP authentication before the step 1/4 was received.
That would mean that the server had not accepted the PMKIDs we submitted
and we performed a new 8021X authentication, producing a new PMKSA which
won't be on the list in the RSNE.
2017-05-04 10:50:29 -05:00
Tim Kourt
681f9355ad
client: fix typos
2017-05-02 16:43:24 -05:00
Tim Kourt
cb40e36ea1
client: introduce psk agent manager
2017-05-02 14:11:00 -05:00
Tim Kourt
8080789d77
client: add properties interface into ignorable list
2017-05-01 16:57:56 -05:00
Tim Kourt
893a0e67b2
client: add subscription for the property updates
2017-05-01 13:46:49 -05:00
Tim Kourt
03f517a1f7
client: Add WSC-capable indication for device
2017-05-01 13:44:00 -05:00
Tim Kourt
53980c98d8
client: WSC 'start-pin' command
2017-05-01 13:43:31 -05:00
Tim Kourt
e4261d164d
client: WSC start-user-pin command
2017-05-01 13:43:22 -05:00
Tim Kourt
c6045ff100
client: WSC PushButton command
2017-05-01 13:43:14 -05:00
Tim Kourt
ff5e3f3b52
client: WSC cancel command
2017-05-01 13:42:37 -05:00
Tim Kourt
87b4f282db
client: device dependency binder
2017-05-01 13:42:25 -05:00
Tim Kourt
b1d261a790
client: add WSC argument completers
2017-05-01 13:42:21 -05:00
Tim Kourt
ccb3afc1f1
client: define WSC commands
2017-05-01 13:41:51 -05:00
Tim Kourt
ee369bacc9
client introduce wsc interface
2017-05-01 13:40:14 -05:00
Andrew Zaborowski
f0fb1d2c89
autotests: Add a Preauthentication test
...
Unfortunately this doesn't currently ensure that the preauthentication
has succeeded and that later the PMKSA from the preauthentication was
used in the transition, only that the preauthentication process doesn't
break the transition. For now this can be confirmed by looking at the
testrunner -v output to see that the line "EAP completed with eapSuccess"
appears before the following line, and not after:
src/device.c:device_enter_state() Old State: connected, new state: roaming
2017-05-01 11:24:17 -05:00
Andrew Zaborowski
a620a02d35
device: In roam, preauthenticate to target BSS if supported
...
If FT is not possible and we're using 8021x try to preauthenticate to
target BSS before reassociation to it.
2017-05-01 11:24:04 -05:00
Andrew Zaborowski
08e863cb7e
netdev: Add netdev_preauthenticate
...
Add preauthentication logic. The callback receives the new PMK only.
2017-05-01 11:19:06 -05:00
Andrew Zaborowski
b910784e83
eapol: Add preauth_sm class, drop eapol_sm.preauth
...
Remove the preauthentication support code from the normal eapol_sm
methods and add a separate simplified class that only handles EAP
packets.
2017-05-01 11:13:32 -05:00
Tim Kourt
b2ea962a67
client: remove unused function
2017-04-28 15:02:15 -05:00
Tim Kourt
6a06623b0d
client: exclude unicode characters
2017-04-28 13:27:05 -05:00
Tim Kourt
cd3d9a26c1
client: add null check for adapter proxy
2017-04-28 13:27:05 -05:00
Tim Kourt
44e9e604f6
client: change str representation of bool fields
2017-04-28 13:27:05 -05:00
Tim Kourt
d5c7fea13d
client: Implement 'list, show' adapter commands
2017-04-27 15:14:22 -05:00
Tim Kourt
81172d0932
client: Define commands for adapter interface
2017-04-27 15:14:05 -05:00
Tim Kourt
636bdaeb5d
client: Add basic ops. for adapter interface
2017-04-27 15:13:53 -05:00
Tim Kourt
0a68431ef9
client: Add adapter argument completers
2017-04-27 15:13:28 -05:00
Tim Kourt
6d210d5aa4
client: Add properties for adapter interface
2017-04-27 15:12:27 -05:00
Tim Kourt
60c4025cdf
client: Introduce adapter interface
2017-04-27 15:11:59 -05:00
Tim Kourt
bc17967c91
client: network connection check
2017-04-27 15:11:35 -05:00
Tim Kourt
c6b05c722b
client: add network basic ops
2017-04-27 15:11:17 -05:00
Tim Kourt
c2fcba8040
client: add network properties
2017-04-27 15:10:35 -05:00
Tim Kourt
425cb23f98
client: Ops check on destroy
2017-04-26 18:51:45 -05:00
Tim Kourt
8f7066ec36
client: Remove deprecated properties proxy
2017-04-26 18:51:32 -05:00
Tim Kourt
5b94af5aab
client: display device properties
2017-04-26 18:51:21 -05:00
Tim Kourt
4740dc8445
client: display ordered networks
2017-04-26 18:50:16 -05:00
Tim Kourt
7e441040e5
client: Add 'connect' cmd for device
2017-04-26 18:49:52 -05:00
Tim Kourt
e2a81248df
client: Display handler for the completion candidates
2017-04-26 18:48:53 -05:00
Tim Kourt
e04df7f282
client: cmd argument completion based on properties
2017-04-26 18:48:25 -05:00
Tim Kourt
7882390e81
client: convert property getters to tostr
2017-04-26 18:47:32 -05:00
Andrew Zaborowski
f5036d7e1f
autotests: Always wait for DBus name in IWD.__init__
...
Sometimes iwd will take a while to register its dbus name. The python
class already waits for the name to appear on dbus if iwd is being
launched from python, do this also if iwd was already launched by the
test-runner. My use case was when running iwd under valgrind in which
case it runs slower.
2017-04-26 14:44:47 -05:00
Tim Kourt
0c64cc226a
client: Handle empty entity field
2017-04-26 14:36:25 -05:00
Tim Kourt
bfbffa1111
client: Add 'forget' cmd for known network
2017-04-26 14:36:25 -05:00
Tim Kourt
e0117febd5
client: Introduce cmd execution status
2017-04-26 14:36:25 -05:00
Tim Kourt
7a9f72018a
client: Add 'list' cmd for known networks
2017-04-26 14:36:25 -05:00