summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2019-11-03 08:54:56 +0100
committerLubomir Rintel <lkundrak@v3.sk>2019-11-03 08:54:56 +0100
commitc2ec79217a5be00cd3133b84372574bf3689842c (patch)
treed837f6620348ec6bd93e42804337cca07cbdc482
parente1ead6fa984db411db8c8cfcc1e1cf16e110ce3e (diff)
parent186d22a9634e2bf94658ed6f1cf2b332ecb3a32c (diff)
downloadNetworkManager-c2ec79217a5be00cd3133b84372574bf3689842c.tar.gz
merge: branch 'lr/fix-iwd-1-0'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/325
-rw-r--r--src/devices/wifi/nm-iwd-manager.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/devices/wifi/nm-iwd-manager.c b/src/devices/wifi/nm-iwd-manager.c
index dd1cad4806..470cb1c902 100644
--- a/src/devices/wifi/nm-iwd-manager.c
+++ b/src/devices/wifi/nm-iwd-manager.c
@@ -136,6 +136,11 @@ agent_dbus_method_cb (GDBusConnection *connection,
network = g_dbus_object_manager_get_interface (priv->object_manager,
network_path,
NM_IWD_NETWORK_INTERFACE);
+ if (!network) {
+ _LOGE ("unable to find the network object");
+ return;
+ }
+
device_path = get_property_string_or_null (G_DBUS_PROXY (network), "Device");
if (!device_path) {
@@ -257,9 +262,22 @@ register_agent (NMIwdManager *self)
GDBusInterface *agent_manager;
agent_manager = g_dbus_object_manager_get_interface (priv->object_manager,
- "/",
+ "/net/connman/iwd",
NM_IWD_AGENT_MANAGER_INTERFACE);
+ if (!agent_manager) {
+ /* IWD prior to 1.0 dated 30 October, 2019 has the agent manager on a
+ * different path. */
+ agent_manager = g_dbus_object_manager_get_interface (priv->object_manager,
+ "/",
+ NM_IWD_AGENT_MANAGER_INTERFACE);
+ }
+
+ if (!agent_manager) {
+ _LOGE ("unable to register the IWD Agent: PSK/8021x Wi-Fi networks may not work");
+ return;
+ }
+
/* Register our agent */
g_dbus_proxy_call (G_DBUS_PROXY (agent_manager),
"RegisterAgent",