NetworkManager/src
Thomas Haller b83f07916a supplicant: large rework of wpa_supplicant handling
Avoid GDBusProxy, instead use GDBusConnection directly. I very much
prefer this because that way we have explicit control over what happens
on D-Bus. With GDBusProxy this is hidden under another layer of complex
code. The hardest part when using a D-Bus interface is to manage the
state via an asynchronous medium. GDBusProxy contains state about the
D-Bus interface and duplicate the state that we track. This makes it hard
to reason about things.

Rework creation of NMSupplicantInterface. Previously, a NMSupplicantInterface
had multiple initialization states. In particular, the first state would not
yet tie the interface to a certain D-Bus object path. Instead, NMSupplicantInterface
would try and retry to create the D-Bus object.
Now, NMSupplicantManager has an asynchronous method to create interface
instances. The manager only creates an interface instance after the D-Bus
path is known. That means, a NMSupplicantInterface instance is now
strongly tied to a name-owner and D-Bus path.

It follows that the state of NMSupplicantInterface can only go from STARTING,
via the supplicant states, to DOWN. Never back. That was already previously
the case that the state from DOWN was final and once the 3 initial
states were passed, the interface's state would never go back to the initial
state. Now this is more strict and more formalized. The 3 initialization states
are combined.

I think the tighter state handling simplifies users of NMSupplicantInterface.
See for example "nm-device-ethernet.c". It's still complicated, because handling
state is fundamentally difficult.

