Denis Kenzior
8732a9f38a
main: Add checks for asymmetric key support
...
Tell the user that Kernel 4.20 with asymmetric key support enabled is
required to support TLS based (EAP/PEAP/TTLS) WPA-Enterprise methods.
2018-11-09 11:50:29 -06:00
Patrik Flykt
c68ae2f00b
main: Log optimized implementations only when they exist
...
Log optimized implementations strings only when the hashmap contains
items in order to avoid an unnecessary line of text with no members
printed out.
2018-11-05 11:52:48 -06:00
Marcel Holtmann
72a64fa7fb
build: Adjust to the latest ELL signal API changes
2018-11-01 22:09:19 +01:00
Marcel Holtmann
a011909556
main: Use l_main_run_with_signal instead of open coding it
2018-11-01 19:56:16 +01:00
Marcel Holtmann
38e831afa0
main: Make genl and nl80211 global variables static
2018-11-01 19:55:54 +01:00
Denis Kenzior
d22e57c994
treewide: Remove use of key-private.h
2018-10-19 00:31:41 -05:00
James Prestwood
70d6c9c692
adhoc: implement setting TX GTK
...
Adhoc requires 2 GTK's to be set, a single TX GTK and a per-mac RX GTK.
The per-mac RX GTK already gets set via netdev_set_gtk. The single TX GTK
is created the same as AP, where, upon the first station connecting a GTK
is generated and set in the kernel. Then any subsequent stations use
GET_KEY to retrieve the GTK and set it in the handshake.
2018-10-08 21:38:30 -05:00
Marcel Holtmann
2606bc73ad
build: Add DAEMON_ prefix to CONFIGDIR and STORAGEDIR
2018-09-14 17:58:44 +02:00
Marcel Holtmann
5126459ecc
main: Fix the order of --help and -h option handling
2018-09-14 15:19:06 +02:00
Denis Kenzior
b181604c18
main: Don't init nl80211 until dbus name is owned
2018-09-11 20:06:00 -05:00
Denis Kenzior
641e71a02f
station: Add skeleton
2018-08-31 20:24:15 -05:00
Denis Kenzior
da52bcd109
netdev: Rework netdev_init/exit
2018-08-17 23:47:20 -05:00
Denis Kenzior
b3e937e11a
main: Rework initialization order
...
Group together all the configuration settings / reading code together
for more readability.
Initialize eap, eapol and rfkill before device
2018-08-17 23:35:09 -05:00
Denis Kenzior
c5b19dc747
main: Don't call wsc_exit twice
2018-08-17 16:45:05 -05:00
Denis Kenzior
1f512ff85c
device: Move device_init/device_exit to iwd.h
2018-08-14 14:57:19 -05:00
Denis Kenzior
1c27aa5f1d
knownnetworks: move known_networks_init/exit to iwd.h
2018-08-14 13:36:48 -05:00
James Prestwood
ff197edfc4
main: reordered plugin init/exit
...
This fixes improper cleanup when ofono leaves the bus after a simauth
instance has been cleaned up. The problem was that the plugin
exit was being called after the simauth module, causing there to
be stale simauth instances that were no longer valid. Now plugins
cleanup before simauth.
This fix fixes the print seen when iwd exits:
"Auth provider queue was not empty on exit!"
2018-08-07 17:18:23 -05:00
Denis Kenzior
c37146d403
wsc: Rework wsc_init & wsc_exit
...
- wsc module does not need nl80211 any longer, so remove it.
- Move wsc_init & wsc_exit declarations to iwd.h and remove wsc.h
- re-arrange how wsc_init & wsc_exit is called inside main.c.
2018-07-17 19:19:09 -05:00
Denis Kenzior
17bfbbd397
main: Re-arrange _exit order
...
The plugin_exit was in the wrong place, it should be triggered in case
genl creation fails. Also adhoc_exit was in the wrong sequence compared
to _init()
2018-07-17 19:15:08 -05:00
Denis Kenzior
6b58ab1a08
main: Simplify sim_auth_init
...
There's no real reason why sim_auth_init should fail, so simplify the
procedure and move declarations to iwd.h
2018-07-17 19:12:48 -05:00
James Prestwood
682c844239
main: added adhoc init to main
2018-07-17 16:46:21 -05:00
Denis Kenzior
7c18e3cdfe
iwd: Move network_init & network_exit to iwd.h
2018-05-24 19:22:12 -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
Denis Kenzior
6a28cd5527
main: Check and print missing kernel options
2018-05-03 14:45:26 -05:00
James Prestwood
88a1520dbd
main: set eapol config
2018-04-02 13:54:25 -05:00
Marcel Holtmann
64dcf11042
main: Rephrase warning when optional configuration file is missing
2018-01-29 02:25:28 -08:00
Marcel Holtmann
980f6f3645
main: Rename iwd/iwd.conf into iwd/main.conf
2018-01-29 02:13:41 -08:00
James Prestwood
a595587b65
main: start simauth module
2017-11-30 08:49:49 -06:00
James Prestwood
e030151f7d
main: start up plugin module
...
iwd now supports plugin loading, whitelisting and blacklisting. Both
the whitelist and the blacklist support multiple patterns separated by a
',' character.
2017-11-28 13:32:36 -06:00
Andrew Zaborowski
212bc08104
ap: Add AP mode api
...
Very basic WPA2-PSK only access point mode API with stubs of the start and
stop functions.
2017-09-12 14:29:34 -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
Denis Kenzior
cacd0d83f4
wiphy: Add phy filtering
2017-03-16 16:50:25 -05:00
Denis Kenzior
2e820abea1
backtrace: Try to find absolute executable path
...
This allows us to get backtraces from test_runner which does not start
iwd from a current working directory that is a parent of the iwd
executable.
2017-03-16 15:17:41 -05:00
Denis Kenzior
d03f23200a
eap: Load MTU settings from iwd.conf
2016-11-15 16:44:07 -06:00
Tim Kourt
2d73fb35fe
main: Remove unnecessary initialization
2016-11-03 13:28:19 -05:00
Tim Kourt
17527d4570
main: init iwd config
2016-11-02 16:06:10 -05:00
Marcel Holtmann
88909947e2
build: Remove support for usage of kdbus
2016-10-16 19:41:27 +02:00
Andrew Zaborowski
19fa024bd8
netdev: Reset interface state on init and exit
...
Take any managed interface down when iwd detects it and bring it back
up to start with a clean state. On exit take interfaces down.
2016-07-13 12:36:35 -05:00
Andrew Zaborowski
377df7662c
Add rfkill enable/disable and watch support
...
Add rfkill.c/rfkill.h to be used for watching per-wiphy RFkill state.
It uses both /dev/rfkill and /sys because /dev/rfkill is the recommended
way of interfacing with rfkill but at the same time it doesn't provide
the information on mapping to wiphy IDs.
2016-07-07 13:21:08 -05:00
Denis Kenzior
e76daf224c
netdev: Implement interface filtering
2016-06-23 17:34:47 -05:00
Denis Kenzior
04de3af41f
main: Add command line options for white/black list
...
--interfaces (-i) tells iwd which interfaces to manage. If the option
is ommitted, all interfaces will be managed.
--nointerfaces (-I) tells iwd which interfaces to blacklist. If the
option is ommitted, no interfaces will be blacklisted.
2016-06-23 15:49:05 -05:00
Andrew Zaborowski
c3f863f2da
knownnetworks: Implement KnownNetworks interface
...
knownnetworks.c/.h implements the KnownNetworks interface and loads the
known networks from storage on startup. The list of all the networks
including information on whether a network is known is managed in
network.c to avoid having two separate lists of network_info structures
and keeping them in sync. That turns out to be difficult because the
network.c list is sorted by connected_time and connected_time changes
can be triggered in both network.c or knownnetworks.c. Both can also
trigger a network_info to be removed completely.
2016-06-21 11:41:37 -05:00
Denis Kenzior
454f7d7867
iwd: Update to the new l_main api
2016-06-09 09:56:40 -05:00
Denis Kenzior
280f2d40ad
netdev: Make netdev_init accept nl80211
2016-06-03 09:53:46 -05:00
Andrew Zaborowski
2901cb1169
main: Restore agent_exit call before main loop exit
2016-05-25 09:57:58 -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
414bc3198d
wiphy: Move network object definition
2016-05-11 21:59:32 -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
3cbbe2cc42
main: Add backtracing support
...
Ported from oFono @ commit df5d691c39b0ff41d3d98a01db078f7157eb0250.
2016-04-13 14:08:10 -05:00