summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2019-02-26 18:32:14 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2019-02-26 18:32:14 +0100
commit60365f9decfb43d78a2ba9bcd54632cfac3d4c8f (patch)
tree216b77dfd71d3abb9f15a066fa0fc16b5953ed38
parent6aa9e52bd88670f10861e402a8c61c282a1e97c2 (diff)
parent560a35dd433cd6bf2268aaf757fda798f35712fe (diff)
downloadNetworkManager-60365f9decfb43d78a2ba9bcd54632cfac3d4c8f.tar.gz
wifi: merge branch 'bg/pmf-fix-issue129'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/129
-rw-r--r--src/supplicant/nm-supplicant-interface.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/src/supplicant/nm-supplicant-interface.c b/src/supplicant/nm-supplicant-interface.c
index 82354df01b..f46689eb02 100644
--- a/src/supplicant/nm-supplicant-interface.c
+++ b/src/supplicant/nm-supplicant-interface.c
@@ -728,9 +728,8 @@ iface_set_pmf_cb (GDBusProxy *proxy, GAsyncResult *result, gpointer user_data)
self = NM_SUPPLICANT_INTERFACE (user_data);
- /* This can fail if the supplicant doesn't support PMF */
if (error)
- _LOGD ("failed to set Pmf=1: %s", error->message);
+ _LOGW ("failed to set Pmf=1: %s", error->message);
iface_check_ready (self);
}
@@ -1638,21 +1637,9 @@ on_iface_proxy_acquired (GDBusProxy *proxy, GAsyncResult *result, gpointer user_
NULL,
NULL);
- /* Initialize global PMF setting to 'optional' */
- priv->ready_count++;
- g_dbus_proxy_call (priv->iface_proxy,
- DBUS_INTERFACE_PROPERTIES ".Set",
- g_variant_new ("(ssv)",
- WPAS_DBUS_IFACE_INTERFACE,
- "Pmf",
- g_variant_new_string ("1")),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- priv->init_cancellable,
- (GAsyncReadyCallback) iface_set_pmf_cb,
- self);
-
- /* Check whether NetworkReply and AP mode are supported */
+ /* Check whether NetworkReply and AP mode are supported.
+ * ready_count was initialized to 1 in interface_add_done().
+ */
g_dbus_proxy_call (priv->iface_proxy,
"NetworkReply",
g_variant_new ("(oss)",
@@ -1665,6 +1652,22 @@ on_iface_proxy_acquired (GDBusProxy *proxy, GAsyncResult *result, gpointer user_
(GAsyncReadyCallback) iface_check_netreply_cb,
self);
+ if (priv->pmf_support == NM_SUPPLICANT_FEATURE_YES) {
+ /* Initialize global PMF setting to 'optional' */
+ priv->ready_count++;
+ g_dbus_proxy_call (priv->iface_proxy,
+ DBUS_INTERFACE_PROPERTIES ".Set",
+ g_variant_new ("(ssv)",
+ WPAS_DBUS_IFACE_INTERFACE,
+ "Pmf",
+ g_variant_new_string ("1")),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ priv->init_cancellable,
+ (GAsyncReadyCallback) iface_set_pmf_cb,
+ self);
+ }
+
if (priv->ap_support == NM_SUPPLICANT_FEATURE_UNKNOWN) {
/* If the global supplicant capabilities property is not present, we can
* fall back to checking whether the ProbeRequest method is supported. If