NMSupplicantManager will take care to D-Bus activate wpa_supplicant only
when necessary (poke). Previously, creating the manager instance
would always start suppliant service. Now, it's started on demand.
2020-03-12 10:16:22 +01:00
..
devices supplicant: large rework of wpa_supplicant handling 2020-03-12 10:16:22 +01:00
dhcp dhcp: clean source on dispatch failure (fix leak) 2020-03-03 09:53:17 +01:00
dns dns: cleanup update_dns() for returning error 2020-03-04 15:48:01 +01:00
dnsmasq all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
initrd all: use g_ascii_strcasecmp() instead of the locale dependent strcasecmp() 2020-02-11 15:23:06 +01:00
ndisc ndisc: implement "ipv6.ra-timeout" property 2020-02-17 14:43:13 +01:00
platform platform: avoid compiler warning in _NMP_OBJECT_TYPE_IS_OBJ_WITH_IFINDEX() 2020-02-22 12:09:56 +01:00
ppp all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
settings ifcfg-rh: use binary search for converting string to ethtool ID 2020-03-06 09:52:27 +01:00
supplicant supplicant: large rework of wpa_supplicant handling 2020-03-12 10:16:22 +01:00
systemd systemd: merge branch systemd into master 2019-12-16 10:22:09 +01:00
tests all: unify spelling of "fall-through" comment for switch statements 2020-02-21 18:24:25 +01:00
vpn all: unify spelling of "fall-through" comment for switch statements 2020-02-21 18:24:25 +01:00
main-utils.c all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
main-utils.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
main.c config: print config warnings during NetworkManager --print-config 2019-12-11 11:52:05 +01:00
meson.build core: add common base class NMDhcpConfig for NMDhcp[46]Config and merge them 2020-02-21 15:59:44 +01:00
NetworkManagerUtils.c utils: alow matching ipv6 new method 'disable' 2019-11-18 11:07:18 +01:00
NetworkManagerUtils.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-act-request.c shared: move nm-dbus-auth-subject to shared/nm-libnm-core-intern 2019-12-24 10:13:51 +01:00
nm-act-request.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-active-connection.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-active-connection.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-audit-manager.c shared: nm-auth-subject: add unix-session type 2019-12-24 10:13:51 +01:00
nm-audit-manager.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-auth-manager.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-auth-manager.h shared: move nm-dbus-auth-subject to shared/nm-libnm-core-intern 2019-12-24 10:13:51 +01:00
nm-auth-utils.c auth-chain: add nm_auth_chain_get_context() accessor 2019-12-31 02:13:45 +01:00
nm-auth-utils.h auth-chain: add nm_auth_chain_get_context() accessor 2019-12-31 02:13:45 +01:00
nm-checkpoint-manager.c all: use nm_dbus_path_not_empty() 2019-11-07 11:34:36 +01:00
nm-checkpoint-manager.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-checkpoint.c shared: move nm-dbus-auth-subject to shared/nm-libnm-core-intern 2019-12-24 10:13:51 +01:00
nm-checkpoint.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-config-data.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-config-data.h config: add nm_config_data_get_warnings() to get additional warnings about wrong configuration 2019-12-11 11:52:05 +01:00
nm-config.c core/trivial: rename nm_config_device_state_prune_unseen() to nm_config_device_state_prune_stale() 2020-03-04 16:52:57 +01:00
nm-config.h core/trivial: rename nm_config_device_state_prune_unseen() to nm_config_device_state_prune_stale() 2020-03-04 16:52:57 +01:00
nm-connectivity.c shared: drop _STATIC variant of macros that define functions 2020-02-13 17:17:07 +01:00
nm-connectivity.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-core-utils.c core: avoid duplicate lookup in nm_utils_strdict_to_variant() 2020-02-21 15:59:44 +01:00
nm-core-utils.h wifi: move nm_wifi_utils_parse_ies() to "src/nm-core-utils.h" 2020-02-10 19:11:50 +01:00
nm-dbus-manager.c shared: move nm-dbus-auth-subject to shared/nm-libnm-core-intern 2019-12-24 10:13:51 +01:00
nm-dbus-manager.h shared: move nm-dbus-auth-subject to shared/nm-libnm-core-intern 2019-12-24 10:13:51 +01:00
nm-dbus-object.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-dbus-object.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-dbus-utils.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-dbus-utils.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-dcb.c all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-dcb.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-dhcp-config.c core: add common base class NMDhcpConfig for NMDhcp[46]Config and merge them 2020-02-21 15:59:44 +01:00
nm-dhcp-config.h core: add common base class NMDhcpConfig for NMDhcp[46]Config and merge them 2020-02-21 15:59:44 +01:00
nm-dispatcher.c device: merge nm_device_get_dhcp[46]_config() to nm_device_get_dhcp_config() 2020-02-21 15:59:44 +01:00
nm-dispatcher.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-firewall-manager.c all: add nm_utils_error_is_cancelled() and nm_utils_error_is_cancelled_or_disposing() 2020-02-10 19:11:50 +01:00
nm-firewall-manager.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-hostname-manager.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-hostname-manager.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-iface-helper.c ndisc: implement "ipv6.ra-timeout" property 2020-02-17 14:43:13 +01:00
nm-ip4-config.c all: use _nm_utils_inet4_ntop() instead of nm_utils_inet4_ntop() 2020-01-28 11:17:41 +01:00
nm-ip4-config.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-ip6-config.c all: use _nm_utils_inet4_ntop() instead of nm_utils_inet4_ntop() 2020-01-28 11:17:41 +01:00
nm-ip6-config.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-keep-alive.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-keep-alive.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-logging.c nm-logging: fix stack-use-after-scope error detected by asan 2020-02-12 16:21:47 +01:00
nm-logging.h core: move _LOG*() macros to "shared/nm-glib-aux/nm-logging-fwd.h" 2019-11-22 15:32:52 +01:00
nm-manager.c core: periodically cleanup unused device state files from /run 2020-03-04 16:53:15 +01:00
nm-manager.h core: return ifindex from nm_manager_write_device_state() 2020-03-04 16:53:04 +01:00
nm-netns.c all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-netns.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-pacrunner-manager.c all: drop explicit casts from _GET_PRIVATE() macro calls 2020-02-14 11:04:46 +01:00
nm-pacrunner-manager.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-policy.c device: merge nm_device_get_dhcp[46]_config() to nm_device_get_dhcp_config() 2020-02-21 15:59:44 +01:00
nm-policy.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-proxy-config.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-proxy-config.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-rfkill-manager.c all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-rfkill-manager.h all: manually drop code comments with file description 2019-10-01 07:50:52 +02:00
nm-session-monitor.c session-monitor: don't use GIOChannel to watch plain file descriptor 2020-01-13 15:46:04 +01:00
nm-session-monitor.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-sleep-monitor.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-sleep-monitor.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-test-utils-core.h libnm/keyfile: build keyfile code as separate GPL licensed internal library 2020-01-07 13:17:47 +01:00
nm-types.h core: add common base class NMDhcpConfig for NMDhcp[46]Config and merge them 2020-02-21 15:59:44 +01:00
org.freedesktop.NetworkManager.conf wifi-p2p: rename Wi-Fi P2P 2019-02-01 17:02:57 +01:00