3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-12-27 02:32:52 +01:00
Commit Graph

2675 Commits

Author SHA1 Message Date
Andrew Zaborowski
15ade259e6 client: Fix parsing commands with no "entity" part
The code would assume that a command with argc >= 3 would always be
composed of <family name> <entity> <command> and thus
"known-networks forget <ssid>" could not be executed.  Instead of
checking argc >= 3 check whether command->entity is non-NULL.
2018-07-31 11:38:35 -05:00
Andrew Zaborowski
18e672fa2f client: Make sure network_args.type is initialised
Otherwise match_by_device_and_args might segfault.
2018-07-31 11:24:33 -05:00
Andrew Zaborowski
61bdb7e19f client: Free previous property values on update 2018-07-31 11:23:04 -05:00
Andrew Zaborowski
242a13df5a client: Drop known network LastSeenTime property 2018-07-31 11:20:09 -05:00
Andrew Zaborowski
c651bed28f knownnetworks: DBus objects for KnownNetworks
Add ObjectManager objects with properties for each Known Network so that
signals are emitted for creation or removal of a Known Network and a
Property Changed is emitted on LastConnectedTime change.  Remove the
ListKnownNetworks method from the old KnownNetworks interface.

Note this breaks clients that used the known networks interface.
2018-07-31 10:58:03 -05:00
Andrew Zaborowski
319b6416de network: Stop tracking network last seen times
Drop the corresponding network_info field, function and D-Bus property.
The last seen times didn't seem useful but if a client needs them it can
probably implement the same logic with the information already available
through DBus.
2018-07-31 10:55:32 -05:00
Tim Kourt
e3737fd44e client: fix mem leak after arg parsing 2018-07-30 13:18:35 -05:00
Denis Kenzior
6be0f55d85 ap/adhoc: Don't crash on eapol_sm_free
If the sm object (or the handshake object) is NULL, don't call the
corresponding function.

0  0x7fb6cd37da80 in /lib64/libc.so.6
1  0x414764 in eapol_sm_destroy() at eapol.c:673
2  0x42e402 in ap_sta_free() at ap.c:97
3  0x439dbe in l_queue_clear() at /home/parallels/wrk/iwd/ell/queue.c:109
4  0x439e09 in l_queue_destroy() at /home/parallels/wrk/iwd/ell/queue.c:83
5  0x42e4bf in ap_reset() at ap.c:132
6  0x42e519 in ap_free() at ap.c:147
7  0x447456 in interface_instance_free() at /home/parallels/wrk/iwd/ell/dbus-service.c:513
8  0x449be0 in _dbus_object_tree_remove_interface() at /home/parallels/wrk/iwd/ell/dbus-service.c:1595
9  0x449ced in _dbus_object_tree_object_destroy() at /home/parallels/wrk/iwd/ell/dbus-service.c:787
10 0x40fb8c in device_free() at device.c:2717
11 0x405cdb in netdev_free() at netdev.c:605
12 0x439dbe in l_queue_clear() at /home/parallels/wrk/iwd/ell/queue.c:109
13 0x439e09 in l_queue_destroy() at /home/parallels/wrk/iwd/ell/queue.c:83
14 0x40aac2 in netdev_shutdown() at netdev.c:4483
15 0x403b75 in iwd_shutdown() at main.c:80
16 0x43d9f3 in signal_callback() at /home/parallels/wrk/iwd/ell/signal.c:83
17 0x43d4ee in l_main_iterate() at /home/parallels/wrk/iwd/ell/main.c:376
18 0x43d5ac in l_main_run() at /home/parallels/wrk/iwd/ell/main.c:419
19 0x40379b in main() at main.c:454
20 0x7fb6cd36788a in /lib64/libc.so.6
2018-07-30 09:07:58 -05:00
Tim Kourt
de013cf92b doc: add Started property to ap and adhoc 2018-07-30 09:01:30 -05:00
Tim Kourt
efe45e4180 client: add client support for AdHoc 2018-07-30 09:00:57 -05:00
Tim Kourt
727a44aab4 client: add AdHoc concept into device 2018-07-30 09:00:57 -05:00
Tim Kourt
ece63270e7 adhoc: expose property 'Started' property on the Dbus 2018-07-30 09:00:57 -05:00
Tim Kourt
0fec184eae client: add client support for AP 2018-07-30 09:00:57 -05:00
Tim Kourt
f9dc72088e client: add access point concept into device 2018-07-30 09:00:57 -05:00
Tim Kourt
6c80e1e277 client: add AdHoc and AccessPoint Dbus interfaces 2018-07-30 09:00:57 -05:00
Tim Kourt
dda350a93d ap: expose property 'Started' property on the Dbus 2018-07-30 09:00:57 -05:00
Denis Kenzior
412a03f236 unit: drop unit tests for removed functions 2018-07-30 08:59:55 -05:00
Denis Kenzior
67e590cfeb client: Utilize l_parse_args 2018-07-30 08:59:55 -05:00
Andrew Zaborowski
215162a49e network: Don't free known networks in network_info_put
Fix a double free resulting from network.c freeing a known network when
it goes out of range due to a missing check.
2018-07-30 08:55:27 -05:00
Denis Kenzior
2cd8480feb README: Add a link to the wiki 2018-07-25 16:47:37 -05:00
Tim Kourt
527c0060bc client: add property completion for set-property cmd
In addition, it defines the value options for the Power, WDS and
Mode properties. The builder variant appenders for 'Set' cmd
are also defined here.
2018-07-25 16:05:18 -05:00
Tim Kourt
5549219217 client: switch adapter to use proxy property completion
In addition, it defines the value options for the Power property
2018-07-25 16:05:16 -05:00
Tim Kourt
687dcc6145 client: add variant appender for the on/off properties 2018-07-25 16:05:12 -05:00
Tim Kourt
6ba707fca8 client: add completion for proxy property names and values 2018-07-25 16:05:09 -05:00
Tim Kourt
1e78ed5a7d client: add property setter for device 2018-07-25 16:04:59 -05:00
Tim Kourt
f7171665d1 client: add property setter for adapter 2018-07-25 15:26:48 -05:00
Tim Kourt
d3742ba651 client: add property setter for proxy
v2: renamed builder_append_value_variant -> append
2018-07-25 15:26:31 -05:00
Tim Kourt
243a574d75 unit: add client token finder test 2018-07-25 11:47:49 -05:00
Tim Kourt
c5cf3b083f client: add cmd line token finder
This allows to inspect the cmd line for the existence of a provided
token. This enables the completers to look back to what was entered
before them and make decisions based on that information. For
example, this can be used in completion of the property values
to identify the property for which the value is being completed.
2018-07-25 11:47:10 -05:00
Tim Kourt
bb1a0adec7 client: introduce proxy property utils
All of the shared functions related to the processing of the
proxy properties will reside in this collection.
2018-07-25 11:21:14 -05:00
Tim Kourt
2df7f76393 client: rename all local setters to follow nomenclature 2018-07-25 11:17:32 -05:00
Tim Kourt
46a188eb39 client: rename property setters
As the local objects are updated from DBus, the new name is more
appropriate for the purpose.
2018-07-25 11:16:54 -05:00
Tim Kourt
dbe36df5ae client: remove wsc capability indicator 2018-07-25 11:16:33 -05:00
Tim Kourt
a865f60c54 client: add 'Mode' property to device 2018-07-25 11:16:23 -05:00
Andrew Zaborowski
97913c6f9a network: Refactor and move Known Networks management
Until now network.c managed the list of network_info structs including
for known networks and networks that are seen in at least one device's
scan results, with the is_known flag to distinguish known networks.
Each time the list was processed though the code was either interested
in one subset of networks or the other.  Split the list into a Known
Networks list and the list of other networks seen in scans.  Move all
code related to Known Networks to knownnetworks.c, this simplifies
network.h.  It also gets rid of network_info_get_known which actually
returned the list of all network_infos (not just for known networks),
which logically should have been private to network.c.  Update device.c
and scan.c to use functions specific to Known Networks instead of
filtering the lists by the is_known flag.

This will also allow knownnetworks.c to export DBus objects and/or
properties for the Known Networks information because it now knows when
Known Networks are added, removed or modified by IWD.
2018-07-25 09:40:14 -05:00
Marcel Holtmann
4b9cdd8d7c Release 0.4 2018-07-25 06:18:45 +02:00
James Prestwood
fc9cfdc0fe auto-t: Removed unused PSKAgent in EAP-AKA test 2018-07-24 11:53:42 -05:00
Andrew Zaborowski
c2abc212ad network: Make networks_connected return void
The return value from network_connected is not checked and even if one
of the storage operations fails the function should probably continue
so only print a message on error.
2018-07-23 11:46:49 -05:00
Andrew Zaborowski
ea2b83e5a7 ap: Remove unused psk field 2018-07-23 11:46:15 -05:00
Andrew Zaborowski
e084b11d39 autotests: Wait for ConnectHiddenNetwork to finish
This lets the testHiddenNetworks tests check if exceptions have been
raised, makes exceptions_test.py pass.
2018-07-23 11:46:03 -05:00
Andrew Zaborowski
2ca2d080d5 build: Add fswatch.[ch] from ell 2018-07-23 11:45:29 -05:00
James Prestwood
c6a35d9005 test: utility to set device mode
There was no way to stop ap/adhoc once started.
2018-07-19 11:22:33 -05:00
James Prestwood
a68e958f29 ap: fixed crash in AP
If the device mode it toggled from 'ap' back to 'station' without actually
starting the access point ap_free attempts to zero out the psk, which
causes a crash because it had never been allocated (Start() never was
called). Since ap->psk is actually never used this was removed. Also added
a memset to zero out the pmk on cleanup.

This is the crash observed:

++++++++ backtrace ++++++++
0  0x7f6ffe978a80 in /lib64/libc.so.6
1  0x7f6ffe9d6766 in /lib64/libc.so.6
2  0x42dd51 in memset() at /usr/include/bits/string3.h:90
3  0x42ddd9 in ap_free() at src/ap.c:144
4  0x445ec6 in interface_instance_free() at ell/dbus-service.c:513
5  0x448650 in _dbus_object_tree_remove_interface() at ell/dbus-service.c:1595
6  0x40d980 in device_set_mode_sta() at src/device.c:2113
7  0x447d4c in properties_set() at ell/dbus-service.c:1861
8  0x448a33 in _dbus_object_tree_dispatch() at ell/dbus-service.c:1691
9  0x442587 in message_read_handler() at ell/dbus.c:285
10 0x43cac9 in io_callback() at ell/io.c:123
11 0x43bf5e in l_main_iterate() at ell/main.c:376
12 0x43c01c in l_main_run() at ell/main.c:419
13 0x40379d in main() at src/main.c:460
14 0x7f6ffe96288a in /lib64/libc.so.6
+++++++++++++++++++++++++++
2018-07-19 11:21:43 -05:00
Denis Kenzior
46a797043a ie: Add AKMs from 802.11-2016 2018-07-19 11:09:08 -05:00
Denis Kenzior
c4a2654703 ie: Split RSN & WPA akm suite builders 2018-07-19 10:56:46 -05:00
Denis Kenzior
438af4aebc ie: Don't fail RSNE parsing with unknown AKMs 2018-07-19 10:36:18 -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
8cf44499d1 device: added DEVICE_EVENT_MODE_CHANGED
Rather than have device.c manage the creation/removal of
AP/AdHoc interfaces this new event was introduced. Now
anyone can listen for device events and if the mode changes
handle accordingly. This fixes potential memory leaks
in WSC when switching modes as well.
2018-07-17 18:52:59 -05:00