summary refs log tree commit diff
path: root/src/supplicant
diff options
context:
space:
mode:
Diffstat (limited to 'src/supplicant')
-rw-r--r--src/supplicant/nm-supplicant-config.c2882
-rw-r--r--src/supplicant/nm-supplicant-config.h87
-rw-r--r--src/supplicant/nm-supplicant-interface.c5493
-rw-r--r--src/supplicant/nm-supplicant-interface.h247
-rw-r--r--src/supplicant/nm-supplicant-manager.c2097
-rw-r--r--src/supplicant/nm-supplicant-manager.h71
-rw-r--r--src/supplicant/nm-supplicant-settings-verify.c515
-rw-r--r--src/supplicant/nm-supplicant-settings-verify.h21
-rw-r--r--src/supplicant/nm-supplicant-types.h236
-rw-r--r--src/supplicant/tests/test-supplicant-config.c1316
10 files changed, 6642 insertions, 6323 deletions
diff --git a/src/supplicant/nm-supplicant-config.c b/src/supplicant/nm-supplicant-config.c
index 058792d0..9a23f185 100644
--- a/src/supplicant/nm-supplicant-config.c
+++ b/src/supplicant/nm-supplicant-config.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2006 - 2012 Red Hat, Inc.
  * Copyright (C) 2007 - 2008 Novell, Inc.
@@ -10,8 +10,8 @@
 
 #include <stdlib.h>
 
+#include "nm-glib-aux/nm-str-buf.h"
 #include "nm-core-internal.h"
-
 #include "nm-supplicant-settings-verify.h"
 #include "nm-setting.h"
 #include "nm-libnm-core-intern/nm-auth-subject.h"
@@ -20,1490 +20,1660 @@
 #include "nm-setting-ip4-config.h"
 
 typedef struct {
-	char *value;
-	guint32 len;
-	NMSupplOptType type;
+    char *         value;
+    guint32        len;
+    NMSupplOptType type;
 } ConfigOption;
 
 /*****************************************************************************/
 
 typedef struct {
-	GHashTable *config;
-	GHashTable *blobs;
-	NMSupplCapMask capabilities;
-	guint32 ap_scan;
-	bool fast_required:1;
-	bool dispose_has_run:1;
+    GHashTable *   config;
+    GHashTable *   blobs;
+    NMSupplCapMask capabilities;
+    guint32        ap_scan;
+    bool           fast_required : 1;
+    bool           dispose_has_run : 1;
+    bool           ap_isolation : 1;
 } NMSupplicantConfigPrivate;
 
 struct _NMSupplicantConfig {
-	GObject parent;
-	NMSupplicantConfigPrivate _priv;
+    GObject                   parent;
+    NMSupplicantConfigPrivate _priv;
 };
 
 struct _NMSupplicantConfigClass {
-	GObjectClass parent;
+    GObjectClass parent;
 };
 
-G_DEFINE_TYPE (NMSupplicantConfig, nm_supplicant_config, G_TYPE_OBJECT)
+G_DEFINE_TYPE(NMSupplicantConfig, nm_supplicant_config, G_TYPE_OBJECT)
 
-#define NM_SUPPLICANT_CONFIG_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMSupplicantConfig, NM_IS_SUPPLICANT_CONFIG)
+#define NM_SUPPLICANT_CONFIG_GET_PRIVATE(self) \
+    _NM_GET_PRIVATE(self, NMSupplicantConfig, NM_IS_SUPPLICANT_CONFIG)
 
 /*****************************************************************************/
 
 static gboolean
-_get_capability (NMSupplicantConfigPrivate *priv,
-                 NMSupplCapType type)
+_get_capability(NMSupplicantConfigPrivate *priv, NMSupplCapType type)
 {
-	return NM_SUPPL_CAP_MASK_GET (priv->capabilities, type) == NM_TERNARY_TRUE;
+    return NM_SUPPL_CAP_MASK_GET(priv->capabilities, type) == NM_TERNARY_TRUE;
 }
 
 NMSupplicantConfig *
-nm_supplicant_config_new (NMSupplCapMask capabilities)
+nm_supplicant_config_new(NMSupplCapMask capabilities)
 {
-	NMSupplicantConfigPrivate *priv;
-	NMSupplicantConfig *self;
+    NMSupplicantConfigPrivate *priv;
+    NMSupplicantConfig *       self;
 
-	self = g_object_new (NM_TYPE_SUPPLICANT_CONFIG, NULL);
-	priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE (self);
+    self = g_object_new(NM_TYPE_SUPPLICANT_CONFIG, NULL);
+    priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE(self);
 
-	priv->capabilities = capabilities;
+    priv->capabilities = capabilities;
 
-	return self;
+    return self;
 }
 
 static void
-config_option_free (ConfigOption *opt)
+config_option_free(ConfigOption *opt)
 {
-	g_free (opt->value);
-	g_slice_free (ConfigOption, opt);
+    g_free(opt->value);
+    g_slice_free(ConfigOption, opt);
 }
 
 static void
-nm_supplicant_config_init (NMSupplicantConfig * self)
+nm_supplicant_config_init(NMSupplicantConfig *self)
 {
-	NMSupplicantConfigPrivate *priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE (self);
+    NMSupplicantConfigPrivate *priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE(self);
 
-	priv->config = g_hash_table_new_full (nm_str_hash, g_str_equal,
-	                                      g_free,
-	                                      (GDestroyNotify) config_option_free);
+    priv->config = g_hash_table_new_full(nm_str_hash,
+                                         g_str_equal,
+                                         g_free,
+                                         (GDestroyNotify) config_option_free);
 
-	priv->ap_scan = 1;
-	priv->dispose_has_run = FALSE;
+    priv->ap_scan         = 1;
+    priv->dispose_has_run = FALSE;
 }
 
 static gboolean
-nm_supplicant_config_add_option_with_type (NMSupplicantConfig *self,
-                                           const char *key,
-                                           const char *value,
-                                           gint32 len,
-                                           NMSupplOptType opt_type,
-                                           const char *hidden,
-                                           GError **error)
+nm_supplicant_config_add_option_with_type(NMSupplicantConfig *self,
+                                          const char *        key,
+                                          const char *        value,
+                                          gint32              len,
+                                          NMSupplOptType      opt_type,
+                                          const char *        hidden,
+                                          GError **           error)
 {
-	NMSupplicantConfigPrivate *priv;
-	ConfigOption *old_opt;
-	ConfigOption *opt;
-	NMSupplOptType type;
-
-	g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), FALSE);
-	g_return_val_if_fail (key != NULL, FALSE);
-	g_return_val_if_fail (value != NULL, FALSE);
-	nm_assert (!error || !*error);
-
-	priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE (self);
-
-	if (len < 0)
-		len = strlen (value);
-
-	if (opt_type != NM_SUPPL_OPT_TYPE_INVALID)
-		type = opt_type;
-	else {
-		type = nm_supplicant_settings_verify_setting (key, value, len);
-		if (type == NM_SUPPL_OPT_TYPE_INVALID) {
-			gs_free char *str_free = NULL;
-			const char *str;
-
-			str = nm_utils_buf_utf8safe_escape (value, len, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL, &str_free);
-
-			str = nm_strquote_a (255, str);
-
-			g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-			             "key '%s' and/or value %s invalid",
-			             key,
-			             hidden ?: str);
-			return FALSE;
-		}
-	}
-
-	old_opt = (ConfigOption *) g_hash_table_lookup (priv->config, key);
-	if (old_opt) {
-		g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-		             "key '%s' already configured", key);
-		return FALSE;
-	}
-
-	opt = g_slice_new0 (ConfigOption);
-	opt->value = g_malloc (len + 1);
-	memcpy (opt->value, value, len);
-	opt->value[len] = '\0';
-
-	opt->len = len;
-	opt->type = type;
-
-	{
-		char buf[255];
-		memset (&buf[0], 0, sizeof (buf));
-		memcpy (&buf[0], opt->value, opt->len > 254 ? 254 : opt->len);
-		nm_log_info (LOGD_SUPPLICANT, "Config: added '%s' value '%s'", key, hidden ?: &buf[0]);
-	}
-
-	g_hash_table_insert (priv->config, g_strdup (key), opt);
-
-	return TRUE;
+    NMSupplicantConfigPrivate *priv;
+    ConfigOption *             old_opt;
+    ConfigOption *             opt;
+    NMSupplOptType             type;
+
+    g_return_val_if_fail(NM_IS_SUPPLICANT_CONFIG(self), FALSE);
+    g_return_val_if_fail(key != NULL, FALSE);
+    g_return_val_if_fail(value != NULL, FALSE);
+    nm_assert(!error || !*error);
+
+    priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE(self);
+
+    if (len < 0)
+        len = strlen(value);
+
+    if (opt_type != NM_SUPPL_OPT_TYPE_INVALID)
+        type = opt_type;
+    else {
+        type = nm_supplicant_settings_verify_setting(key, value, len);
+        if (type == NM_SUPPL_OPT_TYPE_INVALID) {
+            gs_free char *str_free = NULL;
+            const char *  str;
+
+            str = nm_utils_buf_utf8safe_escape(value,
+                                               len,
+                                               NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL,
+                                               &str_free);
+
+            str = nm_strquote_a(255, str);
+
+            g_set_error(error,
+                        NM_SUPPLICANT_ERROR,
+                        NM_SUPPLICANT_ERROR_CONFIG,
+                        "key '%s' and/or value %s invalid",
+                        key,
+                        hidden ?: str);
+            return FALSE;
+        }
+    }
+
+    old_opt = (ConfigOption *) g_hash_table_lookup(priv->config, key);
+    if (old_opt) {
+        g_set_error(error,
+                    NM_SUPPLICANT_ERROR,
+                    NM_SUPPLICANT_ERROR_CONFIG,
+                    "key '%s' already configured",
+                    key);
+        return FALSE;
+    }
+
+    opt        = g_slice_new0(ConfigOption);
+    opt->value = g_malloc(len + 1);
+    memcpy(opt->value, value, len);
+    opt->value[len] = '\0';
+
+    opt->len  = len;
+    opt->type = type;
+
+    {
+        char buf[255];
+        memset(&buf[0], 0, sizeof(buf));
+        memcpy(&buf[0], opt->value, opt->len > 254 ? 254 : opt->len);
+        nm_log_info(LOGD_SUPPLICANT, "Config: added '%s' value '%s'", key, hidden ?: &buf[0]);
+    }
+
+    g_hash_table_insert(priv->config, g_strdup(key), opt);
+
+    return TRUE;
 }
 
 static gboolean
-nm_supplicant_config_add_option (NMSupplicantConfig *self,
-                                 const char *key,
-                                 const char *value,
-                                 gint32 len,
-                                 const char *hidden,
-                                 GError **error)
+nm_supplicant_config_add_option(NMSupplicantConfig *self,
+                                const char *        key,
+                                const char *        value,
+                                gint32              len,
+                                const char *        hidden,
+                                GError **           error)
 {
-	return nm_supplicant_config_add_option_with_type (self, key, value, len, NM_SUPPL_OPT_TYPE_INVALID, hidden, error);
+    return nm_supplicant_config_add_option_with_type(self,
+                                                     key,
+                                                     value,
+                                                     len,
+                                                     NM_SUPPL_OPT_TYPE_INVALID,
+                                                     hidden,
+                                                     error);
 }
 
 static gboolean
-nm_supplicant_config_add_blob (NMSupplicantConfig *self,
-                               const char *key,
-                               GBytes *value,
-                               const char *blobid,
-                               GError **error)
+nm_supplicant_config_add_blob(NMSupplicantConfig *self,
+                              const char *        key,
+                              GBytes *            value,
+                              const char *        blobid,
+                              GError **           error)
 {
-	NMSupplicantConfigPrivate *priv;
-	ConfigOption *old_opt;
-	ConfigOption *opt;
-	NMSupplOptType type;
-	const guint8 *data;
-	gsize data_len;
-
-	g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), FALSE);
-	g_return_val_if_fail (key != NULL, FALSE);
-	g_return_val_if_fail (value != NULL, FALSE);
-	g_return_val_if_fail (blobid != NULL, FALSE);
-
-	data = g_bytes_get_data (value, &data_len);
-	g_return_val_if_fail (data_len > 0, FALSE);
-
-	priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE (self);
-
-	type = nm_supplicant_settings_verify_setting (key, (const char *) data, data_len);
-	if (type == NM_SUPPL_OPT_TYPE_INVALID) {
-		g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-		             "key '%s' and/or its contained value is invalid", key);
-		return FALSE;
-	}
-
-	old_opt = (ConfigOption *) g_hash_table_lookup (priv->config, key);
-	if (old_opt) {
-		g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-		             "key '%s' already configured", key);
-		return FALSE;
-	}
-
-	opt = g_slice_new0 (ConfigOption);
-	opt->value = g_strdup_printf ("blob://%s", blobid);
-	opt->len = strlen (opt->value);
-	opt->type = type;
-
-	nm_log_info (LOGD_SUPPLICANT, "Config: added '%s' value '%s'", key, opt->value);
-
-	g_hash_table_insert (priv->config, g_strdup (key), opt);
-	if (!priv->blobs) {
-		priv->blobs = g_hash_table_new_full (nm_str_hash, g_str_equal,
-		                                     g_free,
-		                                     (GDestroyNotify) g_bytes_unref);
-	}
-	g_hash_table_insert (priv->blobs,
-	                     g_strdup (blobid),
-	                     g_bytes_ref (value));
-
-	return TRUE;
+    NMSupplicantConfigPrivate *priv;
+    ConfigOption *             old_opt;
+    ConfigOption *             opt;
+    NMSupplOptType             type;
+    const guint8 *             data;
+    gsize                      data_len;
+
+    g_return_val_if_fail(NM_IS_SUPPLICANT_CONFIG(self), FALSE);
+    g_return_val_if_fail(key != NULL, FALSE);
+    g_return_val_if_fail(value != NULL, FALSE);
+    g_return_val_if_fail(blobid != NULL, FALSE);
+
+    data = g_bytes_get_data(value, &data_len);
+    g_return_val_if_fail(data_len > 0, FALSE);
+
+    priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE(self);
+
+    type = nm_supplicant_settings_verify_setting(key, (const char *) data, data_len);
+    if (type == NM_SUPPL_OPT_TYPE_INVALID) {
+        g_set_error(error,
+                    NM_SUPPLICANT_ERROR,
+                    NM_SUPPLICANT_ERROR_CONFIG,
+                    "key '%s' and/or its contained value is invalid",
+                    key);
+        return FALSE;
+    }
+
+    old_opt = (ConfigOption *) g_hash_table_lookup(priv->config, key);
+    if (old_opt) {
+        g_set_error(error,
+                    NM_SUPPLICANT_ERROR,
+                    NM_SUPPLICANT_ERROR_CONFIG,
+                    "key '%s' already configured",
+                    key);
+        return FALSE;
+    }
+
+    opt        = g_slice_new0(ConfigOption);
+    opt->value = g_strdup_printf("blob://%s", blobid);
+    opt->len   = strlen(opt->value);
+    opt->type  = type;
+
+    nm_log_info(LOGD_SUPPLICANT, "Config: added '%s' value '%s'", key, opt->value);
+
+    g_hash_table_insert(priv->config, g_strdup(key), opt);
+    if (!priv->blobs) {
+        priv->blobs =
+            g_hash_table_new_full(nm_str_hash, g_str_equal, g_free, (GDestroyNotify) g_bytes_unref);
+    }
+    g_hash_table_insert(priv->blobs, g_strdup(blobid), g_bytes_ref(value));
+
+    return TRUE;
 }
 
 static gboolean
-nm_supplicant_config_add_blob_for_connection (NMSupplicantConfig *self,
-                                              GBytes *field,
-                                              const char *name,
-                                              const char *con_uid,
-                                              GError **error)
+nm_supplicant_config_add_blob_for_connection(NMSupplicantConfig *self,
+                                             GBytes *            field,
+                                             const char *        name,
+                                             const char *        con_uid,
+                                             GError **           error)
 {
-	if (field && g_bytes_get_size (field)) {
-		gs_free char *uid = NULL;
-		char *p;
-
-		uid = g_strdup_printf ("%s-%s", con_uid, name);
-		for (p = uid; *p; p++) {
-			if (*p == '/')
-				*p = '-';
-		}
-		if (!nm_supplicant_config_add_blob (self, name, field, uid, error))
-			return FALSE;
-	}
-	return TRUE;
+    if (field && g_bytes_get_size(field)) {
+        gs_free char *uid = NULL;
+        char *        p;
+
+        uid = g_strdup_printf("%s-%s", con_uid, name);
+        for (p = uid; *p; p++) {
+            if (*p == '/')
+                *p = '-';
+        }
+        if (!nm_supplicant_config_add_blob(self, name, field, uid, error))
+            return FALSE;
+    }
+    return TRUE;
 }
 
 static void
-nm_supplicant_config_finalize (GObject *object)
+nm_supplicant_config_finalize(GObject *object)
 {
-	NMSupplicantConfigPrivate *priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE (object);
+    NMSupplicantConfigPrivate *priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE(object);
 
-	g_hash_table_destroy (priv->config);
-	nm_clear_pointer (&priv->blobs, g_hash_table_destroy);
+    g_hash_table_destroy(priv->config);
+    nm_clear_pointer(&priv->blobs, g_hash_table_destroy);
 
-	G_OBJECT_CLASS (nm_supplicant_config_parent_class)->finalize (object);
+    G_OBJECT_CLASS(nm_supplicant_config_parent_class)->finalize(object);
 }
 
 static void
-nm_supplicant_config_class_init (NMSupplicantConfigClass *klass)
+nm_supplicant_config_class_init(NMSupplicantConfigClass *klass)
 {
-	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+    GObjectClass *object_class = G_OBJECT_CLASS(klass);
 
-	object_class->finalize = nm_supplicant_config_finalize;
+    object_class->finalize = nm_supplicant_config_finalize;
 }
 
 guint32
-nm_supplicant_config_get_ap_scan (NMSupplicantConfig * self)
+nm_supplicant_config_get_ap_scan(NMSupplicantConfig *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), 1);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_CONFIG(self), 1);
 
-	return NM_SUPPLICANT_CONFIG_GET_PRIVATE (self)->ap_scan;
+    return NM_SUPPLICANT_CONFIG_GET_PRIVATE(self)->ap_scan;
 }
 
 gboolean
-nm_supplicant_config_fast_required (NMSupplicantConfig *self)
+nm_supplicant_config_fast_required(NMSupplicantConfig *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), FALSE);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_CONFIG(self), FALSE);
 
-	return NM_SUPPLICANT_CONFIG_GET_PRIVATE (self)->fast_required;
+    return NM_SUPPLICANT_CONFIG_GET_PRIVATE(self)->fast_required;
 }
 
 GVariant *
-nm_supplicant_config_to_variant (NMSupplicantConfig *self)
+nm_supplicant_config_to_variant(NMSupplicantConfig *self)
 {
-	NMSupplicantConfigPrivate *priv;
-	GVariantBuilder builder;
-	GHashTableIter iter;
-	ConfigOption *option;
-	const char *key;
-
-	g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), NULL);
-
-	priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE (self);
-
-	g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT);
-
-	g_hash_table_iter_init (&iter, priv->config);
-	while (g_hash_table_iter_next (&iter, (gpointer) &key, (gpointer) &option)) {
-		switch (option->type) {
-		case NM_SUPPL_OPT_TYPE_INT:
-			g_variant_builder_add (&builder, "{sv}", key, g_variant_new_int32 (atoi (option->value)));
-			break;
-		case NM_SUPPL_OPT_TYPE_BYTES:
-		case NM_SUPPL_OPT_TYPE_UTF8:
-			g_variant_builder_add (&builder, "{sv}",
-			                       key,
-			                       g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE,
-			                                                  option->value, option->len, 1));
-			break;
-		case NM_SUPPL_OPT_TYPE_KEYWORD:
-		case NM_SUPPL_OPT_TYPE_STRING:
-			g_variant_builder_add (&builder, "{sv}", key, g_variant_new_string (option->value));
-			break;
-		default:
-			break;
-		}
-	}
-
-	return g_variant_builder_end (&builder);
+    NMSupplicantConfigPrivate *priv;
+    GVariantBuilder            builder;
+    GHashTableIter             iter;
+    ConfigOption *             option;
+    const char *               key;
+
+    g_return_val_if_fail(NM_IS_SUPPLICANT_CONFIG(self), NULL);
+
+    priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE(self);
+
+    g_variant_builder_init(&builder, G_VARIANT_TYPE_VARDICT);
+
+    g_hash_table_iter_init(&iter, priv->config);
+    while (g_hash_table_iter_next(&iter, (gpointer) &key, (gpointer) &option)) {
+        switch (option->type) {
+        case NM_SUPPL_OPT_TYPE_INT:
+            g_variant_builder_add(&builder, "{sv}", key, g_variant_new_int32(atoi(option->value)));
+            break;
+        case NM_SUPPL_OPT_TYPE_BYTES:
+        case NM_SUPPL_OPT_TYPE_UTF8:
+            g_variant_builder_add(
+                &builder,
+                "{sv}",
+                key,
+                g_variant_new_fixed_array(G_VARIANT_TYPE_BYTE, option->value, option->len, 1));
+            break;
+        case NM_SUPPL_OPT_TYPE_KEYWORD:
+        case NM_SUPPL_OPT_TYPE_STRING:
+            g_variant_builder_add(&builder, "{sv}", key, g_variant_new_string(option->value));
+            break;
+        default:
+            break;
+        }
+    }
+
+    return g_variant_builder_end(&builder);
 }
 
 GHashTable *
-nm_supplicant_config_get_blobs (NMSupplicantConfig * self)
+nm_supplicant_config_get_blobs(NMSupplicantConfig *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), NULL);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_CONFIG(self), NULL);
 
-	return NM_SUPPLICANT_CONFIG_GET_PRIVATE (self)->blobs;
+    return NM_SUPPLICANT_CONFIG_GET_PRIVATE(self)->blobs;
 }
 
 static const char *
-wifi_freqs_to_string (gboolean bg_band)
+wifi_freqs_to_string(gboolean bg_band)
 {
-	static const char *str_2ghz = NULL;
-	static const char *str_5ghz = NULL;
-	const char *str;
-
-	str = bg_band ? str_2ghz : str_5ghz;
-
-	if (G_UNLIKELY (str == NULL)) {
-		GString *tmp;
-		const guint *freqs;
-		int i;
-
-		freqs = bg_band ? nm_utils_wifi_2ghz_freqs () : nm_utils_wifi_5ghz_freqs ();
-		tmp = g_string_sized_new (bg_band ? 70 : 225);
-		for (i = 0; freqs[i]; i++)
-			g_string_append_printf (tmp, i == 0 ? "%d" : " %d", freqs[i]);
-		str = g_string_free (tmp, FALSE);
-		if (bg_band)
-			str_2ghz = str;
-		else
-			str_5ghz = str;
-	}
-	return str;
+    static const char *str_2ghz = NULL;
+    static const char *str_5ghz = NULL;
+    const char **      f_p;
+    const char *       f;
+
+    f_p = bg_band ? &str_2ghz : &str_5ghz;
+
+again:
+    f = g_atomic_pointer_get(f_p);
+
+    if (G_UNLIKELY(!f)) {
+        nm_auto_str_buf NMStrBuf strbuf = NM_STR_BUF_INIT(400, FALSE);
+        const guint *            freqs;
+        int                      i;
+
+        freqs = bg_band ? nm_utils_wifi_2ghz_freqs() : nm_utils_wifi_5ghz_freqs();
+        for (i = 0; freqs[i]; i++) {
+            if (i > 0)
+                nm_str_buf_append_c(&strbuf, ' ');
+            nm_str_buf_append_printf(&strbuf, "%u", freqs[i]);
+        }
+
+        f = g_strdup(nm_str_buf_get_str(&strbuf));
+
+        if (!g_atomic_pointer_compare_and_exchange(f_p, NULL, f)) {
+            g_free((char *) f);
+            goto again;
+        }
+    }
+
+    return f;
 }
 
 gboolean
-nm_supplicant_config_add_setting_macsec (NMSupplicantConfig * self,
-                                         NMSettingMacsec * setting,
-                                         GError **error)
+nm_supplicant_config_add_setting_macsec(NMSupplicantConfig *self,
+                                        NMSettingMacsec *   setting,
+                                        GError **           error)
 {
-	const char *value;
-	char buf[32];
-	int port;
-
-	g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), FALSE);
-	g_return_val_if_fail (setting != NULL, FALSE);
-	g_return_val_if_fail (!error || !*error, FALSE);
-
-	if (!nm_supplicant_config_add_option (self, "macsec_policy", "1", -1, NULL, error))
-		return FALSE;
-
-	value = nm_setting_macsec_get_encrypt (setting) ? "0" : "1";
-	if (!nm_supplicant_config_add_option (self, "macsec_integ_only", value, -1, NULL, error))
-		return FALSE;
-
-	port = nm_setting_macsec_get_port (setting);
-	if (port > 0 && port < 65534) {
-		snprintf (buf, sizeof (buf), "%d", port);
-		if (!nm_supplicant_config_add_option (self, "macsec_port", buf, -1, NULL, error))
-			return FALSE;
-	}
-
-	if (nm_setting_macsec_get_mode (setting) == NM_SETTING_MACSEC_MODE_PSK) {
-		guint8 buffer_cak[NM_SETTING_MACSEC_MKA_CAK_LENGTH/2];
-		guint8 buffer_ckn[NM_SETTING_MACSEC_MKA_CKN_LENGTH/2];
-
-		if (!nm_supplicant_config_add_option (self, "key_mgmt", "NONE", -1, NULL, error))
-			return FALSE;
-
-		value = nm_setting_macsec_get_mka_cak (setting);
-		if (   !value
-		    || !nm_utils_hexstr2bin_buf (value,
-		                                 FALSE,
-		                                 FALSE,
-		                                 NULL,
-		                                 buffer_cak)) {
-			g_set_error_literal (error,
-			                     NM_SUPPLICANT_ERROR,
-			                     NM_SUPPLICANT_ERROR_CONFIG,
-			                     value ? "invalid MKA CAK" : "missing MKA CAK");
-			return FALSE;
-		}
-		if (!nm_supplicant_config_add_option (self,
-		                                      "mka_cak",
-		                                      (char *) buffer_cak,
-		                                      sizeof (buffer_cak),
-		                                      "<hidden>",
-		                                      error))
-			return FALSE;
-
-		value = nm_setting_macsec_get_mka_ckn (setting);
-		if (   !value
-		    || !nm_utils_hexstr2bin_buf (value,
-		                                 FALSE,
-		                                 FALSE,
-		                                 NULL,
-		                                 buffer_ckn)) {
-			g_set_error_literal (error,
-			                     NM_SUPPLICANT_ERROR,
-			                     NM_SUPPLICANT_ERROR_CONFIG,
-			                     value ? "invalid MKA CKN" : "missing MKA CKN");
-			return FALSE;
-		}
-		if (!nm_supplicant_config_add_option (self,
-		                                      "mka_ckn",
-		                                      (char *) buffer_ckn,
-		                                      sizeof (buffer_ckn),
-		                                      NULL,
-		                                      error))
-			return FALSE;
-	}
-
-	return TRUE;
+    const char *value;
+    char        buf[32];
+    int         port;
+
+    g_return_val_if_fail(NM_IS_SUPPLICANT_CONFIG(self), FALSE);
+    g_return_val_if_fail(setting != NULL, FALSE);
+    g_return_val_if_fail(!error || !*error, FALSE);
+
+    if (!nm_supplicant_config_add_option(self, "macsec_policy", "1", -1, NULL, error))
+        return FALSE;
+
+    value = nm_setting_macsec_get_encrypt(setting) ? "0" : "1";
+    if (!nm_supplicant_config_add_option(self, "macsec_integ_only", value, -1, NULL, error))
+        return FALSE;
+
+    port = nm_setting_macsec_get_port(setting);
+    if (port > 0 && port < 65534) {
+        snprintf(buf, sizeof(buf), "%d", port);
+        if (!nm_supplicant_config_add_option(self, "macsec_port", buf, -1, NULL, error))
+            return FALSE;
+    }
+
+    if (nm_setting_macsec_get_mode(setting) == NM_SETTING_MACSEC_MODE_PSK) {
+        guint8 buffer_cak[NM_SETTING_MACSEC_MKA_CAK_LENGTH / 2];
+        guint8 buffer_ckn[NM_SETTING_MACSEC_MKA_CKN_LENGTH / 2];
+
+        if (!nm_supplicant_config_add_option(self, "key_mgmt", "NONE", -1, NULL, error))
+            return FALSE;
+
+        value = nm_setting_macsec_get_mka_cak(setting);
+        if (!value || !nm_utils_hexstr2bin_buf(value, FALSE, FALSE, NULL, buffer_cak)) {
+            g_set_error_literal(error,
+                                NM_SUPPLICANT_ERROR,
+                                NM_SUPPLICANT_ERROR_CONFIG,
+                                value ? "invalid MKA CAK" : "missing MKA CAK");
+            return FALSE;
+        }
+        if (!nm_supplicant_config_add_option(self,
+                                             "mka_cak",
+                                             (char *) buffer_cak,
+                                             sizeof(buffer_cak),
+                                             "<hidden>",
+                                             error))
+            return FALSE;
+
+        value = nm_setting_macsec_get_mka_ckn(setting);
+        if (!value || !nm_utils_hexstr2bin_buf(value, FALSE, FALSE, NULL, buffer_ckn)) {
+            g_set_error_literal(error,
+                                NM_SUPPLICANT_ERROR,
+                                NM_SUPPLICANT_ERROR_CONFIG,
+                                value ? "invalid MKA CKN" : "missing MKA CKN");
+            return FALSE;
+        }
+        if (!nm_supplicant_config_add_option(self,
+                                             "mka_ckn",
+                                             (char *) buffer_ckn,
+                                             sizeof(buffer_ckn),
+                                             NULL,
+                                             error))
+            return FALSE;
+    }
+
+    return TRUE;
 }
 
 gboolean
-nm_supplicant_config_add_setting_wireless (NMSupplicantConfig * self,
-                                           NMSettingWireless * setting,
-                                           guint32 fixed_freq,
-                                           GError **error)
+nm_supplicant_config_add_setting_wireless(NMSupplicantConfig *self,
+                                          NMSettingWireless * setting,
+                                          guint32             fixed_freq,
+                                          GError **           error)
 {
-	NMSupplicantConfigPrivate *priv;
-	gboolean is_adhoc, is_ap, is_mesh;
-	const char *mode, *band;
-	guint32 channel;
-	GBytes *ssid;
-	const char *bssid;
-
-	g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), FALSE);
-	g_return_val_if_fail (setting != NULL, FALSE);
-	g_return_val_if_fail (!error || !*error, FALSE);
-
-	priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE (self);
-
-	mode = nm_setting_wireless_get_mode (setting);
-	is_adhoc = (mode && !strcmp (mode, "adhoc")) ? TRUE : FALSE;
-	is_ap = (mode && !strcmp (mode, "ap")) ? TRUE : FALSE;
-	is_mesh = (mode && !strcmp (mode, "mesh")) ? TRUE : FALSE;
-	if (is_adhoc || is_ap)
-		priv->ap_scan = 2;
-	else
-		priv->ap_scan = 1;
-
-	ssid = nm_setting_wireless_get_ssid (setting);
-	if (!nm_supplicant_config_add_option (self, "ssid",
-	                                      (char *) g_bytes_get_data (ssid, NULL),
-	                                      g_bytes_get_size (ssid),
-	                                      NULL,
-	                                      error))
-		return FALSE;
-
-	if (is_adhoc) {
-		if (!nm_supplicant_config_add_option (self, "mode", "1", -1, NULL, error))
-			return FALSE;
-	}
-
-	if (is_ap) {
-		if (!nm_supplicant_config_add_option (self, "mode", "2", -1, NULL, error))
-			return FALSE;
-
-		if (   nm_setting_wireless_get_hidden (setting)
-		    && !nm_supplicant_config_add_option (self,
-		                                         "ignore_broadcast_ssid", "1",
-		                                         -1, NULL, error))
-			return FALSE;
-	}
-
-	if (is_mesh) {
-		if (!nm_supplicant_config_add_option (self, "mode", "5", -1, NULL, error))
-			return FALSE;
-	}
-
-	if ((is_adhoc || is_ap || is_mesh) && fixed_freq) {
-		gs_free char *str_freq = NULL;
-
-		str_freq = g_strdup_printf ("%u", fixed_freq);
-		if (!nm_supplicant_config_add_option (self, "frequency", str_freq, -1, NULL, error))
-			return FALSE;
-	}
-
-	/* Except for Ad-Hoc, Hotspot and Mesh, request that the driver probe for the
-	 * specific SSID we want to associate with.
-	 */
-	if (!(is_adhoc || is_ap || is_mesh)) {
-		if (!nm_supplicant_config_add_option (self, "scan_ssid", "1", -1, NULL, error))
-			return FALSE;
-	}
-
-	bssid = nm_setting_wireless_get_bssid (setting);
-	if (bssid) {
-		if (!nm_supplicant_config_add_option (self, "bssid",
-		                                      bssid, strlen (bssid),
-		                                      NULL,
-		                                      error))
-			return FALSE;
-	}
-
-	band = nm_setting_wireless_get_band (setting);
-	channel = nm_setting_wireless_get_channel (setting);
-	if (band) {
-		if (channel) {
-			guint32 freq;
-			gs_free char *str_freq = NULL;
-
-			freq = nm_utils_wifi_channel_to_freq (channel, band);
-			str_freq = g_strdup_printf ("%u", freq);
-			if (!nm_supplicant_config_add_option (self, "freq_list", str_freq, -1, NULL, error))
-				return FALSE;
-		} else {
-			const char *freqs = NULL;
-
-			if (!strcmp (band, "a"))
-				freqs = wifi_freqs_to_string (FALSE);
-			else if (!strcmp (band, "bg"))
-				freqs = wifi_freqs_to_string (TRUE);
-
-			if (freqs && !nm_supplicant_config_add_option (self, "freq_list", freqs, strlen (freqs), NULL, error))
-				return FALSE;
-		}
-	}
-
-	return TRUE;
+    NMSupplicantConfigPrivate *priv;
+    gboolean                   is_adhoc, is_ap, is_mesh;
+    const char *               mode, *band;
+    guint32                    channel;
+    GBytes *                   ssid;
+    const char *               bssid;
+
+    g_return_val_if_fail(NM_IS_SUPPLICANT_CONFIG(self), FALSE);
+    g_return_val_if_fail(setting != NULL, FALSE);
+    g_return_val_if_fail(!error || !*error, FALSE);
+
+    priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE(self);
+
+    mode     = nm_setting_wireless_get_mode(setting);
+    is_adhoc = nm_streq0(mode, "adhoc");
+    is_ap    = nm_streq0(mode, "ap");
+    is_mesh  = nm_streq0(mode, "mesh");
+    if (is_adhoc || is_ap)
+        priv->ap_scan = 2;
+    else
+        priv->ap_scan = 1;
+
+    ssid = nm_setting_wireless_get_ssid(setting);
+    if (!nm_supplicant_config_add_option(self,
+                                         "ssid",
+                                         (char *) g_bytes_get_data(ssid, NULL),
+                                         g_bytes_get_size(ssid),
+                                         NULL,
+                                         error))
+        return FALSE;
+
+    if (is_adhoc) {
+        if (!nm_supplicant_config_add_option(self, "mode", "1", -1, NULL, error))
+            return FALSE;
+    }
+
+    if (is_ap) {
+        if (!nm_supplicant_config_add_option(self, "mode", "2", -1, NULL, error))
+            return FALSE;
+
+        if (nm_setting_wireless_get_hidden(setting)
+            && !nm_supplicant_config_add_option(self,
+                                                "ignore_broadcast_ssid",
+                                                "1",
+                                                -1,
+                                                NULL,
+                                                error))
+            return FALSE;
+    }
+
+    if (is_mesh) {
+        if (!nm_supplicant_config_add_option(self, "mode", "5", -1, NULL, error))
+            return FALSE;
+    }
+
+    if ((is_adhoc || is_ap || is_mesh) && fixed_freq) {
+        gs_free char *str_freq = NULL;
+
+        str_freq = g_strdup_printf("%u", fixed_freq);
+        if (!nm_supplicant_config_add_option(self, "frequency", str_freq, -1, NULL, error))
+            return FALSE;
+    }
+
+    /* Except for Ad-Hoc, Hotspot and Mesh, request that the driver probe for the
+     * specific SSID we want to associate with.
+     */
+    if (!(is_adhoc || is_ap || is_mesh)) {
+        if (!nm_supplicant_config_add_option(self, "scan_ssid", "1", -1, NULL, error))
+            return FALSE;
+    }
+
+    bssid = nm_setting_wireless_get_bssid(setting);
+    if (bssid) {
+        if (!nm_supplicant_config_add_option(self, "bssid", bssid, strlen(bssid), NULL, error))
+            return FALSE;
+    }
+
+    band    = nm_setting_wireless_get_band(setting);
+    channel = nm_setting_wireless_get_channel(setting);
+    if (band) {
+        if (channel) {
+            guint32       freq;
+            gs_free char *str_freq = NULL;
+
+            freq     = nm_utils_wifi_channel_to_freq(channel, band);
+            str_freq = g_strdup_printf("%u", freq);
+            if (!nm_supplicant_config_add_option(self, "freq_list", str_freq, -1, NULL, error))
+                return FALSE;
+        } else {
+            const char *freqs = NULL;
+
+            if (nm_streq(band, "a"))
+                freqs = wifi_freqs_to_string(FALSE);
+            else if (nm_streq(band, "bg"))
+                freqs = wifi_freqs_to_string(TRUE);
+
+            if (freqs
+                && !nm_supplicant_config_add_option(self,
+                                                    "freq_list",
+                                                    freqs,
+                                                    strlen(freqs),
+                                                    NULL,
+                                                    error))
+                return FALSE;
+        }
+    }
+
+    return TRUE;
 }
 
 gboolean
-nm_supplicant_config_add_bgscan (NMSupplicantConfig *self,
-                                 NMConnection *connection,
-                                 GError **error)
+nm_supplicant_config_add_bgscan(NMSupplicantConfig *self, NMConnection *connection, GError **error)
 {
-	NMSettingWireless *s_wifi;
-	NMSettingWirelessSecurity *s_wsec;
-	const char *bgscan;
-
-	s_wifi = nm_connection_get_setting_wireless (connection);
-	g_assert (s_wifi);
-
-	/* Don't scan when a shared connection (either AP or Ad-Hoc) is active;
-	 * it will disrupt connected clients.
-	 */
-	if (NM_IN_STRSET (nm_setting_wireless_get_mode (s_wifi),
-	                  NM_SETTING_WIRELESS_MODE_AP,
-	                  NM_SETTING_WIRELESS_MODE_ADHOC))
-		return TRUE;
-
-	/* Don't scan when the connection is locked to a specific AP, since
-	 * intra-ESS roaming (which requires periodic scanning) isn't being
-	 * used due to the specific AP lock. (bgo #513820)
-	 */
-	if (nm_setting_wireless_get_bssid (s_wifi))
-		return TRUE;
-
-	/* Default to a very long bgscan interval when signal is OK on the assumption
-	 * that either (a) there aren't multiple APs and we don't need roaming, or
-	 * (b) since EAP/802.1x isn't used and thus there are fewer steps to fail
-	 * during a roam, we can wait longer before scanning for roam candidates.
-	 */
-	bgscan = "simple:30:-70:86400";
-
-	/* If using WPA Enterprise, Dynamic WEP or we have seen more than one AP use
-	 * a shorter bgscan interval on the assumption that this is a multi-AP ESS
-	 * in which we want more reliable roaming between APs. Thus trigger scans
-	 * when the signal is still somewhat OK so we have an up-to-date roam
-	 * candidate list when the signal gets bad.
-	 */
-	if (   nm_setting_wireless_get_num_seen_bssids (s_wifi) > 1
-	    || (   (s_wsec = nm_connection_get_setting_wireless_security (connection))
-	        && NM_IN_STRSET (nm_setting_wireless_security_get_key_mgmt (s_wsec),
-	                         "ieee8021x",
-	                         "wpa-eap")))
-		bgscan = "simple:30:-65:300";
-
-	return nm_supplicant_config_add_option (self, "bgscan", bgscan, -1, FALSE, error);
+    NMSettingWireless *        s_wifi;
+    NMSettingWirelessSecurity *s_wsec;
+    const char *               bgscan;
+
+    s_wifi = nm_connection_get_setting_wireless(connection);
+    g_assert(s_wifi);
+
+    /* Don't scan when a shared connection (either AP or Ad-Hoc) is active;
+     * it will disrupt connected clients.
+     */
+    if (NM_IN_STRSET(nm_setting_wireless_get_mode(s_wifi),
+                     NM_SETTING_WIRELESS_MODE_AP,
+                     NM_SETTING_WIRELESS_MODE_ADHOC))
+        return TRUE;
+
+    /* Don't scan when the connection is locked to a specific AP, since
+     * intra-ESS roaming (which requires periodic scanning) isn't being
+     * used due to the specific AP lock. (bgo #513820)
+     */
+    if (nm_setting_wireless_get_bssid(s_wifi))
+        return TRUE;
+
+    /* Default to a very long bgscan interval when signal is OK on the assumption
+     * that either (a) there aren't multiple APs and we don't need roaming, or
+     * (b) since EAP/802.1x isn't used and thus there are fewer steps to fail
+     * during a roam, we can wait longer before scanning for roam candidates.
+     */
+    bgscan = "simple:30:-70:86400";
+
+    /* If using WPA Enterprise, Dynamic WEP or we have seen more than one AP use
+     * a shorter bgscan interval on the assumption that this is a multi-AP ESS
+     * in which we want more reliable roaming between APs. Thus trigger scans
+     * when the signal is still somewhat OK so we have an up-to-date roam
+     * candidate list when the signal gets bad.
+     */
+    if (nm_setting_wireless_get_num_seen_bssids(s_wifi) > 1
+        || ((s_wsec = nm_connection_get_setting_wireless_security(connection))
+            && NM_IN_STRSET(nm_setting_wireless_security_get_key_mgmt(s_wsec),
+                            "ieee8021x",
+                            "wpa-eap")))
+        bgscan = "simple:30:-65:300";
+
+    return nm_supplicant_config_add_option(self, "bgscan", bgscan, -1, FALSE, error);
 }
 
 static gboolean
-add_string_val (NMSupplicantConfig *self,
-                const char *field,
-                const char *name,
-                gboolean ucase,
-                const char *hidden,
-                GError **error)
+add_string_val(NMSupplicantConfig *self,
+               const char *        field,
+               const char *        name,
+               gboolean            ucase,
+               const char *        hidden,
+               GError **           error)
 {
-
-	if (field) {
-		gs_free char *value = NULL;
-
-		if (ucase) {
-			value = g_ascii_strup (field, -1);
-			field = value;
-		}
-		return nm_supplicant_config_add_option (self, name, field, strlen (field), hidden, error);
-	}
-	return TRUE;
+    if (field) {
+        gs_free char *value = NULL;
+
+        if (ucase) {
+            value = g_ascii_strup(field, -1);
+            field = value;
+        }
+        return nm_supplicant_config_add_option(self, name, field, strlen(field), hidden, error);
+    }
+    return TRUE;
 }
 
-#define ADD_STRING_LIST_VAL(self, setting, setting_name, field, field_plural, name, separator, ucase, hidden, error) \
-	({ \
-		typeof (*(setting)) *_setting = (setting); \
-		gboolean _success = TRUE; \
-		\
-		if (nm_setting_##setting_name##_get_num_##field_plural (_setting)) { \
-			const char _separator = (separator); \
-			GString *_str = g_string_new (NULL); \
-			guint _k, _n; \
-			\
-			_n = nm_setting_##setting_name##_get_num_##field_plural (_setting); \
-			for (_k = 0; _k < _n; _k++) { \
-				const char *item = nm_setting_##setting_name##_get_##field (_setting, _k); \
-				\
-				if (!_str->len) { \
-					g_string_append (_str, item); \
-				} else { \
-					g_string_append_c (_str, _separator); \
-					g_string_append (_str, item); \
-				} \
-			} \
-			if ((ucase)) \
-				g_string_ascii_up (_str); \
-			if (_str->len) { \
-				if (!nm_supplicant_config_add_option ((self), (name), _str->str, -1, (hidden), (error))) \
-					_success = FALSE; \
-			} \
-			g_string_free (_str, TRUE); \
-		} \
-		_success; \
-	})
+#define ADD_STRING_LIST_VAL(self,                                                         \
+                            setting,                                                      \
+                            setting_name,                                                 \
+                            field,                                                        \
+                            field_plural,                                                 \
+                            name,                                                         \
+                            separator,                                                    \
+                            ucase,                                                        \
+                            hidden,                                                       \
+                            error)                                                        \
+    ({                                                                                    \
+        typeof(*(setting)) *_setting = (setting);                                         \
+        gboolean            _success = TRUE;                                              \
+                                                                                          \
+        if (nm_setting_##setting_name##_get_num_##field_plural(_setting)) {               \
+            const char _separator = (separator);                                          \
+            GString *  _str       = g_string_new(NULL);                                   \
+            guint      _k, _n;                                                            \
+                                                                                          \
+            _n = nm_setting_##setting_name##_get_num_##field_plural(_setting);            \
+            for (_k = 0; _k < _n; _k++) {                                                 \
+                const char *item = nm_setting_##setting_name##_get_##field(_setting, _k); \
+                                                                                          \
+                if (!_str->len) {                                                         \
+                    g_string_append(_str, item);                                          \
+                } else {                                                                  \
+                    g_string_append_c(_str, _separator);                                  \
+                    g_string_append(_str, item);                                          \
+                }                                                                         \
+            }                                                                             \
+            if ((ucase))                                                                  \
+                g_string_ascii_up(_str);                                                  \
+            if (_str->len) {                                                              \
+                if (!nm_supplicant_config_add_option((self),                              \
+                                                     (name),                              \
+                                                     _str->str,                           \
+                                                     -1,                                  \
+                                                     (hidden),                            \
+                                                     (error)))                            \
+                    _success = FALSE;                                                     \
+            }                                                                             \
+            g_string_free(_str, TRUE);                                                    \
+        }                                                                                 \
+        _success;                                                                         \
+    })
 
 static void
-wep128_passphrase_hash (const char *input,
-                        gsize input_len,
-                        guint8 *digest /* 13 bytes */)
+wep128_passphrase_hash(const char *input, gsize input_len, guint8 *digest /* 13 bytes */)
 {
-	nm_auto_free_checksum GChecksum *sum = NULL;
-	guint8 md5[NM_UTILS_CHECKSUM_LENGTH_MD5];
-	guint8 data[64];
-	int i;
+    nm_auto_free_checksum GChecksum *sum = NULL;
+    guint8                           md5[NM_UTILS_CHECKSUM_LENGTH_MD5];
+    guint8                           data[64];
+    int                              i;
 
-	nm_assert (input);
-	nm_assert (input_len);
-	nm_assert (digest);
+    nm_assert(input);
+    nm_assert(input_len);
+    nm_assert(digest);
 
-	/* Get at least 64 bytes by repeating the passphrase into the buffer */
-	for (i = 0; i < sizeof (data); i++)
-		data[i] = input[i % input_len];
+    /* Get at least 64 bytes by repeating the passphrase into the buffer */
+    for (i = 0; i < sizeof(data); i++)
+        data[i] = input[i % input_len];
 
-	sum = g_checksum_new (G_CHECKSUM_MD5);
-	g_checksum_update (sum, data, sizeof (data));
-	nm_utils_checksum_get_digest (sum, md5);
+    sum = g_checksum_new(G_CHECKSUM_MD5);
+    g_checksum_update(sum, data, sizeof(data));
+    nm_utils_checksum_get_digest(sum, md5);
 
-	/* WEP104 keys are 13 bytes in length (26 hex characters) */
-	memcpy (digest, md5, 13);
+    /* WEP104 keys are 13 bytes in length (26 hex characters) */
+    memcpy(digest, md5, 13);
 }
 
 static gboolean
-add_wep_key (NMSupplicantConfig *self,
-             const char *key,
-             const char *name,
-             NMWepKeyType wep_type,
-             GError **error)
+add_wep_key(NMSupplicantConfig *self,
+            const char *        key,
+            const char *        name,
+            NMWepKeyType        wep_type,
+            GError **           error)
 {
-	gsize key_len;
-
-	if (   !key
-	    || (key_len = strlen (key)) == 0)
-		return TRUE;
-
-	if (wep_type == NM_WEP_KEY_TYPE_UNKNOWN) {
-		if (nm_utils_wep_key_valid (key, NM_WEP_KEY_TYPE_KEY))
-			wep_type = NM_WEP_KEY_TYPE_KEY;
-		else if (nm_utils_wep_key_valid (key, NM_WEP_KEY_TYPE_PASSPHRASE))
-			wep_type = NM_WEP_KEY_TYPE_PASSPHRASE;
-	}
-
-	if (   (wep_type == NM_WEP_KEY_TYPE_UNKNOWN)
-	    || (wep_type == NM_WEP_KEY_TYPE_KEY)) {
-		if ((key_len == 10) || (key_len == 26)) {
-			guint8 buffer[26/2];
-
-			if (!nm_utils_hexstr2bin_full (key,
-			                               FALSE,
-			                               FALSE,
-			                               NULL,
-			                               key_len / 2,
-			                               buffer,
-			                               sizeof (buffer),
-			                               NULL)) {
-				g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-				             "cannot add wep-key %s to suplicant config because key is not hex",
-				             name);
-				return FALSE;
-			}
-			if (!nm_supplicant_config_add_option (self,
-			                                      name,
-			                                      (char *) buffer,
-			                                      key_len / 2,
-			                                      "<hidden>",
-			                                      error))
-				return FALSE;
-		} else if ((key_len == 5) || (key_len == 13)) {
-			if (!nm_supplicant_config_add_option (self, name, key, key_len, "<hidden>", error))
-				return FALSE;
-		} else {
-			g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-			             "Cannot add wep-key %s to suplicant config because key-length %u is invalid",
-			             name, (guint) key_len);
-			return FALSE;
-		}
-	} else if (wep_type == NM_WEP_KEY_TYPE_PASSPHRASE) {
-		guint8 digest[13];
-
-		wep128_passphrase_hash (key, key_len, digest);
-		if (!nm_supplicant_config_add_option (self, name, (const char *) digest, sizeof (digest), "<hidden>", error))
-			return FALSE;
-	}
-
-	return TRUE;
+    gsize key_len;
+
+    if (!key || (key_len = strlen(key)) == 0)
+        return TRUE;
+
+    if (wep_type == NM_WEP_KEY_TYPE_UNKNOWN) {
+        if (nm_utils_wep_key_valid(key, NM_WEP_KEY_TYPE_KEY))
+            wep_type = NM_WEP_KEY_TYPE_KEY;
+        else if (nm_utils_wep_key_valid(key, NM_WEP_KEY_TYPE_PASSPHRASE))
+            wep_type = NM_WEP_KEY_TYPE_PASSPHRASE;
+    }
+
+    if ((wep_type == NM_WEP_KEY_TYPE_UNKNOWN) || (wep_type == NM_WEP_KEY_TYPE_KEY)) {
+        if ((key_len == 10) || (key_len == 26)) {
+            guint8 buffer[26 / 2];
+
+            if (!nm_utils_hexstr2bin_full(key,
+                                          FALSE,
+                                          FALSE,
+                                          FALSE,
+                                          NULL,
+                                          key_len / 2,
+                                          buffer,
+                                          sizeof(buffer),
+                                          NULL)) {
+                g_set_error(error,
+                            NM_SUPPLICANT_ERROR,
+                            NM_SUPPLICANT_ERROR_CONFIG,
+                            "cannot add wep-key %s to supplicant config because key is not hex",
+                            name);
+                return FALSE;
+            }
+            if (!nm_supplicant_config_add_option(self,
+                                                 name,
+                                                 (char *) buffer,
+                                                 key_len / 2,
+                                                 "<hidden>",
+                                                 error))
+                return FALSE;
+        } else if ((key_len == 5) || (key_len == 13)) {
+            if (!nm_supplicant_config_add_option(self, name, key, key_len, "<hidden>", error))
+                return FALSE;
+        } else {
+            g_set_error(
+                error,
+                NM_SUPPLICANT_ERROR,
+                NM_SUPPLICANT_ERROR_CONFIG,
+                "Cannot add wep-key %s to supplicant config because key-length %u is invalid",
+                name,
+                (guint) key_len);
+            return FALSE;
+        }
+    } else if (wep_type == NM_WEP_KEY_TYPE_PASSPHRASE) {
+        guint8 digest[13];
+
+        wep128_passphrase_hash(key, key_len, digest);
+        if (!nm_supplicant_config_add_option(self,
+                                             name,
+                                             (const char *) digest,
+                                             sizeof(digest),
+                                             "<hidden>",
+                                             error))
+            return FALSE;
+    }
+
+    return TRUE;
 }
 
 gboolean
-nm_supplicant_config_add_setting_wireless_security (NMSupplicantConfig *self,
-                                                    NMSettingWirelessSecurity *setting,
-                                                    NMSetting8021x *setting_8021x,
-                                                    const char *con_uuid,
-                                                    guint32 mtu,
-                                                    NMSettingWirelessSecurityPmf pmf,
-                                                    NMSettingWirelessSecurityFils fils,
-                                                    GError **error)
+nm_supplicant_config_add_setting_wireless_security(NMSupplicantConfig *          self,
+                                                   NMSettingWirelessSecurity *   setting,
+                                                   NMSetting8021x *              setting_8021x,
+                                                   const char *                  con_uuid,
+                                                   guint32                       mtu,
+                                                   NMSettingWirelessSecurityPmf  pmf,
+                                                   NMSettingWirelessSecurityFils fils,
+                                                   GError **                     error)
 {
-	NMSupplicantConfigPrivate *priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE (self);
-	nm_auto_free_gstring GString *key_mgmt_conf = NULL;
-	const char *key_mgmt, *auth_alg;
-	const char *psk;
-	gboolean set_pmf;
-
-	g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), FALSE);
-	g_return_val_if_fail (setting != NULL, FALSE);
-	g_return_val_if_fail (con_uuid != NULL, FALSE);
-	g_return_val_if_fail (!error || !*error, FALSE);
-
-	/* Check if we actually support FILS */
-	if (!_get_capability (priv, NM_SUPPL_CAP_TYPE_FILS)) {
-		if (fils == NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED) {
-			g_set_error_literal (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-			                     "Supplicant does not support FILS");
-			return FALSE;
-		} else if (fils == NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL)
-			fils = NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE;
-	}
-
-	key_mgmt = nm_setting_wireless_security_get_key_mgmt (setting);
-	key_mgmt_conf = g_string_new (key_mgmt);
-	if (nm_streq (key_mgmt, "wpa-psk")) {
-		if (_get_capability (priv, NM_SUPPL_CAP_TYPE_PMF))
-			g_string_append (key_mgmt_conf, " wpa-psk-sha256");
-		if (_get_capability (priv, NM_SUPPL_CAP_TYPE_FT))
-			g_string_append (key_mgmt_conf, " ft-psk");
-	} else if (nm_streq (key_mgmt, "wpa-eap")) {
-		if (_get_capability (priv, NM_SUPPL_CAP_TYPE_PMF))
-			g_string_append (key_mgmt_conf, " wpa-eap-sha256");
-		if (_get_capability (priv, NM_SUPPL_CAP_TYPE_FT))
-			g_string_append (key_mgmt_conf, " ft-eap");
-		if (   _get_capability (priv, NM_SUPPL_CAP_TYPE_FT)
-		    && _get_capability (priv, NM_SUPPL_CAP_TYPE_SHA384))
-			g_string_append (key_mgmt_conf, " ft-eap-sha384");
-		switch (fils) {
-		case NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED:
-			g_string_truncate (key_mgmt_conf, 0);
-			if (!_get_capability (priv, NM_SUPPL_CAP_TYPE_PMF))
-				g_string_assign (key_mgmt_conf, "fils-sha256 fils-sha384");
-			/* fall-through */
-		case NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL:
-			if (_get_capability (priv, NM_SUPPL_CAP_TYPE_PMF))
-				g_string_append (key_mgmt_conf, " fils-sha256 fils-sha384");
-			if (   _get_capability (priv, NM_SUPPL_CAP_TYPE_PMF)
-			    && _get_capability (priv, NM_SUPPL_CAP_TYPE_FT))
-				g_string_append (key_mgmt_conf, " ft-fils-sha256");
-			if (   _get_capability (priv, NM_SUPPL_CAP_TYPE_PMF)
-			    && _get_capability (priv, NM_SUPPL_CAP_TYPE_FT)
-			    && _get_capability (priv, NM_SUPPL_CAP_TYPE_SHA384))
-				g_string_append (key_mgmt_conf, " ft-fils-sha384");
-			break;
-		default:
-			break;
-		}
-	} else if (nm_streq (key_mgmt, "sae")) {
-		if (_get_capability (priv, NM_SUPPL_CAP_TYPE_FT))
-			g_string_append (key_mgmt_conf, " ft-sae");
-	}
-
-	if (!add_string_val (self, key_mgmt_conf->str, "key_mgmt", TRUE, NULL, error))
-		return FALSE;
-
-	auth_alg = nm_setting_wireless_security_get_auth_alg (setting);
-	if (!add_string_val (self, auth_alg, "auth_alg", TRUE, NULL, error))
-		return FALSE;
-
-	psk = nm_setting_wireless_security_get_psk (setting);
-	if (psk) {
-		size_t psk_len = strlen (psk);
-
-
-		if (psk_len >= 8 && psk_len <= 63) {
-			/* Use NM_SUPPL_OPT_TYPE_STRING here so that it gets pushed to the
-			 * supplicant as a string, and therefore gets quoted,
-			 * and therefore the supplicant will interpret it as a
-			 * passphrase and not a hex key.
-			 */
-			if (!nm_supplicant_config_add_option_with_type (self, "psk", psk, -1, NM_SUPPL_OPT_TYPE_STRING, "<hidden>", error))
-				return FALSE;
-		} else if (nm_streq (key_mgmt, "sae")) {
-			/* If the SAE password doesn't comply with WPA-PSK limitation,
-			 * we need to call it "sae_password" instead of "psk".
-			 */
-			if (!nm_supplicant_config_add_option_with_type (self, "sae_password", psk, -1, NM_SUPPL_OPT_TYPE_STRING, "<hidden>", error))
-				return FALSE;
-		} else if (psk_len == 64) {
-			guint8 buffer[32];
-
-			/* Hex PSK */
-			if (!nm_utils_hexstr2bin_buf (psk,
-			                              FALSE,
-			                              FALSE,
-			                              NULL,
-			                              buffer)) {
-				g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-				             "Cannot add psk to supplicant config due to invalid hex");
-				return FALSE;
-			}
-			if (!nm_supplicant_config_add_option (self,
-			                                      "psk",
-			                                      (char *) buffer,
-			                                      sizeof (buffer),
-			                                      "<hidden>",
-			                                      error))
-				return FALSE;
-		} else {
-			g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-			             "Cannot add psk to supplicant config due to invalid PSK length %u (not between 8 and 63 characters)",
-			             (guint) psk_len);
-			return FALSE;
-		}
-	}
-
-	/* Don't try to enable PMF on non-WPA/SAE/OWE networks */
-	if (!NM_IN_STRSET (key_mgmt, "wpa-eap", "wpa-psk", "sae", "owe"))
-		pmf = NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE;
-
-	/* Check if we actually support PMF */
-	set_pmf = TRUE;
-	if (!_get_capability (priv, NM_SUPPL_CAP_TYPE_PMF)) {
-		if (pmf == NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED) {
-			g_set_error_literal (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-			                     "Supplicant does not support PMF");
-			return FALSE;
-		}
-		set_pmf = FALSE;
-	}
-
-	/* Only WPA-specific things when using WPA */
-	if (   !strcmp (key_mgmt, "wpa-psk")
-	    || !strcmp (key_mgmt, "wpa-eap")
-	    || !strcmp (key_mgmt, "sae")
-	    || !strcmp (key_mgmt, "owe")) {
-		if (!ADD_STRING_LIST_VAL (self, setting, wireless_security, proto, protos, "proto", ' ', TRUE, NULL, error))
-			return FALSE;
-		if (!ADD_STRING_LIST_VAL (self, setting, wireless_security, pairwise, pairwise, "pairwise", ' ', TRUE, NULL, error))
-			return FALSE;
-		if (!ADD_STRING_LIST_VAL (self, setting, wireless_security, group, groups, "group", ' ', TRUE, NULL, error))
-			return FALSE;
-
-		if (   set_pmf
-		    && NM_IN_SET (pmf,
-		                  NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE,
-		                  NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED)) {
-			if (!nm_supplicant_config_add_option (self,
-			                                      "ieee80211w",
-			                                      pmf == NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE ? "0" : "2",
-			                                      -1,
-			                                      NULL,
-			                                      error))
-				return FALSE;
-		}
-	}
-
-	/* WEP keys if required */
-	if (!strcmp (key_mgmt, "none")) {
-		NMWepKeyType wep_type = nm_setting_wireless_security_get_wep_key_type (setting);
-		const char *wep0 = nm_setting_wireless_security_get_wep_key (setting, 0);
-		const char *wep1 = nm_setting_wireless_security_get_wep_key (setting, 1);
-		const char *wep2 = nm_setting_wireless_security_get_wep_key (setting, 2);
-		const char *wep3 = nm_setting_wireless_security_get_wep_key (setting, 3);
-
-		if (!add_wep_key (self, wep0, "wep_key0", wep_type, error))
-			return FALSE;
-		if (!add_wep_key (self, wep1, "wep_key1", wep_type, error))
-			return FALSE;
-		if (!add_wep_key (self, wep2, "wep_key2", wep_type, error))
-			return FALSE;
-		if (!add_wep_key (self, wep3, "wep_key3", wep_type, error))
-			return FALSE;
-
-		if (wep0 || wep1 || wep2 || wep3) {
-			gs_free char *value = NULL;
-
-			value = g_strdup_printf ("%d", nm_setting_wireless_security_get_wep_tx_keyidx (setting));
-			if (!nm_supplicant_config_add_option (self, "wep_tx_keyidx", value, -1, NULL, error))
-				return FALSE;
-		}
-	}
-
-	if (auth_alg && !strcmp (auth_alg, "leap")) {
-		/* LEAP */
-		if (!strcmp (key_mgmt, "ieee8021x")) {
-			const char *tmp;
-
-			tmp = nm_setting_wireless_security_get_leap_username (setting);
-			if (!add_string_val (self, tmp, "identity", FALSE, NULL, error))
-				return FALSE;
-
-			tmp = nm_setting_wireless_security_get_leap_password (setting);
-			if (!add_string_val (self, tmp, "password", FALSE, "<hidden>", error))
-				return FALSE;
-
-			if (!add_string_val (self, "leap", "eap", TRUE, NULL, error))
-				return FALSE;
-		} else {
-			g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-			             "Invalid key-mgmt \"%s\" for leap", key_mgmt);
-			return FALSE;
-		}
-	} else {
-		/* 802.1x for Dynamic WEP and WPA-Enterprise */
-		if (!strcmp (key_mgmt, "ieee8021x") || !strcmp (key_mgmt, "wpa-eap")) {
-			if (!setting_8021x) {
-				g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-				             "Cannot set key-mgmt %s with missing 8021x setting", key_mgmt);
-				return FALSE;
-			}
-			if (!nm_supplicant_config_add_setting_8021x (self, setting_8021x, con_uuid, mtu, FALSE, error))
-				return FALSE;
-		}
-
-		if (!strcmp (key_mgmt, "wpa-eap")) {
-			/* When using WPA-Enterprise, we want to use Proactive Key Caching (also
-			 * called Opportunistic Key Caching) to avoid full EAP exchanges when
-			 * roaming between access points in the same mobility group.
-			 */
-			if (!nm_supplicant_config_add_option (self, "proactive_key_caching", "1", -1, NULL, error))
-				return FALSE;
-		}
-	}
-
-	return TRUE;
+    NMSupplicantConfigPrivate *priv             = NM_SUPPLICANT_CONFIG_GET_PRIVATE(self);
+    nm_auto_free_gstring GString *key_mgmt_conf = NULL;
+    const char *                  key_mgmt, *auth_alg;
+    const char *                  psk;
+    gboolean                      set_pmf;
+
+    g_return_val_if_fail(NM_IS_SUPPLICANT_CONFIG(self), FALSE);
+    g_return_val_if_fail(setting != NULL, FALSE);
+    g_return_val_if_fail(con_uuid != NULL, FALSE);
+    g_return_val_if_fail(!error || !*error, FALSE);
+
+    /* Check if we actually support FILS */
+    if (!_get_capability(priv, NM_SUPPL_CAP_TYPE_FILS)) {
+        if (fils == NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED) {
+            g_set_error_literal(error,
+                                NM_SUPPLICANT_ERROR,
+                                NM_SUPPLICANT_ERROR_CONFIG,
+                                "Supplicant does not support FILS");
+            return FALSE;
+        } else if (fils == NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL)
+            fils = NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE;
+    }
+
+    key_mgmt      = nm_setting_wireless_security_get_key_mgmt(setting);
+    key_mgmt_conf = g_string_new(key_mgmt);
+    if (nm_streq(key_mgmt, "wpa-psk")) {
+        if (_get_capability(priv, NM_SUPPL_CAP_TYPE_PMF))
+            g_string_append(key_mgmt_conf, " wpa-psk-sha256");
+        if (_get_capability(priv, NM_SUPPL_CAP_TYPE_FT))
+            g_string_append(key_mgmt_conf, " ft-psk");
+    } else if (nm_streq(key_mgmt, "wpa-eap")) {
+        if (_get_capability(priv, NM_SUPPL_CAP_TYPE_PMF))
+            g_string_append(key_mgmt_conf, " wpa-eap-sha256");
+        if (_get_capability(priv, NM_SUPPL_CAP_TYPE_FT))
+            g_string_append(key_mgmt_conf, " ft-eap");
+        if (_get_capability(priv, NM_SUPPL_CAP_TYPE_FT)
+            && _get_capability(priv, NM_SUPPL_CAP_TYPE_SHA384))
+            g_string_append(key_mgmt_conf, " ft-eap-sha384");
+        switch (fils) {
+        case NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED:
+            g_string_truncate(key_mgmt_conf, 0);
+            if (!_get_capability(priv, NM_SUPPL_CAP_TYPE_PMF))
+                g_string_assign(key_mgmt_conf, "fils-sha256 fils-sha384");
+            /* fall-through */
+        case NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL:
+            if (_get_capability(priv, NM_SUPPL_CAP_TYPE_PMF))
+                g_string_append(key_mgmt_conf, " fils-sha256 fils-sha384");
+            if (_get_capability(priv, NM_SUPPL_CAP_TYPE_PMF)
+                && _get_capability(priv, NM_SUPPL_CAP_TYPE_FT))
+                g_string_append(key_mgmt_conf, " ft-fils-sha256");
+            if (_get_capability(priv, NM_SUPPL_CAP_TYPE_PMF)
+                && _get_capability(priv, NM_SUPPL_CAP_TYPE_FT)
+                && _get_capability(priv, NM_SUPPL_CAP_TYPE_SHA384))
+                g_string_append(key_mgmt_conf, " ft-fils-sha384");
+            break;
+        default:
+            break;
+        }
+    } else if (nm_streq(key_mgmt, "sae")) {
+        if (_get_capability(priv, NM_SUPPL_CAP_TYPE_FT))
+            g_string_append(key_mgmt_conf, " ft-sae");
+    }
+
+    if (!add_string_val(self, key_mgmt_conf->str, "key_mgmt", TRUE, NULL, error))
+        return FALSE;
+
+    auth_alg = nm_setting_wireless_security_get_auth_alg(setting);
+    if (!add_string_val(self, auth_alg, "auth_alg", TRUE, NULL, error))
+        return FALSE;
+
+    psk = nm_setting_wireless_security_get_psk(setting);
+    if (psk) {
+        size_t psk_len = strlen(psk);
+
+        if (psk_len >= 8 && psk_len <= 63) {
+            /* Use NM_SUPPL_OPT_TYPE_STRING here so that it gets pushed to the
+             * supplicant as a string, and therefore gets quoted,
+             * and therefore the supplicant will interpret it as a
+             * passphrase and not a hex key.
+             */
+            if (!nm_supplicant_config_add_option_with_type(self,
+                                                           "psk",
+                                                           psk,
+                                                           -1,
+                                                           NM_SUPPL_OPT_TYPE_STRING,
+                                                           "<hidden>",
+                                                           error))
+                return FALSE;
+        } else if (nm_streq(key_mgmt, "sae")) {
+            /* If the SAE password doesn't comply with WPA-PSK limitation,
+             * we need to call it "sae_password" instead of "psk".
+             */
+            if (!nm_supplicant_config_add_option_with_type(self,
+                                                           "sae_password",
+                                                           psk,
+                                                           -1,
+                                                           NM_SUPPL_OPT_TYPE_STRING,
+                                                           "<hidden>",
+                                                           error))
+                return FALSE;
+        } else if (psk_len == 64) {
+            guint8 buffer[32];
+
+            /* Hex PSK */
+            if (!nm_utils_hexstr2bin_buf(psk, FALSE, FALSE, NULL, buffer)) {
+                g_set_error(error,
+                            NM_SUPPLICANT_ERROR,
+                            NM_SUPPLICANT_ERROR_CONFIG,
+                            "Cannot add psk to supplicant config due to invalid hex");
+                return FALSE;
+            }
+            if (!nm_supplicant_config_add_option(self,
+                                                 "psk",
+                                                 (char *) buffer,
+                                                 sizeof(buffer),
+                                                 "<hidden>",
+                                                 error))
+                return FALSE;
+        } else {
+            g_set_error(error,
+                        NM_SUPPLICANT_ERROR,
+                        NM_SUPPLICANT_ERROR_CONFIG,
+                        "Cannot add psk to supplicant config due to invalid PSK length %u (not "
+                        "between 8 and 63 characters)",
+                        (guint) psk_len);
+            return FALSE;
+        }
+    }
+
+    /* Don't try to enable PMF on non-WPA/SAE/OWE networks */
+    if (!NM_IN_STRSET(key_mgmt, "wpa-eap", "wpa-psk", "sae", "owe"))
+        pmf = NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE;
+
+    /* Check if we actually support PMF */
+    set_pmf = TRUE;
+    if (!_get_capability(priv, NM_SUPPL_CAP_TYPE_PMF)) {
+        if (pmf == NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED) {
+            g_set_error_literal(error,
+                                NM_SUPPLICANT_ERROR,
+                                NM_SUPPLICANT_ERROR_CONFIG,
+                                "Supplicant does not support PMF");
+            return FALSE;
+        }
+        set_pmf = FALSE;
+    }
+
+    /* Only WPA-specific things when using WPA */
+    if (NM_IN_STRSET(key_mgmt, "wpa-psk", "wpa-eap", "sae", "owe")) {
+        if (!ADD_STRING_LIST_VAL(self,
+                                 setting,
+                                 wireless_security,
+                                 proto,
+                                 protos,
+                                 "proto",
+                                 ' ',
+                                 TRUE,
+                                 NULL,
+                                 error))
+            return FALSE;
+        if (!ADD_STRING_LIST_VAL(self,
+                                 setting,
+                                 wireless_security,
+                                 pairwise,
+                                 pairwise,
+                                 "pairwise",
+                                 ' ',
+                                 TRUE,
+                                 NULL,
+                                 error))
+            return FALSE;
+        if (!ADD_STRING_LIST_VAL(self,
+                                 setting,
+                                 wireless_security,
+                                 group,
+                                 groups,
+                                 "group",
+                                 ' ',
+                                 TRUE,
+                                 NULL,
+                                 error))
+            return FALSE;
+
+        if (set_pmf
+            && NM_IN_SET(pmf,
+                         NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE,
+                         NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED)) {
+            if (!nm_supplicant_config_add_option(
+                    self,
+                    "ieee80211w",
+                    pmf == NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE ? "0" : "2",
+                    -1,
+                    NULL,
+                    error))
+                return FALSE;
+        }
+    }
+
+    /* WEP keys if required */
+    if (nm_streq(key_mgmt, "none")) {
+        NMWepKeyType wep_type = nm_setting_wireless_security_get_wep_key_type(setting);
+        const char * wep0     = nm_setting_wireless_security_get_wep_key(setting, 0);
+        const char * wep1     = nm_setting_wireless_security_get_wep_key(setting, 1);
+        const char * wep2     = nm_setting_wireless_security_get_wep_key(setting, 2);
+        const char * wep3     = nm_setting_wireless_security_get_wep_key(setting, 3);
+
+        if (!add_wep_key(self, wep0, "wep_key0", wep_type, error))
+            return FALSE;
+        if (!add_wep_key(self, wep1, "wep_key1", wep_type, error))
+            return FALSE;
+        if (!add_wep_key(self, wep2, "wep_key2", wep_type, error))
+            return FALSE;
+        if (!add_wep_key(self, wep3, "wep_key3", wep_type, error))
+            return FALSE;
+
+        if (wep0 || wep1 || wep2 || wep3) {
+            gs_free char *value = NULL;
+
+            value = g_strdup_printf("%d", nm_setting_wireless_security_get_wep_tx_keyidx(setting));
+            if (!nm_supplicant_config_add_option(self, "wep_tx_keyidx", value, -1, NULL, error))
+                return FALSE;
+        }
+    }
+
+    if (nm_streq0(auth_alg, "leap")) {
+        /* LEAP */
+        if (nm_streq(key_mgmt, "ieee8021x")) {
+            const char *tmp;
+
+            tmp = nm_setting_wireless_security_get_leap_username(setting);
+            if (!add_string_val(self, tmp, "identity", FALSE, NULL, error))
+                return FALSE;
+
+            tmp = nm_setting_wireless_security_get_leap_password(setting);
+            if (!add_string_val(self, tmp, "password", FALSE, "<hidden>", error))
+                return FALSE;
+
+            if (!add_string_val(self, "leap", "eap", TRUE, NULL, error))
+                return FALSE;
+        } else {
+            g_set_error(error,
+                        NM_SUPPLICANT_ERROR,
+                        NM_SUPPLICANT_ERROR_CONFIG,
+                        "Invalid key-mgmt \"%s\" for leap",
+                        key_mgmt);
+            return FALSE;
+        }
+    } else {
+        /* 802.1x for Dynamic WEP and WPA-Enterprise */
+        if (NM_IN_STRSET(key_mgmt, "ieee8021x", "wpa-eap")) {
+            if (!setting_8021x) {
+                g_set_error(error,
+                            NM_SUPPLICANT_ERROR,
+                            NM_SUPPLICANT_ERROR_CONFIG,
+                            "Cannot set key-mgmt %s with missing 8021x setting",
+                            key_mgmt);
+                return FALSE;
+            }
+            if (!nm_supplicant_config_add_setting_8021x(self,
+                                                        setting_8021x,
+                                                        con_uuid,
+                                                        mtu,
+                                                        FALSE,
+                                                        error))
+                return FALSE;
+        }
+
+        if (nm_streq(key_mgmt, "wpa-eap")) {
+            /* When using WPA-Enterprise, we want to use Proactive Key Caching (also
+             * called Opportunistic Key Caching) to avoid full EAP exchanges when
+             * roaming between access points in the same mobility group.
+             */
+            if (!nm_supplicant_config_add_option(self,
+                                                 "proactive_key_caching",
+                                                 "1",
+                                                 -1,
+                                                 NULL,
+                                                 error))
+                return FALSE;
+        }
+    }
+
+    return TRUE;
 }
 
 static gboolean
-add_pkcs11_uri_with_pin (NMSupplicantConfig *self,
-                         const char *name,
-                         const char *uri,
-                         const char *pin,
-                         const NMSettingSecretFlags pin_flags,
-                         GError **error)
+add_pkcs11_uri_with_pin(NMSupplicantConfig *       self,
+                        const char *               name,
+                        const char *               uri,
+                        const char *               pin,
+                        const NMSettingSecretFlags pin_flags,
+                        GError **                  error)
+{
+    gs_strfreev char **split     = NULL;
+    gs_free char *     tmp       = NULL;
+    gs_free char *     tmp_log   = NULL;
+    gs_free char *     pin_qattr = NULL;
+    char *             escaped   = NULL;
+
+    if (uri == NULL)
+        return TRUE;
+
+    /* We ignore the attributes -- RFC 7512 suggests that some of them
+     * might be unsafe and we want to be on the safe side. Also, we're
+     * installing our attributes, so this makes things a bit easier for us. */
+    split = g_strsplit(uri, "&", 2);
+    if (split[1])
+        nm_log_info(LOGD_SUPPLICANT, "URI attributes ignored");
+
+    /* Fill in the PIN if required. */
+    if (pin) {
+        escaped   = g_uri_escape_string(pin, NULL, TRUE);
+        pin_qattr = g_strdup_printf("pin-value=%s", escaped);
+        g_free(escaped);
+    } else if (!(pin_flags & NM_SETTING_SECRET_FLAG_NOT_REQUIRED)) {
+        /* Include an empty PIN to indicate the login is still needed.
+         * Probably a token that has a PIN path and the actual PIN will
+         * be entered using a protected path. */
+        pin_qattr = g_strdup("pin-value=");
+    }
+
+    tmp = g_strdup_printf("%s%s%s", split[0], (pin_qattr ? "?" : ""), (pin_qattr ?: ""));
+
+    tmp_log = g_strdup_printf("%s%s%s",
+                              split[0],
+                              (pin_qattr ? "?" : ""),
+                              (pin_qattr ? "pin-value=<hidden>" : ""));
+
+    return add_string_val(self, tmp, name, FALSE, tmp_log, error);
+}
+
+gboolean
+nm_supplicant_config_add_setting_8021x(NMSupplicantConfig *self,
+                                       NMSetting8021x *    setting,
+                                       const char *        con_uuid,
+                                       guint32             mtu,
+                                       gboolean            wired,
+                                       GError **           error)
 {
-	gs_strfreev char **split = NULL;
-	gs_free char *tmp = NULL;
-	gs_free char *tmp_log = NULL;
-	gs_free char *pin_qattr = NULL;
-	char *escaped = NULL;
-
-	if (uri == NULL)
-		return TRUE;
-
-	/* We ignore the attributes -- RFC 7512 suggests that some of them
-	 * might be unsafe and we want to be on the safe side. Also, we're
-	 * installing our attributes, so this makes things a bit easier for us. */
-	split = g_strsplit (uri, "&", 2);
-	if (split[1])
-		nm_log_info (LOGD_SUPPLICANT, "URI attributes ignored");
-
-	/* Fill in the PIN if required. */
-	if (pin) {
-		escaped = g_uri_escape_string (pin, NULL, TRUE);
-		pin_qattr = g_strdup_printf ("pin-value=%s", escaped);
-		g_free (escaped);
-	} else if (!(pin_flags & NM_SETTING_SECRET_FLAG_NOT_REQUIRED)) {
-		/* Include an empty PIN to indicate the login is still needed.
-		 * Probably a token that has a PIN path and the actual PIN will
-		 * be entered using a protected path. */
-		pin_qattr = g_strdup ("pin-value=");
-	}
-
-	tmp = g_strdup_printf ("%s%s%s", split[0],
-	                       (pin_qattr ? "?" : ""),
-	                       (pin_qattr ?: ""));
-
-	tmp_log = g_strdup_printf ("%s%s%s", split[0],
-	                           (pin_qattr ? "?" : ""),
-	                           (pin_qattr ? "pin-value=<hidden>" : ""));
-
-	return add_string_val (self, tmp, name, FALSE, tmp_log, error);
+    NMSupplicantConfigPrivate *priv;
+    char *                     tmp;
+    const char *               peapver, *value, *path;
+    gboolean                   added;
+    GString *                  phase1, *phase2;
+    GBytes *                   bytes;
+    gboolean                   fast = FALSE;
+    guint32                    i, num_eap;
+    gboolean                   fast_provisoning_allowed = FALSE;
+    const char *               ca_path_override = NULL, *ca_cert_override = NULL;
+    guint32                    frag, hdrs;
+    gs_free char *             frag_str = NULL;
+    NMSetting8021xAuthFlags    phase1_auth_flags;
+    nm_auto_free_gstring GString *eap_str = NULL;
+
+    g_return_val_if_fail(NM_IS_SUPPLICANT_CONFIG(self), FALSE);
+    g_return_val_if_fail(setting != NULL, FALSE);
+    g_return_val_if_fail(con_uuid != NULL, FALSE);
+
+    priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE(self);
+
+    value = nm_setting_802_1x_get_password(setting);
+    if (value) {
+        if (!add_string_val(self, value, "password", FALSE, "<hidden>", error))
+            return FALSE;
+    } else {
+        bytes = nm_setting_802_1x_get_password_raw(setting);
+        if (bytes) {
+            if (!nm_supplicant_config_add_option(self,
+                                                 "password",
+                                                 (const char *) g_bytes_get_data(bytes, NULL),
+                                                 g_bytes_get_size(bytes),
+                                                 "<hidden>",
+                                                 error))
+                return FALSE;
+        }
+    }
+    value = nm_setting_802_1x_get_pin(setting);
+    if (!add_string_val(self, value, "pin", FALSE, "<hidden>", error))
+        return FALSE;
+
+    if (wired) {
+        if (!add_string_val(self, "IEEE8021X", "key_mgmt", FALSE, NULL, error))
+            return FALSE;
+        /* Wired 802.1x must always use eapol_flags=0 */
+        if (!add_string_val(self, "0", "eapol_flags", FALSE, NULL, error))
+            return FALSE;
+        priv->ap_scan = 0;
+    }
+
+    /* Build the "eap" option string while we check for EAP methods needing
+     * special handling: PEAP + GTC, FAST, external */
+    eap_str = g_string_new(NULL);
+    num_eap = nm_setting_802_1x_get_num_eap_methods(setting);
+    for (i = 0; i < num_eap; i++) {
+        const char *method = nm_setting_802_1x_get_eap_method(setting, i);
+
+        if (nm_streq(method, "fast")) {
+            fast                = TRUE;
+            priv->fast_required = TRUE;
+        }
+
+        if (nm_streq(method, "external")) {
+            if (num_eap == 1) {
+                g_set_error(error,
+                            NM_SUPPLICANT_ERROR,
+                            NM_SUPPLICANT_ERROR_CONFIG,
+                            "Connection settings managed externally to NM, connection"
+                            " cannot be used with wpa_supplicant");
+                return FALSE;
+            }
+            continue;
+        }
+
+        if (eap_str->len)
+            g_string_append_c(eap_str, ' ');
+        g_string_append(eap_str, method);
+    }
+
+    g_string_ascii_up(eap_str);
+    if (eap_str->len
+        && !nm_supplicant_config_add_option(self, "eap", eap_str->str, -1, NULL, error))
+        return FALSE;
+
+    /* Adjust the fragment size according to MTU, but do not set it higher than 1280-14
+     * for better compatibility */
+    hdrs = 14; /* EAPOL + EAP-TLS */
+    frag = 1280 - hdrs;
+    if (mtu > hdrs)
+        frag = CLAMP(mtu - hdrs, 100, frag);
+    frag_str = g_strdup_printf("%u", frag);
+
+    if (!nm_supplicant_config_add_option(self, "fragment_size", frag_str, -1, NULL, error))
+        return FALSE;
+
+    phase1  = g_string_new(NULL);
+    peapver = nm_setting_802_1x_get_phase1_peapver(setting);
+    if (peapver) {
+        if (nm_streq(peapver, "0"))
+            g_string_append(phase1, "peapver=0");
+        else if (nm_streq(peapver, "1"))
+            g_string_append(phase1, "peapver=1");
+    }
+
+    if (nm_setting_802_1x_get_phase1_peaplabel(setting)) {
+        if (phase1->len)
+            g_string_append_c(phase1, ' ');
+        g_string_append_printf(phase1,
+                               "peaplabel=%s",
+                               nm_setting_802_1x_get_phase1_peaplabel(setting));
+    }
+
+    value = nm_setting_802_1x_get_phase1_fast_provisioning(setting);
+    if (value) {
+        if (phase1->len)
+            g_string_append_c(phase1, ' ');
+        g_string_append_printf(phase1, "fast_provisioning=%s", value);
+
+        if (!nm_streq(value, "0"))
+            fast_provisoning_allowed = TRUE;
+    }
+
+    phase1_auth_flags = nm_setting_802_1x_get_phase1_auth_flags(setting);
+    if (NM_FLAGS_HAS(phase1_auth_flags, NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_0_DISABLE))
+        g_string_append_printf(phase1, "%stls_disable_tlsv1_0=1", (phase1->len ? " " : ""));
+    if (NM_FLAGS_HAS(phase1_auth_flags, NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_1_DISABLE))
+        g_string_append_printf(phase1, "%stls_disable_tlsv1_1=1", (phase1->len ? " " : ""));
+    if (NM_FLAGS_HAS(phase1_auth_flags, NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_2_DISABLE))
+        g_string_append_printf(phase1, "%stls_disable_tlsv1_2=1", (phase1->len ? " " : ""));
+
+    if (phase1->len) {
+        if (!add_string_val(self, phase1->str, "phase1", FALSE, NULL, error)) {
+            g_string_free(phase1, TRUE);
+            return FALSE;
+        }
+    }
+    g_string_free(phase1, TRUE);
+
+    phase2 = g_string_new(NULL);
+    if (nm_setting_802_1x_get_phase2_auth(setting) && !fast_provisoning_allowed) {
+        tmp = g_ascii_strup(nm_setting_802_1x_get_phase2_auth(setting), -1);
+        g_string_append_printf(phase2, "auth=%s", tmp);
+        g_free(tmp);
+    }
+
+    if (nm_setting_802_1x_get_phase2_autheap(setting)) {
+        if (phase2->len)
+            g_string_append_c(phase2, ' ');
+        tmp = g_ascii_strup(nm_setting_802_1x_get_phase2_autheap(setting), -1);
+        g_string_append_printf(phase2, "autheap=%s", tmp);
+        g_free(tmp);
+    }
+
+    if (phase2->len) {
+        if (!add_string_val(self, phase2->str, "phase2", FALSE, NULL, error)) {
+            g_string_free(phase2, TRUE);
+            return FALSE;
+        }
+    }
+    g_string_free(phase2, TRUE);
+
+    /* PAC file */
+    path = nm_setting_802_1x_get_pac_file(setting);
+    if (path) {
+        if (!add_string_val(self, path, "pac_file", FALSE, NULL, error))
+            return FALSE;
+    } else {
+        /* PAC file is not specified.
+         * If provisioning is allowed, use an blob format.
+         */
+        if (fast_provisoning_allowed) {
+            gs_free char *blob_name = NULL;
+
+            blob_name = g_strdup_printf("blob://pac-blob-%s", con_uuid);
+            if (!add_string_val(self, blob_name, "pac_file", FALSE, NULL, error))
+                return FALSE;
+        } else {
+            /* This is only error for EAP-FAST; don't disturb other methods. */
+            if (fast) {
+                g_set_error(error,
+                            NM_SUPPLICANT_ERROR,
+                            NM_SUPPLICANT_ERROR_CONFIG,
+                            "EAP-FAST error: no PAC file provided and "
+                            "automatic PAC provisioning is disabled");
+                return FALSE;
+            }
+        }
+    }
+
+    /* If user wants to use system CA certs, either populate ca_path (if the path
+     * is a directory) or ca_cert (the path is a file name) */
+    if (nm_setting_802_1x_get_system_ca_certs(setting)) {
+        if (g_file_test(SYSTEM_CA_PATH, G_FILE_TEST_IS_DIR))
+            ca_path_override = SYSTEM_CA_PATH;
+        else
+            ca_cert_override = SYSTEM_CA_PATH;
+    }
+
+    /* CA path */
+    path = nm_setting_802_1x_get_ca_path(setting);
+    path = ca_path_override ?: path;
+    if (path) {
+        if (!add_string_val(self, path, "ca_path", FALSE, NULL, error))
+            return FALSE;
+    }
+
+    /* Phase2 CA path */
+    path = nm_setting_802_1x_get_phase2_ca_path(setting);
+    path = ca_path_override ?: path;
+    if (path) {
+        if (!add_string_val(self, path, "ca_path2", FALSE, NULL, error))
+            return FALSE;
+    }
+
+    /* CA certificate */
+    if (ca_cert_override) {
+        if (!add_string_val(self, ca_cert_override, "ca_cert", FALSE, NULL, error))
+            return FALSE;
+    } else {
+        switch (nm_setting_802_1x_get_ca_cert_scheme(setting)) {
+        case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+            bytes = nm_setting_802_1x_get_ca_cert_blob(setting);
+            if (!nm_supplicant_config_add_blob_for_connection(self,
+                                                              bytes,
+                                                              "ca_cert",
+                                                              con_uuid,
+                                                              error))
+                return FALSE;
+            break;
+        case NM_SETTING_802_1X_CK_SCHEME_PATH:
+            path = nm_setting_802_1x_get_ca_cert_path(setting);
+            if (!add_string_val(self, path, "ca_cert", FALSE, NULL, error))
+                return FALSE;
+            break;
+        case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+            if (!add_pkcs11_uri_with_pin(self,
+                                         "ca_cert",
+                                         nm_setting_802_1x_get_ca_cert_uri(setting),
+                                         nm_setting_802_1x_get_ca_cert_password(setting),
+                                         nm_setting_802_1x_get_ca_cert_password_flags(setting),
+                                         error)) {
+                return FALSE;
+            }
+            break;
+        default:
+            break;
+        }
+    }
+
+    /* Phase 2 CA certificate */
+    if (ca_cert_override) {
+        if (!add_string_val(self, ca_cert_override, "ca_cert2", FALSE, NULL, error))
+            return FALSE;
+    } else {
+        switch (nm_setting_802_1x_get_phase2_ca_cert_scheme(setting)) {
+        case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+            bytes = nm_setting_802_1x_get_phase2_ca_cert_blob(setting);
+            if (!nm_supplicant_config_add_blob_for_connection(self,
+                                                              bytes,
+                                                              "ca_cert2",
+                                                              con_uuid,
+                                                              error))
+                return FALSE;
+            break;
+        case NM_SETTING_802_1X_CK_SCHEME_PATH:
+            path = nm_setting_802_1x_get_phase2_ca_cert_path(setting);
+            if (!add_string_val(self, path, "ca_cert2", FALSE, NULL, error))
+                return FALSE;
+            break;
+        case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+            if (!add_pkcs11_uri_with_pin(
+                    self,
+                    "ca_cert2",
+                    nm_setting_802_1x_get_phase2_ca_cert_uri(setting),
+                    nm_setting_802_1x_get_phase2_ca_cert_password(setting),
+                    nm_setting_802_1x_get_phase2_ca_cert_password_flags(setting),
+                    error)) {
+                return FALSE;
+            }
+            break;
+        default:
+            break;
+        }
+    }
+
+    /* Subject match */
+    value = nm_setting_802_1x_get_subject_match(setting);
+    if (!add_string_val(self, value, "subject_match", FALSE, NULL, error))
+        return FALSE;
+    value = nm_setting_802_1x_get_phase2_subject_match(setting);
+    if (!add_string_val(self, value, "subject_match2", FALSE, NULL, error))
+        return FALSE;
+
+    /* altSubjectName match */
+    if (!ADD_STRING_LIST_VAL(self,
+                             setting,
+                             802_1x,
+                             altsubject_match,
+                             altsubject_matches,
+                             "altsubject_match",
+                             ';',
+                             FALSE,
+                             NULL,
+                             error))
+        return FALSE;
+    if (!ADD_STRING_LIST_VAL(self,
+                             setting,
+                             802_1x,
+                             phase2_altsubject_match,
+                             phase2_altsubject_matches,
+                             "altsubject_match2",
+                             ';',
+                             FALSE,
+                             NULL,
+                             error))
+        return FALSE;
+
+    /* Domain suffix match */
+    value = nm_setting_802_1x_get_domain_suffix_match(setting);
+    if (!add_string_val(self, value, "domain_suffix_match", FALSE, NULL, error))
+        return FALSE;
+    value = nm_setting_802_1x_get_phase2_domain_suffix_match(setting);
+    if (!add_string_val(self, value, "domain_suffix_match2", FALSE, NULL, error))
+        return FALSE;
+
+    /* domain match */
+    value = nm_setting_802_1x_get_domain_match(setting);
+    if (!add_string_val(self, value, "domain_match", FALSE, NULL, error))
+        return FALSE;
+    value = nm_setting_802_1x_get_phase2_domain_match(setting);
+    if (!add_string_val(self, value, "domain_match2", FALSE, NULL, error))
+        return FALSE;
+
+    /* Private key */
+    added = FALSE;
+    switch (nm_setting_802_1x_get_private_key_scheme(setting)) {
+    case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+        bytes = nm_setting_802_1x_get_private_key_blob(setting);
+        if (!nm_supplicant_config_add_blob_for_connection(self,
+                                                          bytes,
+                                                          "private_key",
+                                                          con_uuid,
+                                                          error))
+            return FALSE;
+        added = TRUE;
+        break;
+    case NM_SETTING_802_1X_CK_SCHEME_PATH:
+        path = nm_setting_802_1x_get_private_key_path(setting);
+        if (!add_string_val(self, path, "private_key", FALSE, NULL, error))
+            return FALSE;
+        added = TRUE;
+        break;
+    case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+        if (!add_pkcs11_uri_with_pin(self,
+                                     "private_key",
+                                     nm_setting_802_1x_get_private_key_uri(setting),
+                                     nm_setting_802_1x_get_private_key_password(setting),
+                                     nm_setting_802_1x_get_private_key_password_flags(setting),
+                                     error)) {
+            return FALSE;
+        }
+        added = TRUE;
+        break;
+    default:
+        break;
+    }
+
+    if (added) {
+        NMSetting8021xCKFormat format;
+        NMSetting8021xCKScheme scheme;
+
+        format = nm_setting_802_1x_get_private_key_format(setting);
+        scheme = nm_setting_802_1x_get_private_key_scheme(setting);
+
+        if (scheme == NM_SETTING_802_1X_CK_SCHEME_PATH
+            || format == NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
+            /* Only add the private key password for PKCS#12 blobs and
+             * all path schemes, since in both of these cases the private key
+             * isn't decrypted at all.
+             */
+            value = nm_setting_802_1x_get_private_key_password(setting);
+            if (!add_string_val(self, value, "private_key_passwd", FALSE, "<hidden>", error))
+                return FALSE;
+        }
+
+        if (format != NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
+            /* Only add the client cert if the private key is not PKCS#12, as
+             * wpa_supplicant configuration directs us to do.
+             */
+            switch (nm_setting_802_1x_get_client_cert_scheme(setting)) {
+            case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+                bytes = nm_setting_802_1x_get_client_cert_blob(setting);
+                if (!nm_supplicant_config_add_blob_for_connection(self,
+                                                                  bytes,
+                                                                  "client_cert",
+                                                                  con_uuid,
+                                                                  error))
+                    return FALSE;
+                break;
+            case NM_SETTING_802_1X_CK_SCHEME_PATH:
+                path = nm_setting_802_1x_get_client_cert_path(setting);
+                if (!add_string_val(self, path, "client_cert", FALSE, NULL, error))
+                    return FALSE;
+                break;
+            case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+                if (!add_pkcs11_uri_with_pin(
+                        self,
+                        "client_cert",
+                        nm_setting_802_1x_get_client_cert_uri(setting),
+                        nm_setting_802_1x_get_client_cert_password(setting),
+                        nm_setting_802_1x_get_client_cert_password_flags(setting),
+                        error)) {
+                    return FALSE;
+                }
+                break;
+            default:
+                break;
+            }
+        }
+    }
+
+    /* Phase 2 private key */
+    added = FALSE;
+    switch (nm_setting_802_1x_get_phase2_private_key_scheme(setting)) {
+    case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+        bytes = nm_setting_802_1x_get_phase2_private_key_blob(setting);
+        if (!nm_supplicant_config_add_blob_for_connection(self,
+                                                          bytes,
+                                                          "private_key2",
+                                                          con_uuid,
+                                                          error))
+            return FALSE;
+        added = TRUE;
+        break;
+    case NM_SETTING_802_1X_CK_SCHEME_PATH:
+        path = nm_setting_802_1x_get_phase2_private_key_path(setting);
+        if (!add_string_val(self, path, "private_key2", FALSE, NULL, error))
+            return FALSE;
+        added = TRUE;
+        break;
+    case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+        if (!add_pkcs11_uri_with_pin(
+                self,
+                "private_key2",
+                nm_setting_802_1x_get_phase2_private_key_uri(setting),
+                nm_setting_802_1x_get_phase2_private_key_password(setting),
+                nm_setting_802_1x_get_phase2_private_key_password_flags(setting),
+                error)) {
+            return FALSE;
+        }
+        added = TRUE;
+        break;
+    default:
+        break;
+    }
+
+    if (added) {
+        NMSetting8021xCKFormat format;
+        NMSetting8021xCKScheme scheme;
+
+        format = nm_setting_802_1x_get_phase2_private_key_format(setting);
+        scheme = nm_setting_802_1x_get_phase2_private_key_scheme(setting);
+
+        if (scheme == NM_SETTING_802_1X_CK_SCHEME_PATH
+            || format == NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
+            /* Only add the private key password for PKCS#12 blobs and
+             * all path schemes, since in both of these cases the private key
+             * isn't decrypted at all.
+             */
+            value = nm_setting_802_1x_get_phase2_private_key_password(setting);
+            if (!add_string_val(self, value, "private_key2_passwd", FALSE, "<hidden>", error))
+                return FALSE;
+        }
+
+        if (format != NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
+            /* Only add the client cert if the private key is not PKCS#12, as
+             * wpa_supplicant configuration directs us to do.
+             */
+            switch (nm_setting_802_1x_get_phase2_client_cert_scheme(setting)) {
+            case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+                bytes = nm_setting_802_1x_get_phase2_client_cert_blob(setting);
+                if (!nm_supplicant_config_add_blob_for_connection(self,
+                                                                  bytes,
+                                                                  "client_cert2",
+                                                                  con_uuid,
+                                                                  error))
+                    return FALSE;
+                break;
+            case NM_SETTING_802_1X_CK_SCHEME_PATH:
+                path = nm_setting_802_1x_get_phase2_client_cert_path(setting);
+                if (!add_string_val(self, path, "client_cert2", FALSE, NULL, error))
+                    return FALSE;
+                break;
+            case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+                if (!add_pkcs11_uri_with_pin(
+                        self,
+                        "client_cert2",
+                        nm_setting_802_1x_get_phase2_client_cert_uri(setting),
+                        nm_setting_802_1x_get_phase2_client_cert_password(setting),
+                        nm_setting_802_1x_get_phase2_client_cert_password_flags(setting),
+                        error)) {
+                    return FALSE;
+                }
+                break;
+            default:
+                break;
+            }
+        }
+    }
+
+    value = nm_setting_802_1x_get_identity(setting);
+    if (!add_string_val(self, value, "identity", FALSE, NULL, error))
+        return FALSE;
+    value = nm_setting_802_1x_get_anonymous_identity(setting);
+    if (!add_string_val(self, value, "anonymous_identity", FALSE, NULL, error))
+        return FALSE;
+
+    return TRUE;
 }
 
 gboolean
-nm_supplicant_config_add_setting_8021x (NMSupplicantConfig *self,
-                                        NMSetting8021x *setting,
-                                        const char *con_uuid,
-                                        guint32 mtu,
-                                        gboolean wired,
-                                        GError **error)
+nm_supplicant_config_add_no_security(NMSupplicantConfig *self, GError **error)
 {
-	NMSupplicantConfigPrivate *priv;
-	char *tmp;
-	const char *peapver, *value, *path;
-	gboolean added;
-	GString *phase1, *phase2;
-	GBytes *bytes;
-	gboolean fast = FALSE;
-	guint32 i, num_eap;
-	gboolean fast_provisoning_allowed = FALSE;
-	const char *ca_path_override = NULL, *ca_cert_override = NULL;
-	guint32 frag, hdrs;
-	gs_free char *frag_str = NULL;
-	NMSetting8021xAuthFlags phase1_auth_flags;
-	nm_auto_free_gstring GString *eap_str = NULL;
-
-	g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), FALSE);
-	g_return_val_if_fail (setting != NULL, FALSE);
-	g_return_val_if_fail (con_uuid != NULL, FALSE);
-
-	priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE (self);
-
-	value = nm_setting_802_1x_get_password (setting);
-	if (value) {
-		if (!add_string_val (self, value, "password", FALSE, "<hidden>", error))
-			return FALSE;
-	} else {
-		bytes = nm_setting_802_1x_get_password_raw (setting);
-		if (bytes) {
-			if (!nm_supplicant_config_add_option (self,
-			                                      "password",
-			                                      (const char *) g_bytes_get_data (bytes, NULL),
-			                                      g_bytes_get_size (bytes),
-			                                      "<hidden>",
-			                                      error))
-				return FALSE;
-		}
-	}
-	value = nm_setting_802_1x_get_pin (setting);
-	if (!add_string_val (self, value, "pin", FALSE, "<hidden>", error))
-		return FALSE;
-
-	if (wired) {
-		if (!add_string_val (self, "IEEE8021X", "key_mgmt", FALSE, NULL, error))
-			return FALSE;
-		/* Wired 802.1x must always use eapol_flags=0 */
-		if (!add_string_val (self, "0", "eapol_flags", FALSE, NULL, error))
-			return FALSE;
-		priv->ap_scan = 0;
-	}
-
-	/* Build the "eap" option string while we check for EAP methods needing
-	 * special handling: PEAP + GTC, FAST, external */
-	eap_str = g_string_new (NULL);
-	num_eap = nm_setting_802_1x_get_num_eap_methods (setting);
-	for (i = 0; i < num_eap; i++) {
-		const char *method = nm_setting_802_1x_get_eap_method (setting, i);
-
-		if (nm_streq (method, "fast")) {
-			fast = TRUE;
-			priv->fast_required = TRUE;
-		}
-
-		if (nm_streq (method, "external")) {
-			if (num_eap == 1) {
-				g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-				             "Connection settings managed externally to NM, connection"
-				             " cannot be used with wpa_supplicant");
-				return FALSE;
-			}
-			continue;
-		}
-
-		if (eap_str->len)
-			g_string_append_c (eap_str, ' ');
-		g_string_append (eap_str, method);
-	}
-
-	g_string_ascii_up (eap_str);
-	if (   eap_str->len
-	    && !nm_supplicant_config_add_option (self, "eap", eap_str->str, -1, NULL, error))
-		return FALSE;
-
-	/* Adjust the fragment size according to MTU, but do not set it higher than 1280-14
-	 * for better compatibility */
-	hdrs = 14; /* EAPOL + EAP-TLS */
-	frag = 1280 - hdrs;
-	if (mtu > hdrs)
-		frag = CLAMP (mtu - hdrs, 100, frag);
-	frag_str = g_strdup_printf ("%u", frag);
-
-	if (!nm_supplicant_config_add_option (self, "fragment_size", frag_str, -1, NULL, error))
-		return FALSE;
-
-	phase1 = g_string_new (NULL);
-	peapver = nm_setting_802_1x_get_phase1_peapver (setting);
-	if (peapver) {
-		if (!strcmp (peapver, "0"))
-			g_string_append (phase1, "peapver=0");
-		else if (!strcmp (peapver, "1"))
-			g_string_append (phase1, "peapver=1");
-	}
-
-	if (nm_setting_802_1x_get_phase1_peaplabel (setting)) {
-		if (phase1->len)
-			g_string_append_c (phase1, ' ');
-		g_string_append_printf (phase1, "peaplabel=%s", nm_setting_802_1x_get_phase1_peaplabel (setting));
-	}
-
-	value = nm_setting_802_1x_get_phase1_fast_provisioning (setting);
-	if (value) {
-		if (phase1->len)
-			g_string_append_c (phase1, ' ');
-		g_string_append_printf (phase1, "fast_provisioning=%s", value);
-
-		if (strcmp (value, "0") != 0)
-			fast_provisoning_allowed = TRUE;
-	}
-
-	phase1_auth_flags = nm_setting_802_1x_get_phase1_auth_flags (setting);
-	if (NM_FLAGS_HAS (phase1_auth_flags, NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_0_DISABLE))
-		g_string_append_printf (phase1, "%stls_disable_tlsv1_0=1", (phase1->len ? " " : ""));
-	if (NM_FLAGS_HAS (phase1_auth_flags, NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_1_DISABLE))
-		g_string_append_printf (phase1, "%stls_disable_tlsv1_1=1", (phase1->len ? " " : ""));
-	if (NM_FLAGS_HAS (phase1_auth_flags, NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_2_DISABLE))
-		g_string_append_printf (phase1, "%stls_disable_tlsv1_2=1", (phase1->len ? " " : ""));
-
-	if (phase1->len) {
-		if (!add_string_val (self, phase1->str, "phase1", FALSE, NULL, error)) {
-			g_string_free (phase1, TRUE);
-			return FALSE;
-		}
-	}
-	g_string_free (phase1, TRUE);
-
-	phase2 = g_string_new (NULL);
-	if (nm_setting_802_1x_get_phase2_auth (setting) && !fast_provisoning_allowed) {
-		tmp = g_ascii_strup (nm_setting_802_1x_get_phase2_auth (setting), -1);
-		g_string_append_printf (phase2, "auth=%s", tmp);
-		g_free (tmp);
-	}
-
-	if (nm_setting_802_1x_get_phase2_autheap (setting)) {
-		if (phase2->len)
-			g_string_append_c (phase2, ' ');
-		tmp = g_ascii_strup (nm_setting_802_1x_get_phase2_autheap (setting), -1);
-		g_string_append_printf (phase2, "autheap=%s", tmp);
-		g_free (tmp);
-	}
-
-	if (phase2->len) {
-		if (!add_string_val (self, phase2->str, "phase2", FALSE, NULL, error)) {
-			g_string_free (phase2, TRUE);
-			return FALSE;
-		}
-	}
-	g_string_free (phase2, TRUE);
-
-	/* PAC file */
-	path = nm_setting_802_1x_get_pac_file (setting);
-	if (path) {
-		if (!add_string_val (self, path, "pac_file", FALSE, NULL, error))
-			return FALSE;
-	} else {
-		/* PAC file is not specified.
-		 * If provisioning is allowed, use an blob format.
-		 */
-		if (fast_provisoning_allowed) {
-			gs_free char *blob_name = NULL;
-
-			blob_name = g_strdup_printf ("blob://pac-blob-%s", con_uuid);
-			if (!add_string_val (self, blob_name, "pac_file", FALSE, NULL, error))
-				return FALSE;
-		} else {
-			/* This is only error for EAP-FAST; don't disturb other methods. */
-			if (fast) {
-				g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-				             "EAP-FAST error: no PAC file provided and "
-				             "automatic PAC provisioning is disabled");
-				return FALSE;
-			}
-		}
-	}
-
-	/* If user wants to use system CA certs, either populate ca_path (if the path
-	 * is a directory) or ca_cert (the path is a file name) */
-	if (nm_setting_802_1x_get_system_ca_certs (setting)) {
-		if (g_file_test (SYSTEM_CA_PATH, G_FILE_TEST_IS_DIR))
-			ca_path_override = SYSTEM_CA_PATH;
-		else
-			ca_cert_override = SYSTEM_CA_PATH;
-	}
-
-	/* CA path */
-	path = nm_setting_802_1x_get_ca_path (setting);
-	path = ca_path_override ?: path;
-	if (path) {
-		if (!add_string_val (self, path, "ca_path", FALSE, NULL, error))
-			return FALSE;
-	}
-
-	/* Phase2 CA path */
-	path = nm_setting_802_1x_get_phase2_ca_path (setting);
-	path = ca_path_override ?: path;
-	if (path) {
-		if (!add_string_val (self, path, "ca_path2", FALSE, NULL, error))
-			return FALSE;
-	}
-
-	/* CA certificate */
-	if (ca_cert_override) {
-		if (!add_string_val (self, ca_cert_override, "ca_cert", FALSE, NULL, error))
-			return FALSE;
-	} else {
-		switch (nm_setting_802_1x_get_ca_cert_scheme (setting)) {
-		case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-			bytes = nm_setting_802_1x_get_ca_cert_blob (setting);
-			if (!nm_supplicant_config_add_blob_for_connection (self, bytes, "ca_cert", con_uuid, error))
-				return FALSE;
-			break;
-		case NM_SETTING_802_1X_CK_SCHEME_PATH:
-			path = nm_setting_802_1x_get_ca_cert_path (setting);
-			if (!add_string_val (self, path, "ca_cert", FALSE, NULL, error))
-				return FALSE;
-			break;
-		case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-			if (!add_pkcs11_uri_with_pin (self, "ca_cert",
-			                              nm_setting_802_1x_get_ca_cert_uri (setting),
-			                              nm_setting_802_1x_get_ca_cert_password (setting),
-			                              nm_setting_802_1x_get_ca_cert_password_flags (setting),
-			                              error)) {
-				return FALSE;
-			}
-			break;
-		default:
-			break;
-		}
-	}
-
-	/* Phase 2 CA certificate */
-	if (ca_cert_override) {
-		if (!add_string_val (self, ca_cert_override, "ca_cert2", FALSE, NULL, error))
-			return FALSE;
-	} else {
-		switch (nm_setting_802_1x_get_phase2_ca_cert_scheme (setting)) {
-		case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-			bytes = nm_setting_802_1x_get_phase2_ca_cert_blob (setting);
-			if (!nm_supplicant_config_add_blob_for_connection (self, bytes, "ca_cert2", con_uuid, error))
-				return FALSE;
-			break;
-		case NM_SETTING_802_1X_CK_SCHEME_PATH:
-			path = nm_setting_802_1x_get_phase2_ca_cert_path (setting);
-			if (!add_string_val (self, path, "ca_cert2", FALSE, NULL, error))
-				return FALSE;
-			break;
-		case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-			if (!add_pkcs11_uri_with_pin (self, "ca_cert2",
-			                              nm_setting_802_1x_get_phase2_ca_cert_uri (setting),
-			                              nm_setting_802_1x_get_phase2_ca_cert_password (setting),
-			                              nm_setting_802_1x_get_phase2_ca_cert_password_flags (setting),
-			                              error)) {
-				return FALSE;
-			}
-			break;
-		default:
-			break;
-		}
-	}
-
-	/* Subject match */
-	value = nm_setting_802_1x_get_subject_match (setting);
-	if (!add_string_val (self, value, "subject_match", FALSE, NULL, error))
-		return FALSE;
-	value = nm_setting_802_1x_get_phase2_subject_match (setting);
-	if (!add_string_val (self, value, "subject_match2", FALSE, NULL, error))
-		return FALSE;
-
-	/* altSubjectName match */
-	if (!ADD_STRING_LIST_VAL (self, setting, 802_1x, altsubject_match, altsubject_matches, "altsubject_match", ';', FALSE, NULL, error))
-		return FALSE;
-	if (!ADD_STRING_LIST_VAL (self, setting, 802_1x, phase2_altsubject_match, phase2_altsubject_matches, "altsubject_match2", ';', FALSE, NULL, error))
-		return FALSE;
-
-	/* Domain suffix match */
-	value = nm_setting_802_1x_get_domain_suffix_match (setting);
-	if (!add_string_val (self, value, "domain_suffix_match", FALSE, NULL, error))
-		return FALSE;
-	value = nm_setting_802_1x_get_phase2_domain_suffix_match (setting);
-	if (!add_string_val (self, value, "domain_suffix_match2", FALSE, NULL, error))
-		return FALSE;
-
-	/* domain match */
-	value = nm_setting_802_1x_get_domain_match (setting);
-	if (!add_string_val (self, value, "domain_match", FALSE, NULL, error))
-		return FALSE;
-	value = nm_setting_802_1x_get_phase2_domain_match (setting);
-	if (!add_string_val (self, value, "domain_match2", FALSE, NULL, error))
-		return FALSE;
-
-	/* Private key */
-	added = FALSE;
-	switch (nm_setting_802_1x_get_private_key_scheme (setting)) {
-	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-		bytes = nm_setting_802_1x_get_private_key_blob (setting);
-		if (!nm_supplicant_config_add_blob_for_connection (self, bytes, "private_key", con_uuid, error))
-			return FALSE;
-		added = TRUE;
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PATH:
-		path = nm_setting_802_1x_get_private_key_path (setting);
-		if (!add_string_val (self, path, "private_key", FALSE, NULL, error))
-			return FALSE;
-		added = TRUE;
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-		if (!add_pkcs11_uri_with_pin (self, "private_key",
-		                              nm_setting_802_1x_get_private_key_uri (setting),
-		                              nm_setting_802_1x_get_private_key_password (setting),
-		                              nm_setting_802_1x_get_private_key_password_flags (setting),
-		                              error)) {
-			return FALSE;
-		}
-		added = TRUE;
-		break;
-	default:
-		break;
-	}
-
-	if (added) {
-		NMSetting8021xCKFormat format;
-		NMSetting8021xCKScheme scheme;
-
-		format = nm_setting_802_1x_get_private_key_format (setting);
-		scheme = nm_setting_802_1x_get_private_key_scheme (setting);
-
-		if (   scheme == NM_SETTING_802_1X_CK_SCHEME_PATH
-		    || format == NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
-			/* Only add the private key password for PKCS#12 blobs and
-			 * all path schemes, since in both of these cases the private key
-			 * isn't decrypted at all.
-			 */
-			value = nm_setting_802_1x_get_private_key_password (setting);
-			if (!add_string_val (self, value, "private_key_passwd", FALSE, "<hidden>", error))
-				return FALSE;
-		}
-
-		if (format != NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
-			/* Only add the client cert if the private key is not PKCS#12, as
-			 * wpa_supplicant configuration directs us to do.
-			 */
-			switch (nm_setting_802_1x_get_client_cert_scheme (setting)) {
-			case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-				bytes = nm_setting_802_1x_get_client_cert_blob (setting);
-				if (!nm_supplicant_config_add_blob_for_connection (self, bytes, "client_cert", con_uuid, error))
-					return FALSE;
-				break;
-			case NM_SETTING_802_1X_CK_SCHEME_PATH:
-				path = nm_setting_802_1x_get_client_cert_path (setting);
-				if (!add_string_val (self, path, "client_cert", FALSE, NULL, error))
-					return FALSE;
-				break;
-			case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-				if (!add_pkcs11_uri_with_pin (self, "client_cert",
-				                              nm_setting_802_1x_get_client_cert_uri (setting),
-				                              nm_setting_802_1x_get_client_cert_password (setting),
-				                              nm_setting_802_1x_get_client_cert_password_flags (setting),
-				                              error)) {
-					return FALSE;
-				}
-				break;
-			default:
-				break;
-			}
-		}
-	}
-
-	/* Phase 2 private key */
-	added = FALSE;
-	switch (nm_setting_802_1x_get_phase2_private_key_scheme (setting)) {
-	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-		bytes = nm_setting_802_1x_get_phase2_private_key_blob (setting);
-		if (!nm_supplicant_config_add_blob_for_connection (self, bytes, "private_key2", con_uuid, error))
-			return FALSE;
-		added = TRUE;
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PATH:
-		path = nm_setting_802_1x_get_phase2_private_key_path (setting);
-		if (!add_string_val (self, path, "private_key2", FALSE, NULL, error))
-			return FALSE;
-		added = TRUE;
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-		if (!add_pkcs11_uri_with_pin (self, "private_key2",
-		                              nm_setting_802_1x_get_phase2_private_key_uri (setting),
-		                              nm_setting_802_1x_get_phase2_private_key_password (setting),
-		                              nm_setting_802_1x_get_phase2_private_key_password_flags (setting),
-		                              error)) {
-			return FALSE;
-		}
-		added = TRUE;
-		break;
-	default:
-		break;
-	}
-
-	if (added) {
-		NMSetting8021xCKFormat format;
-		NMSetting8021xCKScheme scheme;
-
-		format = nm_setting_802_1x_get_phase2_private_key_format (setting);
-		scheme = nm_setting_802_1x_get_phase2_private_key_scheme (setting);
-
-		if (   scheme == NM_SETTING_802_1X_CK_SCHEME_PATH
-		    || format == NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
-			/* Only add the private key password for PKCS#12 blobs and
-			 * all path schemes, since in both of these cases the private key
-			 * isn't decrypted at all.
-			 */
-			value = nm_setting_802_1x_get_phase2_private_key_password (setting);
-			if (!add_string_val (self, value, "private_key2_passwd", FALSE, "<hidden>", error))
-				return FALSE;
-		}
-
-		if (format != NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
-			/* Only add the client cert if the private key is not PKCS#12, as
-			 * wpa_supplicant configuration directs us to do.
-			 */
-			switch (nm_setting_802_1x_get_phase2_client_cert_scheme (setting)) {
-			case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-				bytes = nm_setting_802_1x_get_phase2_client_cert_blob (setting);
-				if (!nm_supplicant_config_add_blob_for_connection (self, bytes, "client_cert2", con_uuid, error))
-					return FALSE;
-				break;
-			case NM_SETTING_802_1X_CK_SCHEME_PATH:
-				path = nm_setting_802_1x_get_phase2_client_cert_path (setting);
-				if (!add_string_val (self, path, "client_cert2", FALSE, NULL, error))
-					return FALSE;
-				break;
-			case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-				if (!add_pkcs11_uri_with_pin (self, "client_cert2",
-				                              nm_setting_802_1x_get_phase2_client_cert_uri (setting),
-				                              nm_setting_802_1x_get_phase2_client_cert_password (setting),
-				                              nm_setting_802_1x_get_phase2_client_cert_password_flags (setting),
-				                              error)) {
-					return FALSE;
-				}
-				break;
-			default:
-				break;
-			}
-		}
-	}
-
-	value = nm_setting_802_1x_get_identity (setting);
-	if (!add_string_val (self, value, "identity", FALSE, NULL, error))
-		return FALSE;
-	value = nm_setting_802_1x_get_anonymous_identity (setting);
-	if (!add_string_val (self, value, "anonymous_identity", FALSE, NULL, error))
-		return FALSE;
-
-	return TRUE;
+    return nm_supplicant_config_add_option(self, "key_mgmt", "NONE", -1, NULL, error);
 }
 
 gboolean
-nm_supplicant_config_add_no_security (NMSupplicantConfig *self, GError **error)
+nm_supplicant_config_get_ap_isolation(NMSupplicantConfig *self)
 {
-	return nm_supplicant_config_add_option (self, "key_mgmt", "NONE", -1, NULL, error);
+    return self->_priv.ap_isolation;
 }
 
+void
+nm_supplicant_config_set_ap_isolation(NMSupplicantConfig *self, gboolean ap_isolation)
+{
+    self->_priv.ap_isolation = ap_isolation;
+}
diff --git a/src/supplicant/nm-supplicant-config.h b/src/supplicant/nm-supplicant-config.h
index e1da9a1e..21f1e0dc 100644
--- a/src/supplicant/nm-supplicant-config.h
+++ b/src/supplicant/nm-supplicant-config.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2006 - 2012 Red Hat, Inc.
  * Copyright (C) 2007 - 2008 Novell, Inc.
@@ -14,59 +14,64 @@
 
 #include "nm-supplicant-types.h"
 
-#define NM_TYPE_SUPPLICANT_CONFIG            (nm_supplicant_config_get_type ())
-#define NM_SUPPLICANT_CONFIG(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SUPPLICANT_CONFIG, NMSupplicantConfig))
-#define NM_SUPPLICANT_CONFIG_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  NM_TYPE_SUPPLICANT_CONFIG, NMSupplicantConfigClass))
-#define NM_IS_SUPPLICANT_CONFIG(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SUPPLICANT_CONFIG))
-#define NM_IS_SUPPLICANT_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),  NM_TYPE_SUPPLICANT_CONFIG))
-#define NM_SUPPLICANT_CONFIG_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),  NM_TYPE_SUPPLICANT_CONFIG, NMSupplicantConfigClass))
+#define NM_TYPE_SUPPLICANT_CONFIG (nm_supplicant_config_get_type())
+#define NM_SUPPLICANT_CONFIG(obj) \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_SUPPLICANT_CONFIG, NMSupplicantConfig))
+#define NM_SUPPLICANT_CONFIG_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_SUPPLICANT_CONFIG, NMSupplicantConfigClass))
+#define NM_IS_SUPPLICANT_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_SUPPLICANT_CONFIG))
+#define NM_IS_SUPPLICANT_CONFIG_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_SUPPLICANT_CONFIG))
+#define NM_SUPPLICANT_CONFIG_GET_CLASS(obj) \
+    (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_SUPPLICANT_CONFIG, NMSupplicantConfigClass))
 
 typedef struct _NMSupplicantConfigClass NMSupplicantConfigClass;
 
-GType nm_supplicant_config_get_type (void);
+GType nm_supplicant_config_get_type(void);
 
-NMSupplicantConfig *nm_supplicant_config_new (NMSupplCapMask capabilities);
+NMSupplicantConfig *nm_supplicant_config_new(NMSupplCapMask capabilities);
 
-guint32 nm_supplicant_config_get_ap_scan (NMSupplicantConfig *self);
+guint32 nm_supplicant_config_get_ap_scan(NMSupplicantConfig *self);
 
-gboolean nm_supplicant_config_fast_required (NMSupplicantConfig *self);
+gboolean nm_supplicant_config_fast_required(NMSupplicantConfig *self);
 
-GVariant *nm_supplicant_config_to_variant (NMSupplicantConfig *self);
+GVariant *nm_supplicant_config_to_variant(NMSupplicantConfig *self);
 
-GHashTable *nm_supplicant_config_get_blobs (NMSupplicantConfig *self);
+GHashTable *nm_supplicant_config_get_blobs(NMSupplicantConfig *self);
 
-gboolean nm_supplicant_config_add_setting_wireless (NMSupplicantConfig *self,
-                                                    NMSettingWireless *setting,
-                                                    guint32 fixed_freq,
-                                                    GError **error);
+gboolean nm_supplicant_config_add_setting_wireless(NMSupplicantConfig *self,
+                                                   NMSettingWireless * setting,
+                                                   guint32             fixed_freq,
+                                                   GError **           error);
 
-gboolean nm_supplicant_config_add_bgscan           (NMSupplicantConfig *self,
-                                                    NMConnection *connection,
-                                                    GError **error);
+gboolean
+nm_supplicant_config_add_bgscan(NMSupplicantConfig *self, NMConnection *connection, GError **error);
 
-gboolean nm_supplicant_config_add_setting_wireless_security (NMSupplicantConfig *self,
-                                                             NMSettingWirelessSecurity *setting,
-                                                             NMSetting8021x *setting_8021x,
-                                                             const char *con_uuid,
-                                                             guint32 mtu,
-                                                             NMSettingWirelessSecurityPmf pmf,
-                                                             NMSettingWirelessSecurityFils fils,
-                                                             GError **error);
+gboolean nm_supplicant_config_add_setting_wireless_security(NMSupplicantConfig *       self,
+                                                            NMSettingWirelessSecurity *setting,
+                                                            NMSetting8021x *setting_8021x,
+                                                            const char *    con_uuid,
+                                                            guint32         mtu,
+                                                            NMSettingWirelessSecurityPmf  pmf,
+                                                            NMSettingWirelessSecurityFils fils,
+                                                            GError **                     error);
 
-gboolean nm_supplicant_config_add_no_security (NMSupplicantConfig *self,
-                                               GError **error);
+gboolean nm_supplicant_config_add_no_security(NMSupplicantConfig *self, GError **error);
 
-gboolean nm_supplicant_config_add_setting_8021x (NMSupplicantConfig *self,
-                                                 NMSetting8021x *setting,
-                                                 const char *con_uuid,
-                                                 guint32 mtu,
-                                                 gboolean wired,
-                                                 GError **error);
+gboolean nm_supplicant_config_add_setting_8021x(NMSupplicantConfig *self,
+                                                NMSetting8021x *    setting,
+                                                const char *        con_uuid,
+                                                guint32             mtu,
+                                                gboolean            wired,
+                                                GError **           error);
 
-gboolean nm_supplicant_config_add_setting_macsec (NMSupplicantConfig *self,
-                                                  NMSettingMacsec *setting,
-                                                  GError **error);
+gboolean nm_supplicant_config_add_setting_macsec(NMSupplicantConfig *self,
+                                                 NMSettingMacsec *   setting,
+                                                 GError **           error);
+
+gboolean nm_supplicant_config_enable_pmf_akm(NMSupplicantConfig *self, GError **error);
+
+void     nm_supplicant_config_set_ap_isolation(NMSupplicantConfig *self, gboolean ap_isolation);
+gboolean nm_supplicant_config_get_ap_isolation(NMSupplicantConfig *self);
 
-gboolean nm_supplicant_config_enable_pmf_akm (NMSupplicantConfig *self,
-                                              GError **error);
 #endif /* __NETWORKMANAGER_SUPPLICANT_CONFIG_H__ */
diff --git a/src/supplicant/nm-supplicant-interface.c b/src/supplicant/nm-supplicant-interface.c
index 3dda0fbf..1f6252f6 100644
--- a/src/supplicant/nm-supplicant-interface.c
+++ b/src/supplicant/nm-supplicant-interface.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2006 - 2017 Red Hat, Inc.
  * Copyright (C) 2006 - 2008 Novell, Inc.
@@ -24,285 +24,285 @@
 /*****************************************************************************/
 
 typedef struct {
-	NMSupplicantInterface *self;
-	char *type;
-	char *bssid;
-	char *pin;
-	guint signal_id;
-	GCancellable *cancellable;
-	bool needs_cancelling:1;
-	bool is_cancelling:1;
+    NMSupplicantInterface *self;
+    char *                 type;
+    char *                 bssid;
+    char *                 pin;
+    guint                  signal_id;
+    GCancellable *         cancellable;
+    bool                   needs_cancelling : 1;
+    bool                   is_cancelling : 1;
 } WpsData;
 
 struct _AddNetworkData;
 
 typedef struct {
-	NMSupplicantInterface *self;
-	NMSupplicantConfig *cfg;
-	GCancellable *cancellable;
-	NMSupplicantInterfaceAssocCb callback;
-	gpointer user_data;
-	guint fail_on_idle_id;
-	guint blobs_left;
-	struct _AddNetworkData *add_network_data;
+    NMSupplicantInterface *      self;
+    NMSupplicantConfig *         cfg;
+    GCancellable *               cancellable;
+    NMSupplicantInterfaceAssocCb callback;
+    gpointer                     user_data;
+    guint                        fail_on_idle_id;
+    guint                        blobs_left;
+    guint                        calls_left;
+    struct _AddNetworkData *     add_network_data;
 } AssocData;
 
 typedef struct _AddNetworkData {
-	/* the assoc_data at the time when doing the call. */
-	AssocData *assoc_data;
-	NMRefString *name_owner;
-	NMRefString *object_path;
-	GObject *shutdown_wait_obj;
+    /* the assoc_data at the time when doing the call. */
+    AssocData *  assoc_data;
+    NMRefString *name_owner;
+    NMRefString *object_path;
+    GObject *    shutdown_wait_obj;
 } AddNetworkData;
 
 enum {
-	STATE,                   /* change in the interface's state */
-	BSS_CHANGED,             /* a new BSS appeared, was updated, or was removed. */
-	PEER_CHANGED,            /* a new Peer appeared, was updated, or was removed */
-	WPS_CREDENTIALS,         /* WPS credentials received */
-	GROUP_STARTED,           /* a new Group (interface) was created */
-	GROUP_FINISHED,          /* a Group (interface) has been finished */
-	LAST_SIGNAL
+    STATE,           /* change in the interface's state */
+    BSS_CHANGED,     /* a new BSS appeared, was updated, or was removed. */
+    PEER_CHANGED,    /* a new Peer appeared, was updated, or was removed */
+    WPS_CREDENTIALS, /* WPS credentials received */
+    GROUP_STARTED,   /* a new Group (interface) was created */
+    GROUP_FINISHED,  /* a Group (interface) has been finished */
+    LAST_SIGNAL
 };
 
-static guint signals[LAST_SIGNAL] = { 0 };
-
-NM_GOBJECT_PROPERTIES_DEFINE (NMSupplicantInterface,
-	PROP_SUPPLICANT_MANAGER,
-	PROP_DBUS_OBJECT_PATH,
-	PROP_IFINDEX,
-	PROP_P2P_GROUP_JOINED,
-	PROP_P2P_GROUP_PATH,
-	PROP_P2P_GROUP_OWNER,
-	PROP_SCANNING,
-	PROP_CURRENT_BSS,
-	PROP_DRIVER,
-	PROP_P2P_AVAILABLE,
-	PROP_AUTH_STATE,
-);
+static guint signals[LAST_SIGNAL] = {0};
+
+NM_GOBJECT_PROPERTIES_DEFINE(NMSupplicantInterface,
+                             PROP_SUPPLICANT_MANAGER,
+                             PROP_DBUS_OBJECT_PATH,
+                             PROP_IFINDEX,
+                             PROP_P2P_GROUP_JOINED,
+                             PROP_P2P_GROUP_PATH,
+                             PROP_P2P_GROUP_OWNER,
+                             PROP_SCANNING,
+                             PROP_CURRENT_BSS,
+                             PROP_DRIVER,
+                             PROP_P2P_AVAILABLE,
+                             PROP_AUTH_STATE, );
 
 typedef struct _NMSupplicantInterfacePrivate {
+    NMSupplicantManager *supplicant_manager;
 
-	NMSupplicantManager *supplicant_manager;
+    GDBusConnection *dbus_connection;
+    NMRefString *    name_owner;
+    NMRefString *    object_path;
 
-	GDBusConnection *dbus_connection;
-	NMRefString *name_owner;
-	NMRefString *object_path;
+    char *ifname;
 
-	char          *ifname;
+    GCancellable *main_cancellable;
 
-	GCancellable  *main_cancellable;
+    NMRefString *p2p_group_path;
 
-	NMRefString   *p2p_group_path;
+    GCancellable *p2p_group_properties_cancellable;
 
-	GCancellable  *p2p_group_properties_cancellable;
+    WpsData *wps_data;
 
-	WpsData       *wps_data;
+    AssocData *assoc_data;
 
-	AssocData     *assoc_data;
+    char *net_path;
 
-	char          *net_path;
+    char *driver;
 
-	char          *driver;
+    GHashTable *bss_idx;
+    CList       bss_lst_head;
+    CList       bss_initializing_lst_head;
 
-	GHashTable    *bss_idx;
-	CList          bss_lst_head;
-	CList          bss_initializing_lst_head;
+    NMRefString *current_bss;
 
-	NMRefString   *current_bss;
+    GHashTable *peer_idx;
+    CList       peer_lst_head;
+    CList       peer_initializing_lst_head;
 
-	GHashTable    *peer_idx;
-	CList          peer_lst_head;
-	CList          peer_initializing_lst_head;
+    gint64 last_scan_msec;
 
-	gint64         last_scan_msec;
+    NMSupplicantAuthState auth_state;
 
-	NMSupplicantAuthState auth_state;
+    NMSupplicantDriver requested_driver;
+    NMSupplCapMask     global_capabilities;
+    NMSupplCapMask     iface_capabilities;
 
-	NMSupplicantDriver requested_driver;
-	NMSupplCapMask global_capabilities;
-	NMSupplCapMask iface_capabilities;
+    guint properties_changed_id;
+    guint signal_id;
+    guint bss_properties_changed_id;
+    guint peer_properties_changed_id;
+    guint p2p_group_properties_changed_id;
 
-	guint          properties_changed_id;
-	guint          signal_id;
-	guint          bss_properties_changed_id;
-	guint          peer_properties_changed_id;
-	guint          p2p_group_properties_changed_id;
+    int ifindex;
 
-	int            ifindex;
+    int starting_pending_count;
 
-	int            starting_pending_count;
+    guint32 max_scan_ssids;
 
-	guint32        max_scan_ssids;
+    gint32 disconnect_reason;
 
-	gint32         disconnect_reason;
+    NMSupplicantInterfaceState state;
+    NMSupplicantInterfaceState supp_state;
 
-	NMSupplicantInterfaceState state;
-	NMSupplicantInterfaceState supp_state;
+    bool scanning_property : 1;
+    bool scanning_cached : 1;
 
-	bool           scanning_property:1;
-	bool           scanning_cached:1;
+    bool p2p_capable_property : 1;
+    bool p2p_capable_cached : 1;
 
-	bool           p2p_capable_property:1;
-	bool           p2p_capable_cached:1;
+    bool p2p_group_owner_property : 1;
+    bool p2p_group_owner_cached : 1;
 
-	bool           p2p_group_owner_property:1;
-	bool           p2p_group_owner_cached:1;
+    bool p2p_group_joined_cached : 1;
 
-	bool           p2p_group_joined_cached:1;
+    bool is_ready_main : 1;
+    bool is_ready_p2p_device : 1;
 
-	bool           is_ready_main:1;
-	bool           is_ready_p2p_device:1;
-
-	bool           prop_scan_active:1;
-	bool           prop_scan_ssid:1;
+    bool prop_scan_active : 1;
+    bool prop_scan_ssid : 1;
 
+    bool ap_isolate_supported : 1;
+    bool ap_isolate_needs_reset : 1;
 } NMSupplicantInterfacePrivate;
 
 struct _NMSupplicantInterfaceClass {
-	GObjectClass parent;
+    GObjectClass parent;
 };
 
-G_DEFINE_TYPE (NMSupplicantInterface, nm_supplicant_interface, G_TYPE_OBJECT)
+G_DEFINE_TYPE(NMSupplicantInterface, nm_supplicant_interface, G_TYPE_OBJECT)
 
-#define NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self) _NM_GET_PRIVATE_PTR (self, NMSupplicantInterface, NM_IS_SUPPLICANT_INTERFACE)
+#define NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self) \
+    _NM_GET_PRIVATE_PTR(self, NMSupplicantInterface, NM_IS_SUPPLICANT_INTERFACE)
 
 /*****************************************************************************/
 
 static const char *
-_log_pretty_object_path (NMSupplicantInterfacePrivate *priv)
-{
-	const char *s;
-
-	nm_assert (priv);
-	nm_assert (NM_IS_REF_STRING (priv->object_path));
-
-	s = priv->object_path->str;
-	if (NM_STR_HAS_PREFIX (s, "/fi/w1/wpa_supplicant1/Interfaces/")) {
-		s += NM_STRLEN ("/fi/w1/wpa_supplicant1/Interfaces/");
-		if (   s[0]
-		    && s[0] != '/')
-			return s;
-	}
-	return priv->object_path->str;
-}
-
-#define _NMLOG_DOMAIN           LOGD_SUPPLICANT
-#define _NMLOG_PREFIX_NAME      "sup-iface"
-#define _NMLOG(level, ...) \
-    G_STMT_START { \
-         NMSupplicantInterface *_self = (self); \
-         NMSupplicantInterfacePrivate *_priv = _self ? NM_SUPPLICANT_INTERFACE_GET_PRIVATE (_self) : NULL; \
-         char _sbuf[255]; \
-         const char *_ifname = _priv ? _priv->ifname : NULL; \
-         \
-         nm_log ((level), _NMLOG_DOMAIN, _ifname, NULL, \
-                 "%s%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
-                 _NMLOG_PREFIX_NAME, \
-                 (  _self \
-                  ? nm_sprintf_buf (_sbuf, \
-                                    "["NM_HASH_OBFUSCATE_PTR_FMT",%s,%s]", \
-                                    NM_HASH_OBFUSCATE_PTR (_self), \
-                                    _log_pretty_object_path (_priv), \
-                                    _ifname ?: "???") \
-                  : "") \
-                 _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
-    } G_STMT_END
+_log_pretty_object_path(NMSupplicantInterfacePrivate *priv)
+{
+    const char *s;
+
+    nm_assert(priv);
+    nm_assert(NM_IS_REF_STRING(priv->object_path));
+
+    s = priv->object_path->str;
+    if (NM_STR_HAS_PREFIX(s, "/fi/w1/wpa_supplicant1/Interfaces/")) {
+        s += NM_STRLEN("/fi/w1/wpa_supplicant1/Interfaces/");
+        if (s[0] && s[0] != '/')
+            return s;
+    }
+    return priv->object_path->str;
+}
+
+#define _NMLOG_DOMAIN      LOGD_SUPPLICANT
+#define _NMLOG_PREFIX_NAME "sup-iface"
+#define _NMLOG(level, ...)                                                      \
+    G_STMT_START                                                                \
+    {                                                                           \
+        NMSupplicantInterface *       _self = (self);                           \
+        NMSupplicantInterfacePrivate *_priv =                                   \
+            _self ? NM_SUPPLICANT_INTERFACE_GET_PRIVATE(_self) : NULL;          \
+        char        _sbuf[255];                                                 \
+        const char *_ifname = _priv ? _priv->ifname : NULL;                     \
+                                                                                \
+        nm_log((level),                                                         \
+               _NMLOG_DOMAIN,                                                   \
+               _ifname,                                                         \
+               NULL,                                                            \
+               "%s%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__),                     \
+               _NMLOG_PREFIX_NAME,                                              \
+               (_self ? nm_sprintf_buf(_sbuf,                                   \
+                                       "[" NM_HASH_OBFUSCATE_PTR_FMT ",%s,%s]", \
+                                       NM_HASH_OBFUSCATE_PTR(_self),            \
+                                       _log_pretty_object_path(_priv),          \
+                                       _ifname ?: "???")                        \
+                      : "") _NM_UTILS_MACRO_REST(__VA_ARGS__));                 \
+    }                                                                           \
+    G_STMT_END
 
 /*****************************************************************************/
 
-static void _starting_check_ready (NMSupplicantInterface *self);
+static void _starting_check_ready(NMSupplicantInterface *self);
 
-static void assoc_return (NMSupplicantInterface *self,
-                          GError *error,
-                          const char *message);
+static void assoc_return(NMSupplicantInterface *self, GError *error, const char *message);
 
 /*****************************************************************************/
 
-NM_UTILS_LOOKUP_STR_DEFINE (nm_supplicant_interface_state_to_string, NMSupplicantInterfaceState,
-	NM_UTILS_LOOKUP_DEFAULT_WARN ("internal-unknown"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_INVALID,         "internal-invalid"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_STARTING,        "internal-starting"),
-
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_4WAY_HANDSHAKE,  "4way_handshake"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATED,      "associated"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATING,     "associating"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_AUTHENTICATING,  "authenticating"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_COMPLETED,       "completed"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_DISCONNECTED,    "disconnected"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_GROUP_HANDSHAKE, "group_handshake"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_INACTIVE,        "inactive"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_DISABLED,        "interface_disabled"),
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_SCANNING,        "scanning"),
-
-	NM_UTILS_LOOKUP_STR_ITEM (NM_SUPPLICANT_INTERFACE_STATE_DOWN,            "internal-down"),
-);
-
-static
-NM_UTILS_STRING_TABLE_LOOKUP_DEFINE (
-	wpas_state_string_to_enum,
-	NMSupplicantInterfaceState,
-	{ nm_assert (name); },
-	{ return NM_SUPPLICANT_INTERFACE_STATE_INVALID; },
-	{ "4way_handshake",     NM_SUPPLICANT_INTERFACE_STATE_4WAY_HANDSHAKE  },
-	{ "associated",         NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATED      },
-	{ "associating",        NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATING     },
-	{ "authenticating",     NM_SUPPLICANT_INTERFACE_STATE_AUTHENTICATING  },
-	{ "completed",          NM_SUPPLICANT_INTERFACE_STATE_COMPLETED       },
-	{ "disconnected",       NM_SUPPLICANT_INTERFACE_STATE_DISCONNECTED    },
-	{ "group_handshake",    NM_SUPPLICANT_INTERFACE_STATE_GROUP_HANDSHAKE },
-	{ "inactive",           NM_SUPPLICANT_INTERFACE_STATE_INACTIVE        },
-	{ "interface_disabled", NM_SUPPLICANT_INTERFACE_STATE_DISABLED        },
-	{ "scanning",           NM_SUPPLICANT_INTERFACE_STATE_SCANNING        },
-);
+NM_UTILS_LOOKUP_STR_DEFINE(
+    nm_supplicant_interface_state_to_string,
+    NMSupplicantInterfaceState,
+    NM_UTILS_LOOKUP_DEFAULT_WARN("internal-unknown"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_INVALID, "internal-invalid"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_STARTING, "internal-starting"),
+
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_4WAY_HANDSHAKE, "4way_handshake"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATED, "associated"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATING, "associating"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_AUTHENTICATING, "authenticating"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_COMPLETED, "completed"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_DISCONNECTED, "disconnected"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_GROUP_HANDSHAKE, "group_handshake"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_INACTIVE, "inactive"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_DISABLED, "interface_disabled"),
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_SCANNING, "scanning"),
+
+    NM_UTILS_LOOKUP_STR_ITEM(NM_SUPPLICANT_INTERFACE_STATE_DOWN, "internal-down"), );
+
+static NM_UTILS_STRING_TABLE_LOOKUP_DEFINE(
+    wpas_state_string_to_enum,
+    NMSupplicantInterfaceState,
+    { nm_assert(name); },
+    { return NM_SUPPLICANT_INTERFACE_STATE_INVALID; },
+    {"4way_handshake", NM_SUPPLICANT_INTERFACE_STATE_4WAY_HANDSHAKE},
+    {"associated", NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATED},
+    {"associating", NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATING},
+    {"authenticating", NM_SUPPLICANT_INTERFACE_STATE_AUTHENTICATING},
+    {"completed", NM_SUPPLICANT_INTERFACE_STATE_COMPLETED},
+    {"disconnected", NM_SUPPLICANT_INTERFACE_STATE_DISCONNECTED},
+    {"group_handshake", NM_SUPPLICANT_INTERFACE_STATE_GROUP_HANDSHAKE},
+    {"inactive", NM_SUPPLICANT_INTERFACE_STATE_INACTIVE},
+    {"interface_disabled", NM_SUPPLICANT_INTERFACE_STATE_DISABLED},
+    {"scanning", NM_SUPPLICANT_INTERFACE_STATE_SCANNING}, );
 
 /*****************************************************************************/
 
 static NM80211ApSecurityFlags
-security_from_vardict (GVariant *security)
-{
-	NM80211ApSecurityFlags flags = NM_802_11_AP_SEC_NONE;
-	const char **array;
-	const char *tmp;
-
-	nm_assert (g_variant_is_of_type (security, G_VARIANT_TYPE_VARDICT));
-
-	if (g_variant_lookup (security, "KeyMgmt", "^a&s", &array)) {
-		if (g_strv_contains (array, "wpa-psk") ||
-		    g_strv_contains (array, "wpa-ft-psk"))
-			flags |= NM_802_11_AP_SEC_KEY_MGMT_PSK;
-		if (g_strv_contains (array, "wpa-eap") ||
-		    g_strv_contains (array, "wpa-ft-eap") ||
-		    g_strv_contains (array, "wpa-fils-sha256") ||
-		    g_strv_contains (array, "wpa-fils-sha384"))
-			flags |= NM_802_11_AP_SEC_KEY_MGMT_802_1X;
-		if (g_strv_contains (array, "sae"))
-			flags |= NM_802_11_AP_SEC_KEY_MGMT_SAE;
-		if (g_strv_contains (array, "owe"))
-			flags |= NM_802_11_AP_SEC_KEY_MGMT_OWE;
-		g_free (array);
-	}
-
-	if (g_variant_lookup (security, "Pairwise", "^a&s", &array)) {
-		if (g_strv_contains (array, "tkip"))
-			flags |= NM_802_11_AP_SEC_PAIR_TKIP;
-		if (g_strv_contains (array, "ccmp"))
-			flags |= NM_802_11_AP_SEC_PAIR_CCMP;
-		g_free (array);
-	}
-
-	if (g_variant_lookup (security, "Group", "&s", &tmp)) {
-		if (nm_streq (tmp, "wep40"))
-			flags |= NM_802_11_AP_SEC_GROUP_WEP40;
-		else if (nm_streq (tmp, "wep104"))
-			flags |= NM_802_11_AP_SEC_GROUP_WEP104;
-		else if (nm_streq (tmp, "tkip"))
-			flags |= NM_802_11_AP_SEC_GROUP_TKIP;
-		else if (nm_streq (tmp, "ccmp"))
-			flags |= NM_802_11_AP_SEC_GROUP_CCMP;
-	}
-
-	return flags;
+security_from_vardict(GVariant *security)
+{
+    NM80211ApSecurityFlags flags = NM_802_11_AP_SEC_NONE;
+    const char **          array;
+    const char *           tmp;
+
+    nm_assert(g_variant_is_of_type(security, G_VARIANT_TYPE_VARDICT));
+
+    if (g_variant_lookup(security, "KeyMgmt", "^a&s", &array)) {
+        if (g_strv_contains(array, "wpa-psk") || g_strv_contains(array, "wpa-ft-psk"))
+            flags |= NM_802_11_AP_SEC_KEY_MGMT_PSK;
+        if (g_strv_contains(array, "wpa-eap") || g_strv_contains(array, "wpa-ft-eap")
+            || g_strv_contains(array, "wpa-fils-sha256")
+            || g_strv_contains(array, "wpa-fils-sha384"))
+            flags |= NM_802_11_AP_SEC_KEY_MGMT_802_1X;
+        if (g_strv_contains(array, "sae"))
+            flags |= NM_802_11_AP_SEC_KEY_MGMT_SAE;
+        if (g_strv_contains(array, "owe"))
+            flags |= NM_802_11_AP_SEC_KEY_MGMT_OWE;
+        g_free(array);
+    }
+
+    if (g_variant_lookup(security, "Pairwise", "^a&s", &array)) {
+        if (g_strv_contains(array, "tkip"))
+            flags |= NM_802_11_AP_SEC_PAIR_TKIP;
+        if (g_strv_contains(array, "ccmp"))
+            flags |= NM_802_11_AP_SEC_PAIR_CCMP;
+        g_free(array);
+    }
+
+    if (g_variant_lookup(security, "Group", "&s", &tmp)) {
+        if (nm_streq(tmp, "wep40"))
+            flags |= NM_802_11_AP_SEC_GROUP_WEP40;
+        else if (nm_streq(tmp, "wep104"))
+            flags |= NM_802_11_AP_SEC_GROUP_WEP104;
+        else if (nm_streq(tmp, "tkip"))
+            flags |= NM_802_11_AP_SEC_GROUP_TKIP;
+        else if (nm_streq(tmp, "ccmp"))
+            flags |= NM_802_11_AP_SEC_GROUP_CCMP;
+    }
+
+    return flags;
 }
 
 /*****************************************************************************/
@@ -316,1978 +316,1986 @@ security_from_vardict (GVariant *security)
  * added their own starting_pending_count to delay _starting_check_ready().
  *
  * Assert that is the case. */
-#define nm_assert_starting_has_pending_count(v) nm_assert ((v) > 0)
+#define nm_assert_starting_has_pending_count(v) nm_assert((v) > 0)
 
 /*****************************************************************************/
 
 static void
-_dbus_connection_call (NMSupplicantInterface *self,
-                       const char *interface_name,
-                       const char *method_name,
-                       GVariant *parameters,
-                       const GVariantType *reply_type,
-                       GDBusCallFlags flags,
-                       int timeout_msec,
-                       GCancellable *cancellable,
-                       GAsyncReadyCallback callback,
-                       gpointer user_data)
-{
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-
-	g_dbus_connection_call (priv->dbus_connection,
-	                        priv->name_owner->str,
-	                        priv->object_path->str,
-	                        interface_name,
-	                        method_name,
-	                        parameters,
-	                        reply_type,
-	                        flags,
-	                        timeout_msec,
-	                        cancellable,
-	                        callback,
-	                        user_data);
+_dbus_connection_call(NMSupplicantInterface *self,
+                      const char *           interface_name,
+                      const char *           method_name,
+                      GVariant *             parameters,
+                      const GVariantType *   reply_type,
+                      GDBusCallFlags         flags,
+                      int                    timeout_msec,
+                      GCancellable *         cancellable,
+                      GAsyncReadyCallback    callback,
+                      gpointer               user_data)
+{
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    g_dbus_connection_call(priv->dbus_connection,
+                           priv->name_owner->str,
+                           priv->object_path->str,
+                           interface_name,
+                           method_name,
+                           parameters,
+                           reply_type,
+                           flags,
+                           timeout_msec,
+                           cancellable,
+                           callback,
+                           user_data);
 }
 
 static void
-_dbus_connection_call_simple_cb (GObject *source,
-                                 GAsyncResult *result,
-                                 gpointer user_data)
+_dbus_connection_call_simple_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	NMSupplicantInterface *self;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
-	const char *log_reason;
-	gs_free char *remote_error = NULL;
+    NMSupplicantInterface *self;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
+    const char *          log_reason;
+    gs_free char *        remote_error = NULL;
 
-	nm_utils_user_data_unpack (user_data, &self, &log_reason);
+    nm_utils_user_data_unpack(user_data, &self, &log_reason);
 
-	res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    res = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	if (res) {
-		_LOGT ("call-%s: success", log_reason);
-		return;
-	}
+    if (res) {
+        _LOGT("call-%s: success", log_reason);
+        return;
+    }
 
-	remote_error = g_dbus_error_get_remote_error (error);
-	if (!nm_streq0 (remote_error, "fi.w1.wpa_supplicant1.NotConnected")) {
-		g_dbus_error_strip_remote_error (error);
-		_LOGW ("call-%s: failed with %s", log_reason, error->message);
-		return;
-	}
+    remote_error = g_dbus_error_get_remote_error(error);
+    if (!nm_streq0(remote_error, "fi.w1.wpa_supplicant1.NotConnected")) {
+        g_dbus_error_strip_remote_error(error);
+        _LOGW("call-%s: failed with %s", log_reason, error->message);
+        return;
+    }
 
-	_LOGT ("call-%s: failed with %s", log_reason, error->message);
+    _LOGT("call-%s: failed with %s", log_reason, error->message);
 }
 
 static void
-_dbus_connection_call_simple (NMSupplicantInterface *self,
-                              const char *interface_name,
-                              const char *method_name,
-                              GVariant *parameters,
-                              const GVariantType *reply_type,
-                              const char *log_reason)
-{
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-
-	_dbus_connection_call (self,
-	                       interface_name,
-	                       method_name,
-	                       parameters,
-	                       reply_type,
-	                       G_DBUS_CALL_FLAGS_NONE,
-	                       DBUS_TIMEOUT_MSEC,
-	                       priv->main_cancellable,
-	                       _dbus_connection_call_simple_cb,
-	                       nm_utils_user_data_pack (self, log_reason));
+_dbus_connection_call_simple(NMSupplicantInterface *self,
+                             const char *           interface_name,
+                             const char *           method_name,
+                             GVariant *             parameters,
+                             const GVariantType *   reply_type,
+                             const char *           log_reason)
+{
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    _dbus_connection_call(self,
+                          interface_name,
+                          method_name,
+                          parameters,
+                          reply_type,
+                          G_DBUS_CALL_FLAGS_NONE,
+                          DBUS_TIMEOUT_MSEC,
+                          priv->main_cancellable,
+                          _dbus_connection_call_simple_cb,
+                          nm_utils_user_data_pack(self, log_reason));
 }
 
 /*****************************************************************************/
 
 static void
-_emit_signal_state (NMSupplicantInterface *self,
-                    NMSupplicantInterfaceState new_state,
-                    NMSupplicantInterfaceState old_state,
-                    gint32 disconnect_reason)
+_emit_signal_state(NMSupplicantInterface *    self,
+                   NMSupplicantInterfaceState new_state,
+                   NMSupplicantInterfaceState old_state,
+                   gint32                     disconnect_reason)
 {
-	g_signal_emit (self,
-	               signals[STATE],
-	               0,
-	               (int) new_state,
-	               (int) old_state,
-	               (int) disconnect_reason);
+    g_signal_emit(self,
+                  signals[STATE],
+                  0,
+                  (int) new_state,
+                  (int) old_state,
+                  (int) disconnect_reason);
 }
 
 /*****************************************************************************/
 
 static void
-_remove_network (NMSupplicantInterface *self)
-{
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	gs_free char *net_path = NULL;
-
-	if (!priv->net_path)
-		return;
-
-	net_path = g_steal_pointer (&priv->net_path);
-	_dbus_connection_call_simple (self,
-	                              NM_WPAS_DBUS_IFACE_INTERFACE,
-	                              "RemoveNetwork",
-	                              g_variant_new ("(o)", net_path),
-	                              G_VARIANT_TYPE ("()"),
-	                              "remove-network");
+_remove_network(NMSupplicantInterface *self)
+{
+    NMSupplicantInterfacePrivate *priv     = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    gs_free char *                net_path = NULL;
+
+    if (!priv->net_path)
+        return;
+
+    net_path = g_steal_pointer(&priv->net_path);
+    _dbus_connection_call_simple(self,
+                                 NM_WPAS_DBUS_IFACE_INTERFACE,
+                                 "RemoveNetwork",
+                                 g_variant_new("(o)", net_path),
+                                 G_VARIANT_TYPE("()"),
+                                 "remove-network");
+
+    if (priv->ap_isolate_supported && priv->ap_isolate_needs_reset) {
+        _dbus_connection_call_simple(self,
+                                     DBUS_INTERFACE_PROPERTIES,
+                                     "Set",
+                                     g_variant_new("(ssv)",
+                                                   NM_WPAS_DBUS_IFACE_INTERFACE,
+                                                   "ApIsolate",
+                                                   g_variant_new_string("0")),
+                                     G_VARIANT_TYPE("()"),
+                                     "reset-ap-isolation");
+    }
+    priv->ap_isolate_needs_reset = FALSE;
 }
 
 /*****************************************************************************/
 
 static void
-_notify_maybe_scanning (NMSupplicantInterface *self)
+_notify_maybe_scanning(NMSupplicantInterface *self)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	gboolean scanning;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    gboolean                      scanning;
 
-	scanning =   nm_supplicant_interface_state_is_operational (priv->state)
-	          && (   priv->scanning_property
-	              || priv->supp_state == NM_SUPPLICANT_INTERFACE_STATE_SCANNING);
+    scanning =
+        nm_supplicant_interface_state_is_operational(priv->state)
+        && (priv->scanning_property || priv->supp_state == NM_SUPPLICANT_INTERFACE_STATE_SCANNING);
 
-	if (priv->scanning_cached == scanning)
-		return;
+    if (priv->scanning_cached == scanning)
+        return;
 
-	if (   !scanning
-	    && !c_list_is_empty (&priv->bss_initializing_lst_head)) {
-		/* we would change state to indicate we no longer scan. However,
-		 * we still have BSS instances to be initialized. Delay the
-		 * state change further. */
-		return;
-	}
+    if (!scanning && !c_list_is_empty(&priv->bss_initializing_lst_head)) {
+        /* we would change state to indicate we no longer scan. However,
+         * we still have BSS instances to be initialized. Delay the
+         * state change further. */
+        return;
+    }
 
-	_LOGT ("scanning: %s", scanning ? "yes" : "no");
+    _LOGT("scanning: %s", scanning ? "yes" : "no");
 
-	if (!scanning)
-		priv->last_scan_msec = nm_utils_get_monotonic_timestamp_msec ();
-	else {
-		/* while we are scanning, we set the timestamp to -1. */
-		priv->last_scan_msec = -1;
-	}
-	priv->scanning_cached = scanning;
-	_notify (self, PROP_SCANNING);
+    if (!scanning)
+        priv->last_scan_msec = nm_utils_get_monotonic_timestamp_msec();
+    else {
+        /* while we are scanning, we set the timestamp to -1. */
+        priv->last_scan_msec = -1;
+    }
+    priv->scanning_cached = scanning;
+    _notify(self, PROP_SCANNING);
 }
 
 static void
-_notify_maybe_p2p_available (NMSupplicantInterface *self)
+_notify_maybe_p2p_available(NMSupplicantInterface *self)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	gboolean value;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    gboolean                      value;
 
-	value =    priv->is_ready_p2p_device
-	        && priv->p2p_capable_property;
+    value = priv->is_ready_p2p_device && priv->p2p_capable_property;
 
-	if (priv->p2p_capable_cached == value)
-		return;
+    if (priv->p2p_capable_cached == value)
+        return;
 
-	priv->p2p_capable_cached = value;
-	_notify (self, PROP_P2P_AVAILABLE);
+    priv->p2p_capable_cached = value;
+    _notify(self, PROP_P2P_AVAILABLE);
 }
 
 static void
-_notify_maybe_p2p_group (NMSupplicantInterface *self)
+_notify_maybe_p2p_group(NMSupplicantInterface *self)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	gboolean value_joined;
-	gboolean value_owner;
-	gboolean joined_changed;
-	gboolean owner_changed;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    gboolean                      value_joined;
+    gboolean                      value_owner;
+    gboolean                      joined_changed;
+    gboolean                      owner_changed;
 
-	value_joined =    priv->p2p_group_path
-	               && !priv->p2p_group_properties_cancellable;
-	value_owner =    value_joined
-	              && priv->p2p_group_owner_property;
+    value_joined = priv->p2p_group_path && !priv->p2p_group_properties_cancellable;
+    value_owner  = value_joined && priv->p2p_group_owner_property;
 
-	if ((joined_changed = (priv->p2p_group_joined_cached != value_joined)))
-		priv->p2p_group_joined_cached = value_joined;
+    if ((joined_changed = (priv->p2p_group_joined_cached != value_joined)))
+        priv->p2p_group_joined_cached = value_joined;
 
-	if ((owner_changed = (priv->p2p_group_owner_cached != value_owner)))
-		priv->p2p_group_owner_cached = value_owner;
+    if ((owner_changed = (priv->p2p_group_owner_cached != value_owner)))
+        priv->p2p_group_owner_cached = value_owner;
 
-	if (joined_changed)
-		_notify (self, PROP_P2P_GROUP_JOINED);
-	if (owner_changed)
-		_notify (self, PROP_P2P_GROUP_OWNER);
+    if (joined_changed)
+        _notify(self, PROP_P2P_GROUP_JOINED);
+    if (owner_changed)
+        _notify(self, PROP_P2P_GROUP_OWNER);
 }
 
 /*****************************************************************************/
 
 static void
-_bss_info_destroy (NMSupplicantBssInfo *bss_info)
+_bss_info_destroy(NMSupplicantBssInfo *bss_info)
 {
-	c_list_unlink_stale (&bss_info->_bss_lst);
-	nm_clear_g_cancellable (&bss_info->_init_cancellable);
-	g_bytes_unref (bss_info->ssid);
-	nm_ref_string_unref (bss_info->bss_path);
-	nm_g_slice_free (bss_info);
+    c_list_unlink_stale(&bss_info->_bss_lst);
+    nm_clear_g_cancellable(&bss_info->_init_cancellable);
+    g_bytes_unref(bss_info->ssid);
+    nm_ref_string_unref(bss_info->bss_path);
+    nm_g_slice_free(bss_info);
 }
 
 static void
-_bss_info_changed_emit (NMSupplicantInterface *self,
-                        NMSupplicantBssInfo *bss_info,
-                        gboolean is_present)
+_bss_info_changed_emit(NMSupplicantInterface *self,
+                       NMSupplicantBssInfo *  bss_info,
+                       gboolean               is_present)
 {
-	_LOGT ("BSS %s %s",
-	       bss_info->bss_path->str,
-	       is_present ? "updated" : "deleted");
-	g_signal_emit (self,
-	               signals[BSS_CHANGED],
-	               0,
-	               bss_info,
-	               is_present);
+    _LOGT("BSS %s %s", bss_info->bss_path->str, is_present ? "updated" : "deleted");
+    g_signal_emit(self, signals[BSS_CHANGED], 0, bss_info, is_present);
 }
 
 static void
-_bss_info_properties_changed (NMSupplicantInterface *self,
-                              NMSupplicantBssInfo *bss_info,
-                              GVariant *properties,
-                              gboolean initial)
-{
-	gboolean v_b;
-	GVariant *v_v;
-	const char *v_s;
-	gint16 v_i16;
-	guint16 v_u16;
-	guint32 v_u32;
-	NM80211ApFlags p_ap_flags;
-	NM80211Mode p_mode;
-	guint8 p_signal_percent;
-	const guint8 *arr_data;
-	gsize arr_len;
-	guint32 p_max_rate;
-	gboolean p_max_rate_has;
-	gint64 now_msec = 0;
-
-	if (nm_g_variant_lookup (properties, "Age", "u", &v_u32)) {
-		bss_info->last_seen_msec =   nm_utils_get_monotonic_timestamp_msec_cached (&now_msec)
-		                           - (((gint64) v_u32) * 1000);
-	} else if (initial) {
-		/* Unknown Age. Assume we just received it. */
-		bss_info->last_seen_msec = nm_utils_get_monotonic_timestamp_msec_cached (&now_msec);
-	}
-
-	p_ap_flags = bss_info->ap_flags;
-	if (nm_g_variant_lookup (properties, "Privacy", "b", &v_b))
-		p_ap_flags = NM_FLAGS_ASSIGN (p_ap_flags, NM_802_11_AP_FLAGS_PRIVACY, v_b);
-	else {
-		nm_assert (  !initial
-		           || !NM_FLAGS_HAS (p_ap_flags, NM_802_11_AP_FLAGS_PRIVACY));
-	}
-	v_v = nm_g_variant_lookup_value (properties, "WPS", G_VARIANT_TYPE_VARDICT);
-	if (   v_v
-	    || initial) {
-		NM80211ApFlags f = NM_802_11_AP_FLAGS_NONE;
-
-		if (v_v) {
-			if (g_variant_lookup (v_v, "Type", "&s", &v_s)) {
-				p_ap_flags = NM_802_11_AP_FLAGS_WPS;
-				if (nm_streq (v_s, "pcb"))
-					f |= NM_802_11_AP_FLAGS_WPS_PBC;
-				else if (nm_streq (v_s, "pin"))
-					f |= NM_802_11_AP_FLAGS_WPS_PIN;
-			}
-			g_variant_unref (v_v);
-		}
-		p_ap_flags = NM_FLAGS_ASSIGN_MASK (p_ap_flags,
-		                                     NM_802_11_AP_FLAGS_WPS
-		                                   | NM_802_11_AP_FLAGS_WPS_PBC
-		                                   | NM_802_11_AP_FLAGS_WPS_PIN,
-		                                   f);
-	}
-	if (bss_info->ap_flags != p_ap_flags) {
-		bss_info->ap_flags = p_ap_flags;
-		nm_assert (bss_info->ap_flags == p_ap_flags);
-	}
-
-	if (nm_g_variant_lookup (properties, "Mode", "&s", &v_s)) {
-		if (nm_streq (v_s, "infrastructure"))
-			p_mode = NM_802_11_MODE_INFRA;
-		else if (nm_streq (v_s, "ad-hoc"))
-			p_mode = NM_802_11_MODE_ADHOC;
-		else if (nm_streq (v_s, "mesh"))
-			p_mode = NM_802_11_MODE_MESH;
-		else
-			p_mode = NM_802_11_MODE_UNKNOWN;
-	} else if (initial)
-		p_mode = NM_802_11_MODE_UNKNOWN;
-	else
-		p_mode = bss_info->mode;
-	if (bss_info->mode != p_mode) {
-		bss_info->mode = p_mode;
-		nm_assert (bss_info->mode == p_mode);
-	}
-
-	if (nm_g_variant_lookup (properties, "Signal", "n", &v_i16))
-		p_signal_percent = nm_wifi_utils_level_to_quality (v_i16);
-	else if (initial)
-		p_signal_percent = 0;
-	else
-		p_signal_percent = bss_info->signal_percent;
-	bss_info->signal_percent = p_signal_percent;
-
-	if (nm_g_variant_lookup (properties, "Frequency", "q", &v_u16))
-		bss_info->frequency = v_u16;
-
-	v_v = nm_g_variant_lookup_value (properties, "SSID", G_VARIANT_TYPE_BYTESTRING);
-	if (v_v) {
-		arr_data = g_variant_get_fixed_array (v_v, &arr_len, 1);
-		arr_len = MIN (32, arr_len);
-
-		/* Stupid ieee80211 layer uses <hidden> */
-		if (   arr_data
-		    && arr_len
-		    && !(   NM_IN_SET (arr_len, 8, 9)
-		         && memcmp (arr_data, "<hidden>", arr_len) == 0)
-		    && !nm_utils_is_empty_ssid (arr_data, arr_len)) {
-			/* good */
-		} else
-			arr_len = 0;
-
-		if (!nm_utils_gbytes_equal_mem (bss_info->ssid, arr_data, arr_len)) {
-			_nm_unused gs_unref_bytes GBytes *old_free = g_steal_pointer (&bss_info->ssid);
-
-			bss_info->ssid =   (arr_len == 0)
-			                 ? NULL
-			                 : g_bytes_new (arr_data, arr_len);
-		}
-
-		g_variant_unref (v_v);
-	} else {
-		nm_assert (   !initial
-		           || !bss_info->ssid);
-	}
-
-	v_v = nm_g_variant_lookup_value (properties, "BSSID", G_VARIANT_TYPE_BYTESTRING);
-	if (v_v) {
-		arr_data = g_variant_get_fixed_array (v_v, &arr_len, 1);
-		if (   arr_len == ETH_ALEN
-		    && memcmp (arr_data, nm_ip_addr_zero.addr_eth, ETH_ALEN) != 0
-		    && memcmp (arr_data, (char[ETH_ALEN]) { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, ETH_ALEN) != 0) {
-			/* pass */
-		} else
-			arr_len = 0;
-
-		if (arr_len != 0) {
-			nm_assert (arr_len == sizeof (bss_info->bssid));
-			bss_info->bssid_valid = TRUE;
-			memcpy (bss_info->bssid, arr_data, sizeof (bss_info->bssid));
-		} else if (bss_info->bssid_valid) {
-			bss_info->bssid_valid = FALSE;
-			memset (bss_info->bssid, 0, sizeof (bss_info->bssid));
-		}
-		g_variant_unref (v_v);
-	} else {
-		nm_assert (   !initial
-		           || !bss_info->bssid_valid);
-	}
-	nm_assert (   (   bss_info->bssid_valid
-	               && !nm_utils_memeqzero (bss_info->bssid, sizeof (bss_info->bssid)))
-	           || (  !bss_info->bssid_valid
-	               && nm_utils_memeqzero (bss_info->bssid, sizeof (bss_info->bssid))));
-
-	p_max_rate_has = FALSE;
-	p_max_rate = 0;
-	v_v = nm_g_variant_lookup_value (properties, "Rates", G_VARIANT_TYPE ("au"));
-	if (v_v) {
-		const guint32 *rates = g_variant_get_fixed_array (v_v, &arr_len, sizeof (guint32));
-		gsize i;
-
-		for (i = 0; i < arr_len; i++)
-			p_max_rate = NM_MAX (p_max_rate, rates[i]);
-		p_max_rate_has = TRUE;
-		g_variant_unref (v_v);
-	}
-
-	v_v = nm_g_variant_lookup_value (properties, "WPA", G_VARIANT_TYPE_VARDICT);
-	if (v_v) {
-		bss_info->wpa_flags = security_from_vardict (v_v);
-		g_variant_unref (v_v);
-	}
-
-	v_v = nm_g_variant_lookup_value (properties, "RSN", G_VARIANT_TYPE_VARDICT);
-	if (v_v) {
-		bss_info->rsn_flags = security_from_vardict (v_v);
-		g_variant_unref (v_v);
-	}
-
-	v_v = nm_g_variant_lookup_value (properties, "IEs", G_VARIANT_TYPE_BYTESTRING);
-	if (v_v) {
-		gboolean p_owe_transition_mode;
-		gboolean p_metered;
-		guint32 rate;
-
-		arr_data = g_variant_get_fixed_array (v_v, &arr_len, 1);
-		nm_wifi_utils_parse_ies (arr_data, arr_len, &rate, &p_metered, &p_owe_transition_mode);
-		p_max_rate = NM_MAX (p_max_rate, rate);
-		p_max_rate_has = TRUE;
-		g_variant_unref (v_v);
-
-		if (p_owe_transition_mode)
-			bss_info->rsn_flags |= NM_802_11_AP_SEC_KEY_MGMT_OWE_TM;
-		else
-			bss_info->rsn_flags &= ~NM_802_11_AP_SEC_KEY_MGMT_OWE_TM;
-
-		bss_info->metered = p_metered;
-	}
-
-	if (p_max_rate_has)
-		bss_info->max_rate = p_max_rate / 1000u;
-
-	_bss_info_changed_emit (self, bss_info, TRUE);
+_bss_info_properties_changed(NMSupplicantInterface *self,
+                             NMSupplicantBssInfo *  bss_info,
+                             GVariant *             properties,
+                             gboolean               initial)
+{
+    gboolean       v_b;
+    GVariant *     v_v;
+    const char *   v_s;
+    gint16         v_i16;
+    guint16        v_u16;
+    guint32        v_u32;
+    NM80211ApFlags p_ap_flags;
+    NM80211Mode    p_mode;
+    guint8         p_signal_percent;
+    const guint8 * arr_data;
+    gsize          arr_len;
+    guint32        p_max_rate;
+    gboolean       p_max_rate_has;
+    gint64         now_msec = 0;
+
+    if (nm_g_variant_lookup(properties, "Age", "u", &v_u32)) {
+        bss_info->last_seen_msec =
+            nm_utils_get_monotonic_timestamp_msec_cached(&now_msec) - (((gint64) v_u32) * 1000);
+    } else if (initial) {
+        /* Unknown Age. Assume we just received it. */
+        bss_info->last_seen_msec = nm_utils_get_monotonic_timestamp_msec_cached(&now_msec);
+    }
+
+    p_ap_flags = bss_info->ap_flags;
+    if (nm_g_variant_lookup(properties, "Privacy", "b", &v_b))
+        p_ap_flags = NM_FLAGS_ASSIGN(p_ap_flags, NM_802_11_AP_FLAGS_PRIVACY, v_b);
+    else {
+        nm_assert(!initial || !NM_FLAGS_HAS(p_ap_flags, NM_802_11_AP_FLAGS_PRIVACY));
+    }
+    v_v = nm_g_variant_lookup_value(properties, "WPS", G_VARIANT_TYPE_VARDICT);
+    if (v_v || initial) {
+        NM80211ApFlags f = NM_802_11_AP_FLAGS_NONE;
+
+        if (v_v) {
+            if (g_variant_lookup(v_v, "Type", "&s", &v_s)) {
+                p_ap_flags = NM_802_11_AP_FLAGS_WPS;
+                if (nm_streq(v_s, "pcb"))
+                    f |= NM_802_11_AP_FLAGS_WPS_PBC;
+                else if (nm_streq(v_s, "pin"))
+                    f |= NM_802_11_AP_FLAGS_WPS_PIN;
+            }
+            g_variant_unref(v_v);
+        }
+        p_ap_flags = NM_FLAGS_ASSIGN_MASK(p_ap_flags,
+                                          NM_802_11_AP_FLAGS_WPS | NM_802_11_AP_FLAGS_WPS_PBC
+                                              | NM_802_11_AP_FLAGS_WPS_PIN,
+                                          f);
+    }
+    if (bss_info->ap_flags != p_ap_flags) {
+        bss_info->ap_flags = p_ap_flags;
+        nm_assert(bss_info->ap_flags == p_ap_flags);
+    }
+
+    if (nm_g_variant_lookup(properties, "Mode", "&s", &v_s)) {
+        if (nm_streq(v_s, "infrastructure"))
+            p_mode = NM_802_11_MODE_INFRA;
+        else if (nm_streq(v_s, "ad-hoc"))
+            p_mode = NM_802_11_MODE_ADHOC;
+        else if (nm_streq(v_s, "mesh"))
+            p_mode = NM_802_11_MODE_MESH;
+        else
+            p_mode = NM_802_11_MODE_UNKNOWN;
+    } else if (initial)
+        p_mode = NM_802_11_MODE_UNKNOWN;
+    else
+        p_mode = bss_info->mode;
+    if (bss_info->mode != p_mode) {
+        bss_info->mode = p_mode;
+        nm_assert(bss_info->mode == p_mode);
+    }
+
+    if (nm_g_variant_lookup(properties, "Signal", "n", &v_i16))
+        p_signal_percent = nm_wifi_utils_level_to_quality(v_i16);
+    else if (initial)
+        p_signal_percent = 0;
+    else
+        p_signal_percent = bss_info->signal_percent;
+    bss_info->signal_percent = p_signal_percent;
+
+    if (nm_g_variant_lookup(properties, "Frequency", "q", &v_u16))
+        bss_info->frequency = v_u16;
+
+    v_v = nm_g_variant_lookup_value(properties, "SSID", G_VARIANT_TYPE_BYTESTRING);
+    if (v_v) {
+        arr_data = g_variant_get_fixed_array(v_v, &arr_len, 1);
+        arr_len  = MIN(32, arr_len);
+
+        /* Stupid ieee80211 layer uses <hidden> */
+        if (arr_data && arr_len
+            && !(NM_IN_SET(arr_len, 8, 9) && memcmp(arr_data, "<hidden>", arr_len) == 0)
+            && !nm_utils_is_empty_ssid(arr_data, arr_len)) {
+            /* good */
+        } else
+            arr_len = 0;
+
+        if (!nm_utils_gbytes_equal_mem(bss_info->ssid, arr_data, arr_len)) {
+            _nm_unused gs_unref_bytes GBytes *old_free = g_steal_pointer(&bss_info->ssid);
+
+            bss_info->ssid = (arr_len == 0) ? NULL : g_bytes_new(arr_data, arr_len);
+        }
+
+        g_variant_unref(v_v);
+    } else {
+        nm_assert(!initial || !bss_info->ssid);
+    }
+
+    v_v = nm_g_variant_lookup_value(properties, "BSSID", G_VARIANT_TYPE_BYTESTRING);
+    if (v_v) {
+        arr_data = g_variant_get_fixed_array(v_v, &arr_len, 1);
+        if (arr_len == ETH_ALEN && memcmp(arr_data, &nm_ether_addr_zero, ETH_ALEN) != 0
+            && memcmp(arr_data, (char[ETH_ALEN]){0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, ETH_ALEN)
+                   != 0) {
+            /* pass */
+        } else
+            arr_len = 0;
+
+        if (arr_len != 0) {
+            nm_assert(arr_len == sizeof(bss_info->bssid));
+            bss_info->bssid_valid = TRUE;
+            memcpy(bss_info->bssid, arr_data, sizeof(bss_info->bssid));
+        } else if (bss_info->bssid_valid) {
+            bss_info->bssid_valid = FALSE;
+            memset(bss_info->bssid, 0, sizeof(bss_info->bssid));
+        }
+        g_variant_unref(v_v);
+    } else {
+        nm_assert(!initial || !bss_info->bssid_valid);
+    }
+    nm_assert(
+        (bss_info->bssid_valid && !nm_utils_memeqzero(bss_info->bssid, sizeof(bss_info->bssid)))
+        || (!bss_info->bssid_valid
+            && nm_utils_memeqzero(bss_info->bssid, sizeof(bss_info->bssid))));
+
+    p_max_rate_has = FALSE;
+    p_max_rate     = 0;
+    v_v            = nm_g_variant_lookup_value(properties, "Rates", G_VARIANT_TYPE("au"));
+    if (v_v) {
+        const guint32 *rates = g_variant_get_fixed_array(v_v, &arr_len, sizeof(guint32));
+        gsize          i;
+
+        for (i = 0; i < arr_len; i++)
+            p_max_rate = NM_MAX(p_max_rate, rates[i]);
+        p_max_rate_has = TRUE;
+        g_variant_unref(v_v);
+    }
+
+    v_v = nm_g_variant_lookup_value(properties, "WPA", G_VARIANT_TYPE_VARDICT);
+    if (v_v) {
+        bss_info->wpa_flags = security_from_vardict(v_v);
+        g_variant_unref(v_v);
+    }
+
+    v_v = nm_g_variant_lookup_value(properties, "RSN", G_VARIANT_TYPE_VARDICT);
+    if (v_v) {
+        bss_info->rsn_flags = security_from_vardict(v_v);
+        g_variant_unref(v_v);
+    }
+
+    v_v = nm_g_variant_lookup_value(properties, "IEs", G_VARIANT_TYPE_BYTESTRING);
+    if (v_v) {
+        gboolean p_owe_transition_mode;
+        gboolean p_metered;
+        guint32  rate;
+
+        arr_data = g_variant_get_fixed_array(v_v, &arr_len, 1);
+        nm_wifi_utils_parse_ies(arr_data, arr_len, &rate, &p_metered, &p_owe_transition_mode);
+        p_max_rate     = NM_MAX(p_max_rate, rate);
+        p_max_rate_has = TRUE;
+        g_variant_unref(v_v);
+
+        if (p_owe_transition_mode)
+            bss_info->rsn_flags |= NM_802_11_AP_SEC_KEY_MGMT_OWE_TM;
+        else
+            bss_info->rsn_flags &= ~NM_802_11_AP_SEC_KEY_MGMT_OWE_TM;
+
+        bss_info->metered = p_metered;
+    }
+
+    if (p_max_rate_has)
+        bss_info->max_rate = p_max_rate / 1000u;
+
+    _bss_info_changed_emit(self, bss_info, TRUE);
 }
 
 static void
-_bss_info_get_all_cb (GVariant *result,
-                      GError *error,
-                      gpointer user_data)
+_bss_info_get_all_cb(GVariant *result, GError *error, gpointer user_data)
 {
-	NMSupplicantBssInfo *bss_info;
-	NMSupplicantInterface *self;
-	NMSupplicantInterfacePrivate *priv;
-	gs_unref_variant GVariant *properties = NULL;
+    NMSupplicantBssInfo *         bss_info;
+    NMSupplicantInterface *       self;
+    NMSupplicantInterfacePrivate *priv;
+    gs_unref_variant GVariant *properties = NULL;
 
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	bss_info = user_data;
-	self = bss_info->_self;
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    bss_info = user_data;
+    self     = bss_info->_self;
+    priv     = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	g_clear_object (&bss_info->_init_cancellable);
-	nm_c_list_move_tail (&priv->bss_lst_head, &bss_info->_bss_lst);
+    g_clear_object(&bss_info->_init_cancellable);
+    nm_c_list_move_tail(&priv->bss_lst_head, &bss_info->_bss_lst);
 
-	if (result)
-		g_variant_get (result, "(@a{sv})", &properties);
+    if (result)
+        g_variant_get(result, "(@a{sv})", &properties);
 
-	_bss_info_properties_changed (self, bss_info, properties, TRUE);
+    _bss_info_properties_changed(self, bss_info, properties, TRUE);
 
-	_starting_check_ready (self);
+    _starting_check_ready(self);
 
-	_notify_maybe_scanning (self);
+    _notify_maybe_scanning(self);
 }
 
 static void
-_bss_info_add (NMSupplicantInterface *self, const char *object_path)
-{
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	nm_auto_ref_string NMRefString *bss_path = NULL;
-	NMSupplicantBssInfo *bss_info;
-
-	bss_path = nm_ref_string_new (nm_dbus_path_not_empty (object_path));
-	if (!bss_path)
-		return;
-
-	bss_info = g_hash_table_lookup (priv->bss_idx, &bss_path);
-	if (bss_info) {
-		bss_info->_bss_dirty = FALSE;
-		return;
-	}
-
-	bss_info = g_slice_new (NMSupplicantBssInfo);
-	*bss_info = (NMSupplicantBssInfo) {
-		._self             = self,
-		.bss_path          = g_steal_pointer (&bss_path),
-		._init_cancellable = g_cancellable_new (),
-	};
-	c_list_link_tail (&priv->bss_initializing_lst_head, &bss_info->_bss_lst);
-	g_hash_table_add (priv->bss_idx, bss_info);
-
-	nm_dbus_connection_call_get_all (priv->dbus_connection,
-	                                 priv->name_owner->str,
-	                                 bss_info->bss_path->str,
-	                                 NM_WPAS_DBUS_IFACE_BSS,
-	                                 5000,
-	                                 bss_info->_init_cancellable,
-	                                 _bss_info_get_all_cb,
-	                                 bss_info);
+_bss_info_add(NMSupplicantInterface *self, const char *object_path)
+{
+    NMSupplicantInterfacePrivate *priv       = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    nm_auto_ref_string NMRefString *bss_path = NULL;
+    NMSupplicantBssInfo *           bss_info;
+
+    bss_path = nm_ref_string_new(nm_dbus_path_not_empty(object_path));
+    if (!bss_path)
+        return;
+
+    bss_info = g_hash_table_lookup(priv->bss_idx, &bss_path);
+    if (bss_info) {
+        bss_info->_bss_dirty = FALSE;
+        return;
+    }
+
+    bss_info  = g_slice_new(NMSupplicantBssInfo);
+    *bss_info = (NMSupplicantBssInfo){
+        ._self             = self,
+        .bss_path          = g_steal_pointer(&bss_path),
+        ._init_cancellable = g_cancellable_new(),
+    };
+    c_list_link_tail(&priv->bss_initializing_lst_head, &bss_info->_bss_lst);
+    g_hash_table_add(priv->bss_idx, bss_info);
+
+    nm_dbus_connection_call_get_all(priv->dbus_connection,
+                                    priv->name_owner->str,
+                                    bss_info->bss_path->str,
+                                    NM_WPAS_DBUS_IFACE_BSS,
+                                    5000,
+                                    bss_info->_init_cancellable,
+                                    _bss_info_get_all_cb,
+                                    bss_info);
 }
 
 static gboolean
-_bss_info_remove (NMSupplicantInterface *self,
-                  NMRefString **p_bss_path)
+_bss_info_remove(NMSupplicantInterface *self, NMRefString **p_bss_path)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	NMSupplicantBssInfo *bss_info;
-	gpointer unused_but_required;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    NMSupplicantBssInfo *         bss_info;
+    gpointer                      unused_but_required;
 
-	if (!g_hash_table_steal_extended (priv->bss_idx,
-	                                  p_bss_path,
-	                                  (gpointer *) &bss_info,
-	                                  &unused_but_required))
-		return FALSE;
+    if (!g_hash_table_steal_extended(priv->bss_idx,
+                                     p_bss_path,
+                                     (gpointer *) &bss_info,
+                                     &unused_but_required))
+        return FALSE;
 
-	c_list_unlink (&bss_info->_bss_lst);
-	if (!bss_info->_init_cancellable)
-		_bss_info_changed_emit (self, bss_info, FALSE);
-	_bss_info_destroy (bss_info);
+    c_list_unlink(&bss_info->_bss_lst);
+    if (!bss_info->_init_cancellable)
+        _bss_info_changed_emit(self, bss_info, FALSE);
+    _bss_info_destroy(bss_info);
 
-	nm_assert_starting_has_pending_count (priv->starting_pending_count);
+    nm_assert_starting_has_pending_count(priv->starting_pending_count);
 
-	return TRUE;
+    return TRUE;
 }
 
 /*****************************************************************************/
 
 static void
-_peer_info_destroy (NMSupplicantPeerInfo *peer_info)
+_peer_info_destroy(NMSupplicantPeerInfo *peer_info)
 {
-	c_list_unlink (&peer_info->_peer_lst);
-	nm_clear_g_cancellable (&peer_info->_init_cancellable);
+    c_list_unlink(&peer_info->_peer_lst);
+    nm_clear_g_cancellable(&peer_info->_init_cancellable);
 
-	g_free (peer_info->device_name);
-	g_free (peer_info->manufacturer);
-	g_free (peer_info->model);
-	g_free (peer_info->model_number);
-	g_free (peer_info->serial);
-	g_bytes_unref (peer_info->ies);
+    g_free(peer_info->device_name);
+    g_free(peer_info->manufacturer);
+    g_free(peer_info->model);
+    g_free(peer_info->model_number);
+    g_free(peer_info->serial);
+    g_bytes_unref(peer_info->ies);
 
-	nm_g_slice_free (peer_info);
+    nm_g_slice_free(peer_info);
 }
 
 static void
-_peer_info_changed_emit (NMSupplicantInterface *self,
-                         NMSupplicantPeerInfo *peer_info,
-                         gboolean is_present)
+_peer_info_changed_emit(NMSupplicantInterface *self,
+                        NMSupplicantPeerInfo * peer_info,
+                        gboolean               is_present)
 {
-	g_signal_emit (self,
-	               signals[PEER_CHANGED],
-	               0,
-	               peer_info,
-	               is_present);
+    g_signal_emit(self, signals[PEER_CHANGED], 0, peer_info, is_present);
 }
 
 static void
-_peer_info_properties_changed (NMSupplicantInterface *self,
-                               NMSupplicantPeerInfo *peer_info,
-                               GVariant *properties,
-                               gboolean initial)
-{
-	GVariant *v_v;
-	const char *v_s;
-	gint32 v_i32;
-	const guint8 *arr_data;
-	gsize arr_len;
-
-	peer_info->last_seen_msec = nm_utils_get_monotonic_timestamp_msec ();
-
-	if (nm_g_variant_lookup (properties, "level", "i", &v_i32))
-		peer_info->signal_percent = nm_wifi_utils_level_to_quality (v_i32);
-
-	if (nm_g_variant_lookup (properties, "DeviceName", "&s", &v_s))
-		nm_utils_strdup_reset (&peer_info->device_name, v_s);
-
-	if (nm_g_variant_lookup (properties, "Manufacturer", "&s", &v_s))
-		nm_utils_strdup_reset (&peer_info->manufacturer, v_s);
-
-	if (nm_g_variant_lookup (properties, "Model", "&s", &v_s))
-		nm_utils_strdup_reset (&peer_info->model, v_s);
-
-	if (nm_g_variant_lookup (properties, "ModelNumber", "&s", &v_s))
-		nm_utils_strdup_reset (&peer_info->model_number, v_s);
-
-	if (nm_g_variant_lookup (properties, "Serial", "&s", &v_s))
-		nm_utils_strdup_reset (&peer_info->serial, v_s);
-
-	v_v = nm_g_variant_lookup_value (properties, "DeviceAddress", G_VARIANT_TYPE_BYTESTRING);
-	if (v_v) {
-		arr_data = g_variant_get_fixed_array (v_v, &arr_len, 1);
-		if (   arr_len == ETH_ALEN
-		    && memcmp (arr_data, nm_ip_addr_zero.addr_eth, ETH_ALEN) != 0
-		    && memcmp (arr_data, (char[ETH_ALEN]) { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, ETH_ALEN) != 0) {
-			/* pass */
-		} else
-			arr_len = 0;
-
-		if (arr_len != 0) {
-			nm_assert (arr_len == sizeof (peer_info->address));
-			peer_info->address_valid = TRUE;
-			memcpy (peer_info->address, arr_data, sizeof (peer_info->address));
-		} else if (peer_info->address_valid) {
-			peer_info->address_valid = FALSE;
-			memset (peer_info->address, 0, sizeof (peer_info->address));
-		}
-		g_variant_unref (v_v);
-	} else {
-		nm_assert (   !initial
-		           || !peer_info->address_valid);
-	}
-	nm_assert (   (   peer_info->address_valid
-	               && !nm_utils_memeqzero (peer_info->address, sizeof (peer_info->address)))
-	           || (  !peer_info->address_valid
-	               && nm_utils_memeqzero (peer_info->address, sizeof (peer_info->address))));
-
-	/* The IEs property contains the WFD R1 subelements */
-	v_v = nm_g_variant_lookup_value (properties, "IEs", G_VARIANT_TYPE_BYTESTRING);
-	if (v_v) {
-		arr_data = g_variant_get_fixed_array (v_v, &arr_len, 1);
-		if (!nm_utils_gbytes_equal_mem (peer_info->ies, arr_data, arr_len)) {
-			_nm_unused gs_unref_bytes GBytes *old_free = g_steal_pointer (&peer_info->ies);
-
-			peer_info->ies = g_bytes_new (arr_data, arr_len);
-		} else if (   arr_len == 0
-		           && !peer_info->ies)
-			peer_info->ies = g_bytes_new (NULL, 0);
-		g_variant_unref (v_v);
-	}
-
-	_peer_info_changed_emit (self, peer_info, TRUE);
+_peer_info_properties_changed(NMSupplicantInterface *self,
+                              NMSupplicantPeerInfo * peer_info,
+                              GVariant *             properties,
+                              gboolean               initial)
+{
+    GVariant *    v_v;
+    const char *  v_s;
+    gint32        v_i32;
+    const guint8 *arr_data;
+    gsize         arr_len;
+
+    peer_info->last_seen_msec = nm_utils_get_monotonic_timestamp_msec();
+
+    if (nm_g_variant_lookup(properties, "level", "i", &v_i32))
+        peer_info->signal_percent = nm_wifi_utils_level_to_quality(v_i32);
+
+    if (nm_g_variant_lookup(properties, "DeviceName", "&s", &v_s))
+        nm_utils_strdup_reset(&peer_info->device_name, v_s);
+
+    if (nm_g_variant_lookup(properties, "Manufacturer", "&s", &v_s))
+        nm_utils_strdup_reset(&peer_info->manufacturer, v_s);
+
+    if (nm_g_variant_lookup(properties, "Model", "&s", &v_s))
+        nm_utils_strdup_reset(&peer_info->model, v_s);
+
+    if (nm_g_variant_lookup(properties, "ModelNumber", "&s", &v_s))
+        nm_utils_strdup_reset(&peer_info->model_number, v_s);
+
+    if (nm_g_variant_lookup(properties, "Serial", "&s", &v_s))
+        nm_utils_strdup_reset(&peer_info->serial, v_s);
+
+    v_v = nm_g_variant_lookup_value(properties, "DeviceAddress", G_VARIANT_TYPE_BYTESTRING);
+    if (v_v) {
+        arr_data = g_variant_get_fixed_array(v_v, &arr_len, 1);
+        if (arr_len == ETH_ALEN && memcmp(arr_data, &nm_ether_addr_zero, ETH_ALEN) != 0
+            && memcmp(arr_data, (char[ETH_ALEN]){0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, ETH_ALEN)
+                   != 0) {
+            /* pass */
+        } else
+            arr_len = 0;
+
+        if (arr_len != 0) {
+            nm_assert(arr_len == sizeof(peer_info->address));
+            peer_info->address_valid = TRUE;
+            memcpy(peer_info->address, arr_data, sizeof(peer_info->address));
+        } else if (peer_info->address_valid) {
+            peer_info->address_valid = FALSE;
+            memset(peer_info->address, 0, sizeof(peer_info->address));
+        }
+        g_variant_unref(v_v);
+    } else {
+        nm_assert(!initial || !peer_info->address_valid);
+    }
+    nm_assert((peer_info->address_valid
+               && !nm_utils_memeqzero(peer_info->address, sizeof(peer_info->address)))
+              || (!peer_info->address_valid
+                  && nm_utils_memeqzero(peer_info->address, sizeof(peer_info->address))));
+
+    /* The IEs property contains the WFD R1 subelements */
+    v_v = nm_g_variant_lookup_value(properties, "IEs", G_VARIANT_TYPE_BYTESTRING);
+    if (v_v) {
+        arr_data = g_variant_get_fixed_array(v_v, &arr_len, 1);
+        if (!nm_utils_gbytes_equal_mem(peer_info->ies, arr_data, arr_len)) {
+            _nm_unused gs_unref_bytes GBytes *old_free = g_steal_pointer(&peer_info->ies);
+
+            peer_info->ies = g_bytes_new(arr_data, arr_len);
+        } else if (arr_len == 0 && !peer_info->ies)
+            peer_info->ies = g_bytes_new(NULL, 0);
+        g_variant_unref(v_v);
+    }
+
+    _peer_info_changed_emit(self, peer_info, TRUE);
 }
 
 static void
-_peer_info_get_all_cb (GVariant *result,
-                       GError *error,
-                       gpointer user_data)
+_peer_info_get_all_cb(GVariant *result, GError *error, gpointer user_data)
 {
-	NMSupplicantPeerInfo *peer_info;
-	NMSupplicantInterface *self;
-	NMSupplicantInterfacePrivate *priv;
-	gs_unref_variant GVariant *properties = NULL;
+    NMSupplicantPeerInfo *        peer_info;
+    NMSupplicantInterface *       self;
+    NMSupplicantInterfacePrivate *priv;
+    gs_unref_variant GVariant *properties = NULL;
 
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	peer_info = user_data;
-	self = peer_info->_self;
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    peer_info = user_data;
+    self      = peer_info->_self;
+    priv      = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	g_clear_object (&peer_info->_init_cancellable);
-	nm_c_list_move_tail (&priv->peer_lst_head, &peer_info->_peer_lst);
+    g_clear_object(&peer_info->_init_cancellable);
+    nm_c_list_move_tail(&priv->peer_lst_head, &peer_info->_peer_lst);
 
-	if (result)
-		g_variant_get (result, "(@a{sv})", &properties);
+    if (result)
+        g_variant_get(result, "(@a{sv})", &properties);
 
-	_peer_info_properties_changed (self, peer_info, properties, TRUE);
+    _peer_info_properties_changed(self, peer_info, properties, TRUE);
 
-	_starting_check_ready (self);
+    _starting_check_ready(self);
 }
 
 static void
-_peer_info_add (NMSupplicantInterface *self, const char *object_path)
-{
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	nm_auto_ref_string NMRefString *peer_path = NULL;
-	NMSupplicantPeerInfo *peer_info;
-
-	peer_path = nm_ref_string_new (nm_dbus_path_not_empty (object_path));
-	if (!peer_path)
-		return;
-
-	peer_info = g_hash_table_lookup (priv->peer_idx, &peer_path);
-
-	if (peer_info) {
-		peer_info->_peer_dirty = FALSE;
-		return;
-	}
-
-	peer_info = g_slice_new (NMSupplicantPeerInfo);
-	*peer_info = (NMSupplicantPeerInfo) {
-		._self             = self,
-		.peer_path         = g_steal_pointer (&peer_path),
-		._init_cancellable = g_cancellable_new (),
-	};
-	c_list_link_tail (&priv->peer_initializing_lst_head, &peer_info->_peer_lst);
-	g_hash_table_add (priv->peer_idx, peer_info);
-
-	nm_dbus_connection_call_get_all (priv->dbus_connection,
-	                                 priv->name_owner->str,
-	                                 peer_info->peer_path->str,
-	                                 NM_WPAS_DBUS_IFACE_PEER,
-	                                 5000,
-	                                 peer_info->_init_cancellable,
-	                                 _peer_info_get_all_cb,
-	                                 peer_info);
+_peer_info_add(NMSupplicantInterface *self, const char *object_path)
+{
+    NMSupplicantInterfacePrivate *priv        = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    nm_auto_ref_string NMRefString *peer_path = NULL;
+    NMSupplicantPeerInfo *          peer_info;
+
+    peer_path = nm_ref_string_new(nm_dbus_path_not_empty(object_path));
+    if (!peer_path)
+        return;
+
+    peer_info = g_hash_table_lookup(priv->peer_idx, &peer_path);
+
+    if (peer_info) {
+        peer_info->_peer_dirty = FALSE;
+        return;
+    }
+
+    peer_info  = g_slice_new(NMSupplicantPeerInfo);
+    *peer_info = (NMSupplicantPeerInfo){
+        ._self             = self,
+        .peer_path         = g_steal_pointer(&peer_path),
+        ._init_cancellable = g_cancellable_new(),
+    };
+    c_list_link_tail(&priv->peer_initializing_lst_head, &peer_info->_peer_lst);
+    g_hash_table_add(priv->peer_idx, peer_info);
+
+    nm_dbus_connection_call_get_all(priv->dbus_connection,
+                                    priv->name_owner->str,
+                                    peer_info->peer_path->str,
+                                    NM_WPAS_DBUS_IFACE_PEER,
+                                    5000,
+                                    peer_info->_init_cancellable,
+                                    _peer_info_get_all_cb,
+                                    peer_info);
 }
 
 static gboolean
-_peer_info_remove (NMSupplicantInterface *self,
-                   NMRefString **p_peer_path)
+_peer_info_remove(NMSupplicantInterface *self, NMRefString **p_peer_path)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	NMSupplicantPeerInfo *peer_info;
-	gpointer unused_but_required;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    NMSupplicantPeerInfo *        peer_info;
+    gpointer                      unused_but_required;
 
-	if (!g_hash_table_steal_extended (priv->peer_idx,
-	                                  p_peer_path,
-	                                  (gpointer *) &peer_info,
-	                                  &unused_but_required))
-		return FALSE;
+    if (!g_hash_table_steal_extended(priv->peer_idx,
+                                     p_peer_path,
+                                     (gpointer *) &peer_info,
+                                     &unused_but_required))
+        return FALSE;
 
-	c_list_unlink (&peer_info->_peer_lst);
-	if (!peer_info->_init_cancellable)
-		_peer_info_changed_emit (self, peer_info, FALSE);
-	_peer_info_destroy (peer_info);
+    c_list_unlink(&peer_info->_peer_lst);
+    if (!peer_info->_init_cancellable)
+        _peer_info_changed_emit(self, peer_info, FALSE);
+    _peer_info_destroy(peer_info);
 
-	nm_assert_starting_has_pending_count (priv->starting_pending_count);
+    nm_assert_starting_has_pending_count(priv->starting_pending_count);
 
-	return TRUE;
+    return TRUE;
 }
 
 /*****************************************************************************/
 
 static void
-set_state_down (NMSupplicantInterface *self,
-                gboolean force_remove_from_supplicant,
-                const char *reason)
+set_state_down(NMSupplicantInterface *self,
+               gboolean               force_remove_from_supplicant,
+               const char *           reason)
 {
-	_nm_unused gs_unref_object NMSupplicantInterface *self_keep_alive = g_object_ref (self);
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	NMSupplicantBssInfo *bss_info;
-	NMSupplicantPeerInfo *peer_info;
-	NMSupplicantInterfaceState old_state;
+    _nm_unused gs_unref_object NMSupplicantInterface *self_keep_alive = g_object_ref(self);
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    NMSupplicantBssInfo *         bss_info;
+    NMSupplicantPeerInfo *        peer_info;
+    NMSupplicantInterfaceState    old_state;
 
-	nm_assert (priv->state != NM_SUPPLICANT_INTERFACE_STATE_DOWN);
-	nm_assert (!c_list_is_empty (&self->supp_lst));
+    nm_assert(priv->state != NM_SUPPLICANT_INTERFACE_STATE_DOWN);
+    nm_assert(!c_list_is_empty(&self->supp_lst));
 
-	_LOGD ("remove interface \"%s\" on %s (%s)%s",
-	       priv->object_path->str,
-	       priv->name_owner->str,
-	       reason,
-	       force_remove_from_supplicant ? " (remove in wpa_supplicant)" : "");
+    _LOGD("remove interface \"%s\" on %s (%s)%s",
+          priv->object_path->str,
+          priv->name_owner->str,
+          reason,
+          force_remove_from_supplicant ? " (remove in wpa_supplicant)" : "");
 
-	old_state = priv->state;
+    old_state = priv->state;
 
-	priv->state = NM_SUPPLICANT_INTERFACE_STATE_DOWN;
+    priv->state = NM_SUPPLICANT_INTERFACE_STATE_DOWN;
 
-	_nm_supplicant_manager_unregister_interface (priv->supplicant_manager, self);
+    _nm_supplicant_manager_unregister_interface(priv->supplicant_manager, self);
 
-	nm_assert (c_list_is_empty (&self->supp_lst));
+    nm_assert(c_list_is_empty(&self->supp_lst));
 
-	if (force_remove_from_supplicant) {
-		_nm_supplicant_manager_dbus_call_remove_interface (priv->supplicant_manager,
-		                                                   priv->name_owner->str,
-		                                                   priv->object_path->str);
-	}
+    if (force_remove_from_supplicant) {
+        _nm_supplicant_manager_dbus_call_remove_interface(priv->supplicant_manager,
+                                                          priv->name_owner->str,
+                                                          priv->object_path->str);
+    }
 
-	_emit_signal_state (self, priv->state, old_state, 0);
+    _emit_signal_state(self, priv->state, old_state, 0);
 
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection, &priv->properties_changed_id);
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection, &priv->signal_id);
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection, &priv->bss_properties_changed_id);
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection, &priv->peer_properties_changed_id);
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection, &priv->p2p_group_properties_changed_id);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->properties_changed_id);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->signal_id);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->bss_properties_changed_id);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->peer_properties_changed_id);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection,
+                                      &priv->p2p_group_properties_changed_id);
 
-	nm_supplicant_interface_cancel_wps (self);
+    nm_supplicant_interface_cancel_wps(self);
 
-	if (priv->assoc_data) {
-		gs_free_error GError *error = NULL;
+    if (priv->assoc_data) {
+        gs_free_error GError *error = NULL;
 
-		nm_utils_error_set_cancelled (&error, TRUE, "NMSupplicantInterface");
-		assoc_return (self, error, "cancelled because supplicant interface is going down");
-	}
+        nm_utils_error_set_cancelled(&error, TRUE, "NMSupplicantInterface");
+        assoc_return(self, error, "cancelled because supplicant interface is going down");
+    }
 
-	while ((bss_info = c_list_first_entry (&priv->bss_initializing_lst_head, NMSupplicantBssInfo, _bss_lst))) {
-		g_hash_table_remove (priv->bss_idx, bss_info);
-		_bss_info_destroy (bss_info);
-	}
-	while ((bss_info = c_list_first_entry (&priv->bss_lst_head, NMSupplicantBssInfo, _bss_lst))) {
-		g_hash_table_remove (priv->bss_idx, bss_info);
-		_bss_info_destroy (bss_info);
-	}
-	nm_assert (g_hash_table_size (priv->bss_idx) == 0);
+    while (
+        (bss_info =
+             c_list_first_entry(&priv->bss_initializing_lst_head, NMSupplicantBssInfo, _bss_lst))) {
+        g_hash_table_remove(priv->bss_idx, bss_info);
+        _bss_info_destroy(bss_info);
+    }
+    while ((bss_info = c_list_first_entry(&priv->bss_lst_head, NMSupplicantBssInfo, _bss_lst))) {
+        g_hash_table_remove(priv->bss_idx, bss_info);
+        _bss_info_destroy(bss_info);
+    }
+    nm_assert(g_hash_table_size(priv->bss_idx) == 0);
 
-	while ((peer_info = c_list_first_entry (&priv->peer_initializing_lst_head, NMSupplicantPeerInfo, _peer_lst))) {
-		g_hash_table_remove (priv->peer_idx, peer_info);
-		_peer_info_destroy (peer_info);
-	}
-	while ((peer_info = c_list_first_entry (&priv->peer_lst_head, NMSupplicantPeerInfo, _peer_lst))) {
-		g_hash_table_remove (priv->peer_idx, peer_info);
-		_peer_info_destroy (peer_info);
-	}
-	nm_assert (g_hash_table_size (priv->peer_idx) == 0);
+    while ((peer_info = c_list_first_entry(&priv->peer_initializing_lst_head,
+                                           NMSupplicantPeerInfo,
+                                           _peer_lst))) {
+        g_hash_table_remove(priv->peer_idx, peer_info);
+        _peer_info_destroy(peer_info);
+    }
+    while (
+        (peer_info = c_list_first_entry(&priv->peer_lst_head, NMSupplicantPeerInfo, _peer_lst))) {
+        g_hash_table_remove(priv->peer_idx, peer_info);
+        _peer_info_destroy(peer_info);
+    }
+    nm_assert(g_hash_table_size(priv->peer_idx) == 0);
 
-	nm_clear_g_cancellable (&priv->main_cancellable);
-	nm_clear_g_cancellable (&priv->p2p_group_properties_cancellable);
+    nm_clear_g_cancellable(&priv->main_cancellable);
+    nm_clear_g_cancellable(&priv->p2p_group_properties_cancellable);
 
-	nm_clear_pointer (&priv->p2p_group_path, nm_ref_string_unref);
+    nm_clear_pointer(&priv->p2p_group_path, nm_ref_string_unref);
 
-	_remove_network (self);
+    _remove_network(self);
 
-	nm_clear_pointer (&priv->current_bss, nm_ref_string_unref);
+    nm_clear_pointer(&priv->current_bss, nm_ref_string_unref);
 
-	_notify_maybe_scanning (self);
+    _notify_maybe_scanning(self);
 }
 
 static void
-set_state (NMSupplicantInterface *self, NMSupplicantInterfaceState new_state)
+set_state(NMSupplicantInterface *self, NMSupplicantInterfaceState new_state)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	NMSupplicantInterfaceState old_state = priv->state;
+    NMSupplicantInterfacePrivate *priv      = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    NMSupplicantInterfaceState    old_state = priv->state;
 
-	nm_assert (new_state > NM_SUPPLICANT_INTERFACE_STATE_STARTING);
-	nm_assert (new_state < NM_SUPPLICANT_INTERFACE_STATE_DOWN);
-	nm_assert (nm_supplicant_interface_state_is_operational (new_state));
+    nm_assert(new_state > NM_SUPPLICANT_INTERFACE_STATE_STARTING);
+    nm_assert(new_state < NM_SUPPLICANT_INTERFACE_STATE_DOWN);
+    nm_assert(nm_supplicant_interface_state_is_operational(new_state));
 
-	nm_assert (priv->state >= NM_SUPPLICANT_INTERFACE_STATE_STARTING);
-	nm_assert (priv->state < NM_SUPPLICANT_INTERFACE_STATE_DOWN);
+    nm_assert(priv->state >= NM_SUPPLICANT_INTERFACE_STATE_STARTING);
+    nm_assert(priv->state < NM_SUPPLICANT_INTERFACE_STATE_DOWN);
 
-	if (new_state == priv->state)
-		return;
+    if (new_state == priv->state)
+        return;
 
-	_LOGT ("state: set state \"%s\" (was \"%s\")",
-	       nm_supplicant_interface_state_to_string (new_state),
-	       nm_supplicant_interface_state_to_string (priv->state));
+    _LOGT("state: set state \"%s\" (was \"%s\")",
+          nm_supplicant_interface_state_to_string(new_state),
+          nm_supplicant_interface_state_to_string(priv->state));
 
-	priv->state = new_state;
+    priv->state = new_state;
 
-	_emit_signal_state (self,
-	                    priv->state,
-	                    old_state,
-	                      priv->state != NM_SUPPLICANT_INTERFACE_STATE_DISCONNECTED
-	                    ? 0u
-	                    : priv->disconnect_reason);
+    _emit_signal_state(
+        self,
+        priv->state,
+        old_state,
+        priv->state != NM_SUPPLICANT_INTERFACE_STATE_DISCONNECTED ? 0u : priv->disconnect_reason);
 }
 
 NMRefString *
-nm_supplicant_interface_get_current_bss (NMSupplicantInterface *self)
+nm_supplicant_interface_get_current_bss(NMSupplicantInterface *self)
 {
-	g_return_val_if_fail (self != NULL, FALSE);
+    g_return_val_if_fail(self != NULL, FALSE);
 
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->current_bss;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->current_bss;
 }
 
 gboolean
-nm_supplicant_interface_get_scanning (NMSupplicantInterface *self)
+nm_supplicant_interface_get_scanning(NMSupplicantInterface *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_INTERFACE (self), FALSE);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_INTERFACE(self), FALSE);
 
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->scanning_cached;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->scanning_cached;
 }
 
 gint64
-nm_supplicant_interface_get_last_scan (NMSupplicantInterface *self)
+nm_supplicant_interface_get_last_scan(NMSupplicantInterface *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_INTERFACE (self), FALSE);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_INTERFACE(self), FALSE);
 
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->last_scan_msec;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->last_scan_msec;
 }
 
-#define MATCH_PROPERTY(p, n, v, t) (!strcmp (p, n) && g_variant_is_of_type (v, t))
+#define MATCH_PROPERTY(p, n, v, t) (!strcmp(p, n) && g_variant_is_of_type(v, t))
 
 static void
-parse_capabilities (NMSupplicantInterface *self, GVariant *capabilities)
-{
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	const gboolean old_prop_scan_active = priv->prop_scan_active;
-	const gboolean old_prop_scan_ssid = priv->prop_scan_ssid;
-	const guint32 old_max_scan_ssids = priv->max_scan_ssids;
-	gboolean have_ft = FALSE;
-	gint32 max_scan_ssids;
-	const char **array;
-
-	nm_assert (capabilities && g_variant_is_of_type (capabilities, G_VARIANT_TYPE_VARDICT));
-
-	if (g_variant_lookup (capabilities, "KeyMgmt", "^a&s", &array)) {
-		have_ft = g_strv_contains (array, "wpa-ft-psk");
-		g_free (array);
-	}
-
-	priv->iface_capabilities = NM_SUPPL_CAP_MASK_SET (priv->iface_capabilities,
-	                                                  NM_SUPPL_CAP_TYPE_FT,
-	                                                    have_ft
-	                                                  ? NM_TERNARY_TRUE
-	                                                  : NM_TERNARY_FALSE);
-
-	if (g_variant_lookup (capabilities, "Modes", "^a&s", &array)) {
-		/* Setting p2p_capable might toggle _prop_p2p_available_get(). However,
-		 * we don't need to check for a property changed notification, because
-		 * the caller did g_object_freeze_notify() and will perform the check. */
-		priv->p2p_capable_property = g_strv_contains (array, "p2p");
-		g_free (array);
-	}
-
-	if (g_variant_lookup (capabilities, "Scan", "^a&s", &array)) {
-		const char **a;
-
-		priv->prop_scan_active = FALSE;
-		priv->prop_scan_ssid = FALSE;
-		for (a = array; *a; a++) {
-			if (nm_streq (*a, "active"))
-				priv->prop_scan_active = TRUE;
-			else if (nm_streq (*a, "ssid"))
-				priv->prop_scan_ssid = TRUE;
-		}
-		g_free (array);
-	}
-
-	if (g_variant_lookup (capabilities, "MaxScanSSID", "i", &max_scan_ssids)) {
-		const gint32 WPAS_MAX_SCAN_SSIDS = 16;
-
-		/* Even if supplicant claims that 20 SSIDs are supported, the Scan request
-		 * still only accepts WPAS_MAX_SCAN_SSIDS SSIDs. Otherwise the D-Bus
-		 * request will be rejected with "fi.w1.wpa_supplicant1.InvalidArgs"
-		 * Body: ('Did not receive correct message arguments.', 'Too many ssids specified. Specify at most four')
-		 * */
-		priv->max_scan_ssids = CLAMP (max_scan_ssids, 0, WPAS_MAX_SCAN_SSIDS);
-	}
-
-	if (   old_max_scan_ssids != priv->max_scan_ssids
-	    || old_prop_scan_active != priv->prop_scan_active
-	    || old_prop_scan_ssid != priv->prop_scan_ssid) {
-		_LOGD ("supports %u scan SSIDs (scan: %cactive %cssid)",
-		       (guint32) priv->max_scan_ssids,
-		       priv->prop_scan_active ? '+' : '-',
-		       priv->prop_scan_ssid ? '+' : '-');
-	}
+parse_capabilities(NMSupplicantInterface *self, GVariant *capabilities)
+{
+    NMSupplicantInterfacePrivate *priv                 = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    const gboolean                old_prop_scan_active = priv->prop_scan_active;
+    const gboolean                old_prop_scan_ssid   = priv->prop_scan_ssid;
+    const guint32                 old_max_scan_ssids   = priv->max_scan_ssids;
+    gboolean                      have_ft              = FALSE;
+    gint32                        max_scan_ssids;
+    const char **                 array;
+
+    nm_assert(capabilities && g_variant_is_of_type(capabilities, G_VARIANT_TYPE_VARDICT));
+
+    if (g_variant_lookup(capabilities, "KeyMgmt", "^a&s", &array)) {
+        have_ft = g_strv_contains(array, "wpa-ft-psk");
+        g_free(array);
+    }
+
+    priv->iface_capabilities = NM_SUPPL_CAP_MASK_SET(priv->iface_capabilities,
+                                                     NM_SUPPL_CAP_TYPE_FT,
+                                                     have_ft ? NM_TERNARY_TRUE : NM_TERNARY_FALSE);
+
+    if (g_variant_lookup(capabilities, "Modes", "^a&s", &array)) {
+        /* Setting p2p_capable might toggle _prop_p2p_available_get(). However,
+         * we don't need to check for a property changed notification, because
+         * the caller did g_object_freeze_notify() and will perform the check. */
+        priv->p2p_capable_property = g_strv_contains(array, "p2p");
+        g_free(array);
+    }
+
+    if (g_variant_lookup(capabilities, "Scan", "^a&s", &array)) {
+        const char **a;
+
+        priv->prop_scan_active = FALSE;
+        priv->prop_scan_ssid   = FALSE;
+        for (a = array; *a; a++) {
+            if (nm_streq(*a, "active"))
+                priv->prop_scan_active = TRUE;
+            else if (nm_streq(*a, "ssid"))
+                priv->prop_scan_ssid = TRUE;
+        }
+        g_free(array);
+    }
+
+    if (g_variant_lookup(capabilities, "MaxScanSSID", "i", &max_scan_ssids)) {
+        const gint32 WPAS_MAX_SCAN_SSIDS = 16;
+
+        /* Even if supplicant claims that 20 SSIDs are supported, the Scan request
+         * still only accepts WPAS_MAX_SCAN_SSIDS SSIDs. Otherwise, the D-Bus
+         * request will be rejected with "fi.w1.wpa_supplicant1.InvalidArgs"
+         * Body: ('Did not receive correct message arguments.', 'Too many ssids specified. Specify at most four')
+         * */
+        priv->max_scan_ssids = CLAMP(max_scan_ssids, 0, WPAS_MAX_SCAN_SSIDS);
+    }
+
+    if (old_max_scan_ssids != priv->max_scan_ssids || old_prop_scan_active != priv->prop_scan_active
+        || old_prop_scan_ssid != priv->prop_scan_ssid) {
+        _LOGD("supports %u scan SSIDs (scan: %cactive %cssid)",
+              (guint32) priv->max_scan_ssids,
+              priv->prop_scan_active ? '+' : '-',
+              priv->prop_scan_ssid ? '+' : '-');
+    }
 }
 
 static void
-_starting_check_ready (NMSupplicantInterface *self)
+_starting_check_ready(NMSupplicantInterface *self)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	if (priv->state != NM_SUPPLICANT_INTERFACE_STATE_STARTING)
-		return;
+    if (priv->state != NM_SUPPLICANT_INTERFACE_STATE_STARTING)
+        return;
 
-	if (priv->starting_pending_count > 0)
-		return;
+    if (priv->starting_pending_count > 0)
+        return;
 
-	if (!c_list_is_empty (&priv->bss_initializing_lst_head))
-		return;
+    if (!c_list_is_empty(&priv->bss_initializing_lst_head))
+        return;
 
-	if (!c_list_is_empty (&priv->peer_initializing_lst_head))
-		return;
+    if (!c_list_is_empty(&priv->peer_initializing_lst_head))
+        return;
 
-	if (priv->p2p_group_properties_cancellable)
-		return;
+    if (priv->p2p_group_properties_cancellable)
+        return;
 
-	nm_assert (priv->state == NM_SUPPLICANT_INTERFACE_STATE_STARTING);
+    nm_assert(priv->state == NM_SUPPLICANT_INTERFACE_STATE_STARTING);
 
-	if (!nm_supplicant_interface_state_is_operational (priv->supp_state)) {
-		_LOGW ("Supplicant state is unknown during initialization. Destroy the interface");
-		set_state_down (self, TRUE, "failure to get valid interface state");
-		return;
-	}
+    if (!nm_supplicant_interface_state_is_operational(priv->supp_state)) {
+        _LOGW("Supplicant state is unknown during initialization. Destroy the interface");
+        set_state_down(self, TRUE, "failure to get valid interface state");
+        return;
+    }
 
-	set_state (self, priv->supp_state);
+    set_state(self, priv->supp_state);
 }
 
 static NMTernary
-_get_capability (NMSupplicantInterfacePrivate *priv,
-                 NMSupplCapType type)
-{
-	NMTernary value;
-	NMTernary iface_value;
-
-	switch (type) {
-	case NM_SUPPL_CAP_TYPE_AP:
-		iface_value = NM_SUPPL_CAP_MASK_GET (priv->iface_capabilities, type);
-		value = NM_SUPPL_CAP_MASK_GET (priv->global_capabilities, type);
-		value = MAX (iface_value, value);
-		break;
-	case NM_SUPPL_CAP_TYPE_FT:
-		value = NM_SUPPL_CAP_MASK_GET (priv->global_capabilities, type);
-		if (value != NM_TERNARY_FALSE) {
-			iface_value = NM_SUPPL_CAP_MASK_GET (priv->iface_capabilities, type);
-			if (iface_value != NM_TERNARY_DEFAULT)
-				value = iface_value;
-		}
-		break;
-	default:
-		nm_assert (NM_SUPPL_CAP_MASK_GET (priv->iface_capabilities, type) == NM_TERNARY_DEFAULT);
-		value = NM_SUPPL_CAP_MASK_GET (priv->global_capabilities, type);
-		break;
-	}
-	return value;
+_get_capability(NMSupplicantInterfacePrivate *priv, NMSupplCapType type)
+{
+    NMTernary value;
+    NMTernary iface_value;
+
+    switch (type) {
+    case NM_SUPPL_CAP_TYPE_AP:
+        iface_value = NM_SUPPL_CAP_MASK_GET(priv->iface_capabilities, type);
+        value       = NM_SUPPL_CAP_MASK_GET(priv->global_capabilities, type);
+        value       = MAX(iface_value, value);
+        break;
+    case NM_SUPPL_CAP_TYPE_FT:
+        value = NM_SUPPL_CAP_MASK_GET(priv->global_capabilities, type);
+        if (value != NM_TERNARY_FALSE) {
+            iface_value = NM_SUPPL_CAP_MASK_GET(priv->iface_capabilities, type);
+            if (iface_value != NM_TERNARY_DEFAULT)
+                value = iface_value;
+        }
+        break;
+    default:
+        nm_assert(NM_SUPPL_CAP_MASK_GET(priv->iface_capabilities, type) == NM_TERNARY_DEFAULT);
+        value = NM_SUPPL_CAP_MASK_GET(priv->global_capabilities, type);
+        break;
+    }
+    return value;
 }
 
 NMTernary
-nm_supplicant_interface_get_capability (NMSupplicantInterface *self,
-                                        NMSupplCapType type)
+nm_supplicant_interface_get_capability(NMSupplicantInterface *self, NMSupplCapType type)
 {
-	return _get_capability (NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self), type);
+    return _get_capability(NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self), type);
 }
 
 NMSupplCapMask
-nm_supplicant_interface_get_capabilities (NMSupplicantInterface *self)
+nm_supplicant_interface_get_capabilities(NMSupplicantInterface *self)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	NMSupplCapMask caps;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    NMSupplCapMask                caps;
 
-	caps = priv->global_capabilities;
-	caps = NM_SUPPL_CAP_MASK_SET (caps, NM_SUPPL_CAP_TYPE_AP, _get_capability (priv, NM_SUPPL_CAP_TYPE_AP));
-	caps = NM_SUPPL_CAP_MASK_SET (caps, NM_SUPPL_CAP_TYPE_FT, _get_capability (priv, NM_SUPPL_CAP_TYPE_FT));
+    caps = priv->global_capabilities;
+    caps = NM_SUPPL_CAP_MASK_SET(caps,
+                                 NM_SUPPL_CAP_TYPE_AP,
+                                 _get_capability(priv, NM_SUPPL_CAP_TYPE_AP));
+    caps = NM_SUPPL_CAP_MASK_SET(caps,
+                                 NM_SUPPL_CAP_TYPE_FT,
+                                 _get_capability(priv, NM_SUPPL_CAP_TYPE_FT));
 
-	nm_assert (!NM_FLAGS_ANY (priv->iface_capabilities,
-	                          ~(  NM_SUPPL_CAP_MASK_T_AP_MASK
-	                            | NM_SUPPL_CAP_MASK_T_FT_MASK)));
+    nm_assert(!NM_FLAGS_ANY(priv->iface_capabilities,
+                            ~(NM_SUPPL_CAP_MASK_T_AP_MASK | NM_SUPPL_CAP_MASK_T_FT_MASK)));
 
 #if NM_MORE_ASSERTS > 10
-	{
-		NMSupplCapType type;
+    {
+        NMSupplCapType type;
 
-		for (type = 0; type < _NM_SUPPL_CAP_TYPE_NUM; type++)
-			nm_assert (NM_SUPPL_CAP_MASK_GET (caps, type) == _get_capability (priv, type));
-	}
+        for (type = 0; type < _NM_SUPPL_CAP_TYPE_NUM; type++)
+            nm_assert(NM_SUPPL_CAP_MASK_GET(caps, type) == _get_capability(priv, type));
+    }
 #endif
 
-	return caps;
+    return caps;
 }
 
 void
-nm_supplicant_interface_set_global_capabilities (NMSupplicantInterface *self,
-                                                 NMSupplCapMask value)
+nm_supplicant_interface_set_global_capabilities(NMSupplicantInterface *self, NMSupplCapMask value)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	priv->global_capabilities = value;
+    priv->global_capabilities = value;
 }
 
 NMSupplicantAuthState
-nm_supplicant_interface_get_auth_state (NMSupplicantInterface *self)
+nm_supplicant_interface_get_auth_state(NMSupplicantInterface *self)
 {
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->auth_state;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->auth_state;
 }
 
 /*****************************************************************************/
 
 static void
-_p2p_group_properties_changed (NMSupplicantInterface *self,
-                               GVariant *properties)
+_p2p_group_properties_changed(NMSupplicantInterface *self, GVariant *properties)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	const char *s;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    const char *                  s;
 
-	if (!properties)
-		priv->p2p_group_owner_property = FALSE;
-	else if (g_variant_lookup (properties, "Role", "&s", &s))
-		priv->p2p_group_owner_property = nm_streq (s, "GO");
+    if (!properties)
+        priv->p2p_group_owner_property = FALSE;
+    else if (g_variant_lookup(properties, "Role", "&s", &s))
+        priv->p2p_group_owner_property = nm_streq(s, "GO");
 
-	_notify_maybe_p2p_group (self);
+    _notify_maybe_p2p_group(self);
 }
 
 static void
-_p2p_group_properties_changed_cb (GDBusConnection *connection,
-                                  const char *sender_name,
-                                  const char *object_path,
-                                  const char *signal_interface_name,
-                                  const char *signal_name,
-                                  GVariant *parameters,
-                                  gpointer user_data)
+_p2p_group_properties_changed_cb(GDBusConnection *connection,
+                                 const char *     sender_name,
+                                 const char *     object_path,
+                                 const char *     signal_interface_name,
+                                 const char *     signal_name,
+                                 GVariant *       parameters,
+                                 gpointer         user_data)
 {
-	NMSupplicantInterface *self = NM_SUPPLICANT_INTERFACE (user_data);
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	gs_unref_variant GVariant *changed_properties = NULL;
+    NMSupplicantInterface *       self            = NM_SUPPLICANT_INTERFACE(user_data);
+    NMSupplicantInterfacePrivate *priv            = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    gs_unref_variant GVariant *changed_properties = NULL;
 
-	if (priv->p2p_group_properties_cancellable)
-		return;
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sa{sv}as)")))
-		return;
+    if (priv->p2p_group_properties_cancellable)
+        return;
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(sa{sv}as)")))
+        return;
 
-	g_variant_get (parameters,
-	               "(&s@a{sv}^a&s)",
-	               NULL,
-	               &changed_properties,
-	               NULL);
+    g_variant_get(parameters, "(&s@a{sv}^a&s)", NULL, &changed_properties, NULL);
 
-	_p2p_group_properties_changed (self, changed_properties);
+    _p2p_group_properties_changed(self, changed_properties);
 }
 
 static void
-_p2p_group_properties_get_all_cb (GVariant *result,
-                                  GError *error,
-                                  gpointer user_data)
+_p2p_group_properties_get_all_cb(GVariant *result, GError *error, gpointer user_data)
 {
-	NMSupplicantInterface *self;
-	NMSupplicantInterfacePrivate *priv;
-	gs_unref_variant GVariant *properties = NULL;
+    NMSupplicantInterface *       self;
+    NMSupplicantInterfacePrivate *priv;
+    gs_unref_variant GVariant *properties = NULL;
 
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	self = NM_SUPPLICANT_INTERFACE (user_data);
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    self = NM_SUPPLICANT_INTERFACE(user_data);
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	g_object_freeze_notify (G_OBJECT (self));
+    g_object_freeze_notify(G_OBJECT(self));
 
-	nm_clear_g_cancellable (&priv->p2p_group_properties_cancellable);
+    nm_clear_g_cancellable(&priv->p2p_group_properties_cancellable);
 
-	if (result)
-		g_variant_get (result, "(@a{sv})", &properties);
+    if (result)
+        g_variant_get(result, "(@a{sv})", &properties);
 
-	_p2p_group_properties_changed (self, properties);
+    _p2p_group_properties_changed(self, properties);
 
-	_starting_check_ready (self);
+    _starting_check_ready(self);
 
-	_notify_maybe_p2p_group (self);
+    _notify_maybe_p2p_group(self);
 
-	g_object_thaw_notify (G_OBJECT (self));
+    g_object_thaw_notify(G_OBJECT(self));
 }
 
 static void
-_p2p_group_set_path (NMSupplicantInterface *self,
-                     const char *path)
+_p2p_group_set_path(NMSupplicantInterface *self, const char *path)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	nm_auto_ref_string NMRefString *group_path = NULL;
+    NMSupplicantInterfacePrivate *priv         = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    nm_auto_ref_string NMRefString *group_path = NULL;
 
-	group_path = nm_ref_string_new (nm_dbus_path_not_empty (path));
+    group_path = nm_ref_string_new(nm_dbus_path_not_empty(path));
 
-	if (priv->p2p_group_path == group_path)
-		return;
+    if (priv->p2p_group_path == group_path)
+        return;
 
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->p2p_group_properties_changed_id);
-	nm_clear_g_cancellable (&priv->p2p_group_properties_cancellable);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection,
+                                      &priv->p2p_group_properties_changed_id);
+    nm_clear_g_cancellable(&priv->p2p_group_properties_cancellable);
 
-	nm_ref_string_unref (priv->p2p_group_path);
-	priv->p2p_group_path = g_steal_pointer (&group_path);
+    nm_ref_string_unref(priv->p2p_group_path);
+    priv->p2p_group_path = g_steal_pointer(&group_path);
 
-	if (priv->p2p_group_path) {
-		priv->p2p_group_properties_cancellable = g_cancellable_new ();
-		priv->p2p_group_properties_changed_id = nm_dbus_connection_signal_subscribe_properties_changed (priv->dbus_connection,
-		                                                                                                priv->name_owner->str,
-		                                                                                                priv->p2p_group_path->str,
-		                                                                                                NM_WPAS_DBUS_IFACE_GROUP,
-		                                                                                                _p2p_group_properties_changed_cb,
-		                                                                                                self,
-		                                                                                                NULL);
-		nm_dbus_connection_call_get_all (priv->dbus_connection,
-		                                 priv->name_owner->str,
-		                                 priv->p2p_group_path->str,
-		                                 NM_WPAS_DBUS_IFACE_GROUP,
-		                                 5000,
-		                                 priv->p2p_group_properties_cancellable,
-		                                 _p2p_group_properties_get_all_cb,
-		                                 self);
-	}
+    if (priv->p2p_group_path) {
+        priv->p2p_group_properties_cancellable = g_cancellable_new();
+        priv->p2p_group_properties_changed_id =
+            nm_dbus_connection_signal_subscribe_properties_changed(priv->dbus_connection,
+                                                                   priv->name_owner->str,
+                                                                   priv->p2p_group_path->str,
+                                                                   NM_WPAS_DBUS_IFACE_GROUP,
+                                                                   _p2p_group_properties_changed_cb,
+                                                                   self,
+                                                                   NULL);
+        nm_dbus_connection_call_get_all(priv->dbus_connection,
+                                        priv->name_owner->str,
+                                        priv->p2p_group_path->str,
+                                        NM_WPAS_DBUS_IFACE_GROUP,
+                                        5000,
+                                        priv->p2p_group_properties_cancellable,
+                                        _p2p_group_properties_get_all_cb,
+                                        self);
+    }
 
-	_notify (self, PROP_P2P_GROUP_PATH);
-	_notify_maybe_p2p_group (self);
+    _notify(self, PROP_P2P_GROUP_PATH);
+    _notify_maybe_p2p_group(self);
 
-	nm_assert_starting_has_pending_count (priv->starting_pending_count);
+    nm_assert_starting_has_pending_count(priv->starting_pending_count);
 }
 
 /*****************************************************************************/
 
 static void
-_wps_data_free (WpsData *wps_data,
-                GDBusConnection *dbus_connection)
+_wps_data_free(WpsData *wps_data, GDBusConnection *dbus_connection)
 {
-	nm_clear_g_dbus_connection_signal (dbus_connection,
-	                                   &wps_data->signal_id);
-	nm_clear_g_cancellable (&wps_data->cancellable);
-	g_free (wps_data->type);
-	g_free (wps_data->pin);
-	g_free (wps_data->bssid);
-	nm_g_slice_free (wps_data);
+    nm_clear_g_dbus_connection_signal(dbus_connection, &wps_data->signal_id);
+    nm_clear_g_cancellable(&wps_data->cancellable);
+    g_free(wps_data->type);
+    g_free(wps_data->pin);
+    g_free(wps_data->bssid);
+    nm_g_slice_free(wps_data);
 }
 
 static void
-_wps_credentials_changed_cb (GDBusConnection *connection,
-                             const char *sender_name,
-                             const char *object_path,
-                             const char *signal_interface_name,
-                             const char *signal_name,
-                             GVariant *parameters,
-                             gpointer user_data)
+_wps_credentials_changed_cb(GDBusConnection *connection,
+                            const char *     sender_name,
+                            const char *     object_path,
+                            const char *     signal_interface_name,
+                            const char *     signal_name,
+                            GVariant *       parameters,
+                            gpointer         user_data)
 {
-	NMSupplicantInterface *self = user_data;
-	gs_unref_variant GVariant *props = NULL;
+    NMSupplicantInterface *self      = user_data;
+    gs_unref_variant GVariant *props = NULL;
 
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(a{sv})")))
-		return;
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(a{sv})")))
+        return;
 
-	g_variant_get (parameters, "(@a{sv})", &props);
+    g_variant_get(parameters, "(@a{sv})", &props);
 
-	_LOGT ("wps: new credentials");
-	g_signal_emit (self, signals[WPS_CREDENTIALS], 0, props);
+    _LOGT("wps: new credentials");
+    g_signal_emit(self, signals[WPS_CREDENTIALS], 0, props);
 }
 
 static void
-_wps_handle_start_cb (GObject *source,
-                      GAsyncResult *result,
-                      gpointer user_data)
+_wps_handle_start_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	NMSupplicantInterface *self;
-	WpsData *wps_data;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
+    NMSupplicantInterface *self;
+    WpsData *              wps_data;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
 
-	res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    res = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	wps_data = user_data;
-	self = wps_data->self;
+    wps_data = user_data;
+    self     = wps_data->self;
 
-	if (res)
-		_LOGT ("wps: started with success");
-	else
-		_LOGW ("wps: start failed with %s", error->message);
+    if (res)
+        _LOGT("wps: started with success");
+    else
+        _LOGW("wps: start failed with %s", error->message);
 
-	g_clear_object (&wps_data->cancellable);
-	nm_clear_g_free (&wps_data->type);
-	nm_clear_g_free (&wps_data->pin);
-	nm_clear_g_free (&wps_data->bssid);
+    g_clear_object(&wps_data->cancellable);
+    nm_clear_g_free(&wps_data->type);
+    nm_clear_g_free(&wps_data->pin);
+    nm_clear_g_free(&wps_data->bssid);
 }
 
 static void
-_wps_handle_set_pc_cb (GVariant *res,
-                       GError *error,
-                       gpointer user_data)
-{
-	NMSupplicantInterface *self;
-	NMSupplicantInterfacePrivate *priv;
-	WpsData *wps_data;
-	GVariantBuilder start_args;
-	guint8 bssid_buf[ETH_ALEN];
-
-	if (nm_utils_error_is_cancelled (error))
-		return;
-
-	wps_data = user_data;
-	self = wps_data->self;
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-
-	if (res)
-		_LOGT ("wps: ProcessCredentials successfully set, starting...");
-	else
-		_LOGW ("wps: ProcessCredentials failed to set (%s), starting...", error->message);
-
-	wps_data->signal_id = g_dbus_connection_signal_subscribe (priv->dbus_connection,
-	                                                          priv->name_owner->str,
-	                                                          NM_WPAS_DBUS_IFACE_INTERFACE_WPS,
-	                                                          "Credentials",
-	                                                          priv->object_path->str,
-	                                                          NULL,
-	                                                          G_DBUS_SIGNAL_FLAGS_NONE,
-	                                                          _wps_credentials_changed_cb,
-	                                                          self,
-	                                                          NULL);
-
-	g_variant_builder_init (&start_args, G_VARIANT_TYPE_VARDICT);
-	g_variant_builder_add (&start_args, "{sv}", "Role", g_variant_new_string ("enrollee"));
-	g_variant_builder_add (&start_args, "{sv}", "Type", g_variant_new_string (wps_data->type));
-	if (wps_data->pin)
-		g_variant_builder_add (&start_args, "{sv}", "Pin", g_variant_new_string (wps_data->pin));
-	if (wps_data->bssid) {
-		/* The BSSID is in fact not mandatory. If it is not set the supplicant would
-		 * enroll with any BSS in range. */
-		if (!nm_utils_hwaddr_aton (wps_data->bssid, bssid_buf, sizeof (bssid_buf)))
-			nm_assert_not_reached ();
-		g_variant_builder_add (&start_args, "{sv}", "Bssid",
-		                       g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, bssid_buf,
-		                                                  ETH_ALEN, sizeof (guint8)));
-	}
-
-	wps_data->needs_cancelling = TRUE;
-	if (!wps_data->cancellable)
-		wps_data->cancellable = g_cancellable_new ();
-
-	_dbus_connection_call (self,
-	                       NM_WPAS_DBUS_IFACE_INTERFACE_WPS,
-	                       "Start",
-	                       g_variant_new ("(a{sv})", &start_args),
-	                       G_VARIANT_TYPE ("(a{sv})"),
-	                       G_DBUS_CALL_FLAGS_NONE,
-	                       5000,
-	                       wps_data->cancellable,
-	                       _wps_handle_start_cb,
-	                       wps_data);
+_wps_handle_set_pc_cb(GVariant *res, GError *error, gpointer user_data)
+{
+    NMSupplicantInterface *       self;
+    NMSupplicantInterfacePrivate *priv;
+    WpsData *                     wps_data;
+    GVariantBuilder               start_args;
+    guint8                        bssid_buf[ETH_ALEN];
+
+    if (nm_utils_error_is_cancelled(error))
+        return;
+
+    wps_data = user_data;
+    self     = wps_data->self;
+    priv     = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    if (res)
+        _LOGT("wps: ProcessCredentials successfully set, starting...");
+    else
+        _LOGW("wps: ProcessCredentials failed to set (%s), starting...", error->message);
+
+    wps_data->signal_id = g_dbus_connection_signal_subscribe(priv->dbus_connection,
+                                                             priv->name_owner->str,
+                                                             NM_WPAS_DBUS_IFACE_INTERFACE_WPS,
+                                                             "Credentials",
+                                                             priv->object_path->str,
+                                                             NULL,
+                                                             G_DBUS_SIGNAL_FLAGS_NONE,
+                                                             _wps_credentials_changed_cb,
+                                                             self,
+                                                             NULL);
+
+    g_variant_builder_init(&start_args, G_VARIANT_TYPE_VARDICT);
+    g_variant_builder_add(&start_args, "{sv}", "Role", g_variant_new_string("enrollee"));
+    g_variant_builder_add(&start_args, "{sv}", "Type", g_variant_new_string(wps_data->type));
+    if (wps_data->pin)
+        g_variant_builder_add(&start_args, "{sv}", "Pin", g_variant_new_string(wps_data->pin));
+    if (wps_data->bssid) {
+        /* The BSSID is in fact not mandatory. If it is not set the supplicant would
+         * enroll with any BSS in range. */
+        if (!nm_utils_hwaddr_aton(wps_data->bssid, bssid_buf, sizeof(bssid_buf)))
+            nm_assert_not_reached();
+        g_variant_builder_add(
+            &start_args,
+            "{sv}",
+            "Bssid",
+            g_variant_new_fixed_array(G_VARIANT_TYPE_BYTE, bssid_buf, ETH_ALEN, sizeof(guint8)));
+    }
+
+    wps_data->needs_cancelling = TRUE;
+    if (!wps_data->cancellable)
+        wps_data->cancellable = g_cancellable_new();
+
+    _dbus_connection_call(self,
+                          NM_WPAS_DBUS_IFACE_INTERFACE_WPS,
+                          "Start",
+                          g_variant_new("(a{sv})", &start_args),
+                          G_VARIANT_TYPE("(a{sv})"),
+                          G_DBUS_CALL_FLAGS_NONE,
+                          5000,
+                          wps_data->cancellable,
+                          _wps_handle_start_cb,
+                          wps_data);
 }
 
 static void
-_wps_call_set_pc (NMSupplicantInterface *self,
-                  WpsData *wps_data)
+_wps_call_set_pc(NMSupplicantInterface *self, WpsData *wps_data)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	if (!wps_data->cancellable)
-		wps_data->cancellable = g_cancellable_new ();
+    if (!wps_data->cancellable)
+        wps_data->cancellable = g_cancellable_new();
 
-	nm_dbus_connection_call_set (priv->dbus_connection,
-	                             priv->name_owner->str,
-	                             priv->object_path->str,
-	                             NM_WPAS_DBUS_IFACE_INTERFACE_WPS,
-	                             "ProcessCredentials",
-	                             g_variant_new_boolean (TRUE),
-	                             5000,
-	                             wps_data->cancellable,
-	                             _wps_handle_set_pc_cb,
-	                             wps_data);
+    nm_dbus_connection_call_set(priv->dbus_connection,
+                                priv->name_owner->str,
+                                priv->object_path->str,
+                                NM_WPAS_DBUS_IFACE_INTERFACE_WPS,
+                                "ProcessCredentials",
+                                g_variant_new_boolean(TRUE),
+                                5000,
+                                wps_data->cancellable,
+                                _wps_handle_set_pc_cb,
+                                wps_data);
 }
 
 static void
-_wps_handle_cancel_cb (GObject *source,
-                       GAsyncResult *result,
-                       gpointer user_data)
-{
-	GDBusConnection *dbus_connection = G_DBUS_CONNECTION (source);
-	NMSupplicantInterface *self;
-	NMSupplicantInterfacePrivate *priv;
-	WpsData *wps_data;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
-
-	res = g_dbus_connection_call_finish (dbus_connection, result, &error);
-	nm_assert (!nm_utils_error_is_cancelled (error));
-
-	wps_data = user_data;
-	self = wps_data->self;
-
-	if (!self) {
-		_wps_data_free (wps_data, dbus_connection);
-		if (res)
-			_LOGT ("wps: cancel completed successfully, after supplicant interface is gone");
-		else
-			_LOGW ("wps: cancel failed (%s), after supplicant interface is gone", error->message);
-		return;
-	}
-
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-
-	wps_data->is_cancelling = FALSE;
-
-	if (!wps_data->type) {
-		priv->wps_data = NULL;
-		_wps_data_free (wps_data, dbus_connection);
-		if (res)
-			_LOGT ("wps: cancel completed successfully");
-		else
-			_LOGW ("wps: cancel failed (%s)", error->message);
-		return;
-	}
-
-	if (res)
-		_LOGT ("wps: cancel completed successfully, setting ProcessCredentials now...");
-	else
-		_LOGW ("wps: cancel failed (%s), setting ProcessCredentials now...", error->message);
-
-	_wps_call_set_pc (self, wps_data);
+_wps_handle_cancel_cb(GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    GDBusConnection *             dbus_connection = G_DBUS_CONNECTION(source);
+    NMSupplicantInterface *       self;
+    NMSupplicantInterfacePrivate *priv;
+    WpsData *                     wps_data;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
+
+    res = g_dbus_connection_call_finish(dbus_connection, result, &error);
+    nm_assert(!nm_utils_error_is_cancelled(error));
+
+    wps_data = user_data;
+    self     = wps_data->self;
+
+    if (!self) {
+        _wps_data_free(wps_data, dbus_connection);
+        if (res)
+            _LOGT("wps: cancel completed successfully, after supplicant interface is gone");
+        else
+            _LOGW("wps: cancel failed (%s), after supplicant interface is gone", error->message);
+        return;
+    }
+
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    wps_data->is_cancelling = FALSE;
+
+    if (!wps_data->type) {
+        priv->wps_data = NULL;
+        _wps_data_free(wps_data, dbus_connection);
+        if (res)
+            _LOGT("wps: cancel completed successfully");
+        else
+            _LOGW("wps: cancel failed (%s)", error->message);
+        return;
+    }
+
+    if (res)
+        _LOGT("wps: cancel completed successfully, setting ProcessCredentials now...");
+    else
+        _LOGW("wps: cancel failed (%s), setting ProcessCredentials now...", error->message);
+
+    _wps_call_set_pc(self, wps_data);
 }
 
 static void
-_wps_start (NMSupplicantInterface *self,
-            const char *type,
-            const char *bssid,
-            const char *pin)
-{
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	WpsData *wps_data;
-
-	if (type)
-		_LOGI ("wps: type %s start...", type);
-
-	wps_data = priv->wps_data;
-
-	if (!wps_data) {
-		if (!type)
-			return;
-
-		if (priv->state == NM_SUPPLICANT_INTERFACE_STATE_DOWN) {
-			_LOGD ("wps: interface is down. Cannot start with WPS");
-			return;
-		}
-
-		wps_data = g_slice_new (WpsData);
-		*wps_data = (WpsData) {
-			.self        = self,
-			.type        = g_strdup (type),
-			.bssid       = g_strdup (bssid),
-			.pin         = g_strdup (pin),
-		};
-		priv->wps_data = wps_data;
-	} else {
-		g_free (wps_data->type);
-		g_free (wps_data->bssid);
-		g_free (wps_data->pin);
-		wps_data->type = g_strdup (type);
-		wps_data->bssid = g_strdup (bssid);
-		wps_data->pin = g_strdup (pin);
-	}
-
-	if (wps_data->is_cancelling) {
-		/* we wait for cancellation to complete. */
-		return;
-	}
-
-	if (   !type
-	    || wps_data->needs_cancelling) {
-
-		_LOGT ("wps: cancel %senrollment...",
-		       wps_data->needs_cancelling ? "previous " : "");
-
-		wps_data->is_cancelling = TRUE;
-		wps_data->needs_cancelling = FALSE;
-		nm_clear_g_cancellable (&wps_data->cancellable);
-		nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-		                                   &wps_data->signal_id);
-
-		_dbus_connection_call (self,
-		                       NM_WPAS_DBUS_IFACE_INTERFACE_WPS,
-		                       "Cancel",
-		                       NULL,
-		                       G_VARIANT_TYPE ("()"),
-		                       G_DBUS_CALL_FLAGS_NONE,
-		                       5000,
-		                       NULL,
-		                       _wps_handle_cancel_cb,
-		                       wps_data);
-		return;
-	}
-
-	_LOGT ("wps: setting ProcessCredentials...");
-	_wps_call_set_pc (self, wps_data);
+_wps_start(NMSupplicantInterface *self, const char *type, const char *bssid, const char *pin)
+{
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    WpsData *                     wps_data;
+
+    if (type)
+        _LOGI("wps: type %s start...", type);
+
+    wps_data = priv->wps_data;
+
+    if (!wps_data) {
+        if (!type)
+            return;
+
+        if (priv->state == NM_SUPPLICANT_INTERFACE_STATE_DOWN) {
+            _LOGD("wps: interface is down. Cannot start with WPS");
+            return;
+        }
+
+        wps_data  = g_slice_new(WpsData);
+        *wps_data = (WpsData){
+            .self  = self,
+            .type  = g_strdup(type),
+            .bssid = g_strdup(bssid),
+            .pin   = g_strdup(pin),
+        };
+        priv->wps_data = wps_data;
+    } else {
+        g_free(wps_data->type);
+        g_free(wps_data->bssid);
+        g_free(wps_data->pin);
+        wps_data->type  = g_strdup(type);
+        wps_data->bssid = g_strdup(bssid);
+        wps_data->pin   = g_strdup(pin);
+    }
+
+    if (wps_data->is_cancelling) {
+        /* we wait for cancellation to complete. */
+        return;
+    }
+
+    if (!type || wps_data->needs_cancelling) {
+        _LOGT("wps: cancel %senrollment...", wps_data->needs_cancelling ? "previous " : "");
+
+        wps_data->is_cancelling    = TRUE;
+        wps_data->needs_cancelling = FALSE;
+        nm_clear_g_cancellable(&wps_data->cancellable);
+        nm_clear_g_dbus_connection_signal(priv->dbus_connection, &wps_data->signal_id);
+
+        _dbus_connection_call(self,
+                              NM_WPAS_DBUS_IFACE_INTERFACE_WPS,
+                              "Cancel",
+                              NULL,
+                              G_VARIANT_TYPE("()"),
+                              G_DBUS_CALL_FLAGS_NONE,
+                              5000,
+                              NULL,
+                              _wps_handle_cancel_cb,
+                              wps_data);
+        return;
+    }
+
+    _LOGT("wps: setting ProcessCredentials...");
+    _wps_call_set_pc(self, wps_data);
 }
 
 void
-nm_supplicant_interface_enroll_wps (NMSupplicantInterface *self,
-                                    const char *type,
-                                    const char *bssid,
-                                    const char *pin)
+nm_supplicant_interface_enroll_wps(NMSupplicantInterface *self,
+                                   const char *           type,
+                                   const char *           bssid,
+                                   const char *           pin)
 {
-	_wps_start (self, type, bssid, pin);
+    _wps_start(self, type, bssid, pin);
 }
 
 void
-nm_supplicant_interface_cancel_wps (NMSupplicantInterface *self)
+nm_supplicant_interface_cancel_wps(NMSupplicantInterface *self)
 {
-	_wps_start (self, NULL, NULL, NULL);
+    _wps_start(self, NULL, NULL, NULL);
 }
 
 /*****************************************************************************/
 
 static void
-iface_introspect_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+iface_introspect_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	NMSupplicantInterface *self;
-	NMSupplicantInterfacePrivate *priv;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
-	const char *data;
-	NMTernary value;
+    NMSupplicantInterface *       self;
+    NMSupplicantInterfacePrivate *priv;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
+    const char *          data;
+    NMTernary             value;
 
-	res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    res = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	self = NM_SUPPLICANT_INTERFACE (user_data);
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    self = NM_SUPPLICANT_INTERFACE(user_data);
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	nm_assert (NM_SUPPL_CAP_MASK_GET (priv->global_capabilities, NM_SUPPL_CAP_TYPE_AP) == NM_TERNARY_DEFAULT);
+    nm_assert(NM_SUPPL_CAP_MASK_GET(priv->global_capabilities, NM_SUPPL_CAP_TYPE_AP)
+              == NM_TERNARY_DEFAULT);
 
-	value = NM_TERNARY_DEFAULT;
-	if (res) {
-		g_variant_get (res, "(&s)", &data);
+    value = NM_TERNARY_DEFAULT;
+    if (res) {
+        g_variant_get(res, "(&s)", &data);
 
-		/* The ProbeRequest method only exists if AP mode has been enabled */
-		value =   strstr (data, "ProbeRequest")
-		        ? NM_TERNARY_TRUE
-		        : NM_TERNARY_FALSE;
-	}
+        /* The ProbeRequest method only exists if AP mode has been enabled */
+        value = strstr(data, "ProbeRequest") ? NM_TERNARY_TRUE : NM_TERNARY_FALSE;
+    }
 
-	priv->iface_capabilities = NM_SUPPL_CAP_MASK_SET (priv->iface_capabilities, NM_SUPPL_CAP_TYPE_AP, value);
+    priv->iface_capabilities =
+        NM_SUPPL_CAP_MASK_SET(priv->iface_capabilities, NM_SUPPL_CAP_TYPE_AP, value);
 
-	priv->starting_pending_count--;
-	_starting_check_ready (self);
+    priv->starting_pending_count--;
+    _starting_check_ready(self);
 }
 
 static void
-_properties_changed_main (NMSupplicantInterface *self,
-                          GVariant *properties)
-{
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	const char **v_strv;
-	const char *v_s;
-	gboolean v_b;
-	gint32 v_i32;
-	GVariant *v_v;
-	gboolean do_log_driver_info = FALSE;
-	gboolean do_set_state = FALSE;
-	gboolean do_notify_current_bss = FALSE;
-
-	nm_assert (properties || g_variant_is_of_type (properties, G_VARIANT_TYPE ("a{sv}")));
-
-	v_v = g_variant_lookup_value (properties, "Capabilities", G_VARIANT_TYPE_VARDICT);
-	if (v_v) {
-		parse_capabilities (self, v_v);
-		g_variant_unref (v_v);
-	}
-
-	if (nm_g_variant_lookup (properties, "Scanning", "b", &v_b)) {
-		if (priv->scanning_property != (!!v_b)) {
-			_LOGT ("scanning: %s (plain property)", v_b ? "yes" : "no");
-			priv->scanning_property = v_b;
-		}
-	}
-
-	if (nm_g_variant_lookup (properties, "Ifname", "&s", &v_s)) {
-		if (nm_utils_strdup_reset (&priv->ifname, v_s))
-			do_log_driver_info = TRUE;
-	}
-	if (nm_g_variant_lookup (properties, "Driver", "&s", &v_s)) {
-		if (nm_utils_strdup_reset (&priv->driver, v_s))
-			do_log_driver_info = TRUE;
-	}
-
-	if (nm_g_variant_lookup (properties, "DisconnectReason", "i", &v_i32)) {
-		/* Disconnect reason is currently only given for deauthentication events,
-		 * not disassociation; currently they are IEEE 802.11 "reason codes",
-		 * defined by (IEEE 802.11-2007, 7.3.1.7, Table 7-22).  Any locally caused
-		 * deauthentication will be negative, while authentications caused by the
-		 * AP will be positive.
-		 */
-		priv->disconnect_reason = v_i32;
-	}
-
-	if (nm_g_variant_lookup (properties, "State", "&s", &v_s)) {
-		NMSupplicantInterfaceState state;
-
-		state = wpas_state_string_to_enum (v_s);
-		if (state == NM_SUPPLICANT_INTERFACE_STATE_INVALID)
-			_LOGT ("state: ignore unknown supplicant state '%s' (is %s, plain property)",
-			       v_s,
-			       nm_supplicant_interface_state_to_string (priv->supp_state));
-		else if (priv->supp_state != state) {
-			_LOGT ("state: %s (was %s, plain property)",
-			       nm_supplicant_interface_state_to_string (state),
-			       nm_supplicant_interface_state_to_string (priv->supp_state));
-			priv->supp_state = state;
-			if (priv->state > NM_SUPPLICANT_INTERFACE_STATE_STARTING) {
-				/* Only transition to actual wpa_supplicant interface states (ie,
-				 * anything > STARTING) after the NMSupplicantInterface has had a
-				 * chance to initialize, which is signalled by entering the STARTING
-				 * state.
-				 */
-				do_set_state = TRUE;
-			}
-		}
-	}
-
-	if (nm_g_variant_lookup (properties, "CurrentBSS", "&o", &v_s)) {
-		v_s = nm_dbus_path_not_empty (v_s);
-		if (!nm_ref_string_equals_str (priv->current_bss, v_s)) {
-			nm_ref_string_unref (priv->current_bss);
-			priv->current_bss = nm_ref_string_new (v_s);
-			do_notify_current_bss = TRUE;
-		}
-	}
-
-	if (do_log_driver_info) {
-		_LOGD ("supplicant interface for ifindex=%d, ifname=%s%s%s, driver=%s%s%s (requested %s)",
-		       priv->ifindex,
-		       NM_PRINT_FMT_QUOTE_STRING (priv->ifname),
-		       NM_PRINT_FMT_QUOTE_STRING (priv->driver),
-		       nm_supplicant_driver_to_string (priv->requested_driver));
-	}
-
-	if (nm_g_variant_lookup (properties, "BSSs", "^a&o", &v_strv)) {
-		NMSupplicantBssInfo *bss_info;
-		NMSupplicantBssInfo *bss_info_safe;
-		const char **iter;
-
-		c_list_for_each_entry (bss_info, &priv->bss_lst_head, _bss_lst)
-			bss_info->_bss_dirty = TRUE;
-		c_list_for_each_entry (bss_info, &priv->bss_initializing_lst_head, _bss_lst)
-			bss_info->_bss_dirty = TRUE;
-
-		for (iter = v_strv; *iter; iter++)
-			_bss_info_add (self, *iter);
-
-		g_free (v_strv);
-
-		c_list_for_each_entry_safe (bss_info, bss_info_safe, &priv->bss_initializing_lst_head, _bss_lst) {
-			if (bss_info->_bss_dirty)
-				_bss_info_remove (self, &bss_info->bss_path);
-		}
-		c_list_for_each_entry_safe (bss_info, bss_info_safe, &priv->bss_lst_head, _bss_lst) {
-			if (bss_info->_bss_dirty)
-				_bss_info_remove (self, &bss_info->bss_path);
-		}
-	}
-
-	if (do_notify_current_bss)
-		_notify (self, PROP_CURRENT_BSS);
-
-	if (do_set_state)
-		set_state (self, priv->supp_state);
-
-	_notify_maybe_scanning (self);
+_properties_changed_main(NMSupplicantInterface *self, GVariant *properties)
+{
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    const char **                 v_strv;
+    const char *                  v_s;
+    gboolean                      v_b;
+    gint32                        v_i32;
+    GVariant *                    v_v;
+    gboolean                      do_log_driver_info    = FALSE;
+    gboolean                      do_set_state          = FALSE;
+    gboolean                      do_notify_current_bss = FALSE;
+
+    nm_assert(properties || g_variant_is_of_type(properties, G_VARIANT_TYPE("a{sv}")));
+
+    v_v = g_variant_lookup_value(properties, "Capabilities", G_VARIANT_TYPE_VARDICT);
+    if (v_v) {
+        parse_capabilities(self, v_v);
+        g_variant_unref(v_v);
+    }
+
+    if (nm_g_variant_lookup(properties, "Scanning", "b", &v_b)) {
+        if (priv->scanning_property != (!!v_b)) {
+            _LOGT("scanning: %s (plain property)", v_b ? "yes" : "no");
+            priv->scanning_property = v_b;
+        }
+    }
+
+    if (nm_g_variant_lookup(properties, "Ifname", "&s", &v_s)) {
+        if (nm_utils_strdup_reset(&priv->ifname, v_s))
+            do_log_driver_info = TRUE;
+    }
+    if (nm_g_variant_lookup(properties, "Driver", "&s", &v_s)) {
+        if (nm_utils_strdup_reset(&priv->driver, v_s))
+            do_log_driver_info = TRUE;
+    }
+
+    if (nm_g_variant_lookup(properties, "DisconnectReason", "i", &v_i32)) {
+        /* Disconnect reason is currently only given for deauthentication events,
+         * not disassociation; currently they are IEEE 802.11 "reason codes",
+         * defined by (IEEE 802.11-2007, 7.3.1.7, Table 7-22).  Any locally caused
+         * deauthentication will be negative, while authentications caused by the
+         * AP will be positive.
+         */
+        priv->disconnect_reason = v_i32;
+    }
+
+    if (nm_g_variant_lookup(properties, "State", "&s", &v_s)) {
+        NMSupplicantInterfaceState state;
+
+        state = wpas_state_string_to_enum(v_s);
+        if (state == NM_SUPPLICANT_INTERFACE_STATE_INVALID)
+            _LOGT("state: ignore unknown supplicant state '%s' (is %s, plain property)",
+                  v_s,
+                  nm_supplicant_interface_state_to_string(priv->supp_state));
+        else if (priv->supp_state != state) {
+            _LOGT("state: %s (was %s, plain property)",
+                  nm_supplicant_interface_state_to_string(state),
+                  nm_supplicant_interface_state_to_string(priv->supp_state));
+            priv->supp_state = state;
+            if (priv->state > NM_SUPPLICANT_INTERFACE_STATE_STARTING) {
+                /* Only transition to actual wpa_supplicant interface states (ie,
+                 * anything > STARTING) after the NMSupplicantInterface has had a
+                 * chance to initialize, which is signalled by entering the STARTING
+                 * state.
+                 */
+                do_set_state = TRUE;
+            }
+        }
+    }
+
+    if (nm_g_variant_lookup(properties, "CurrentBSS", "&o", &v_s)) {
+        v_s = nm_dbus_path_not_empty(v_s);
+        if (!nm_ref_string_equals_str(priv->current_bss, v_s)) {
+            nm_ref_string_unref(priv->current_bss);
+            priv->current_bss     = nm_ref_string_new(v_s);
+            do_notify_current_bss = TRUE;
+        }
+    }
+
+    if (nm_g_variant_lookup(properties, "ApIsolate", "&s", &v_s))
+        priv->ap_isolate_supported = TRUE;
+
+    if (do_log_driver_info) {
+        _LOGD("supplicant interface for ifindex=%d, ifname=%s%s%s, driver=%s%s%s (requested %s)",
+              priv->ifindex,
+              NM_PRINT_FMT_QUOTE_STRING(priv->ifname),
+              NM_PRINT_FMT_QUOTE_STRING(priv->driver),
+              nm_supplicant_driver_to_string(priv->requested_driver));
+    }
+
+    if (nm_g_variant_lookup(properties, "BSSs", "^a&o", &v_strv)) {
+        NMSupplicantBssInfo *bss_info;
+        NMSupplicantBssInfo *bss_info_safe;
+        const char **        iter;
+
+        c_list_for_each_entry (bss_info, &priv->bss_lst_head, _bss_lst)
+            bss_info->_bss_dirty = TRUE;
+        c_list_for_each_entry (bss_info, &priv->bss_initializing_lst_head, _bss_lst)
+            bss_info->_bss_dirty = TRUE;
+
+        for (iter = v_strv; *iter; iter++)
+            _bss_info_add(self, *iter);
+
+        g_free(v_strv);
+
+        c_list_for_each_entry_safe (bss_info,
+                                    bss_info_safe,
+                                    &priv->bss_initializing_lst_head,
+                                    _bss_lst) {
+            if (bss_info->_bss_dirty)
+                _bss_info_remove(self, &bss_info->bss_path);
+        }
+        c_list_for_each_entry_safe (bss_info, bss_info_safe, &priv->bss_lst_head, _bss_lst) {
+            if (bss_info->_bss_dirty)
+                _bss_info_remove(self, &bss_info->bss_path);
+        }
+    }
+
+    if (do_notify_current_bss)
+        _notify(self, PROP_CURRENT_BSS);
+
+    if (do_set_state)
+        set_state(self, priv->supp_state);
+
+    _notify_maybe_scanning(self);
 }
 
 static void
-_properties_changed_p2p_device (NMSupplicantInterface *self,
-                                GVariant *properties)
+_properties_changed_p2p_device(NMSupplicantInterface *self, GVariant *properties)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	const char **v_strv;
-	const char *v_s;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    const char **                 v_strv;
+    const char *                  v_s;
 
-	nm_assert (!properties || g_variant_is_of_type (properties, G_VARIANT_TYPE ("a{sv}")));
+    nm_assert(!properties || g_variant_is_of_type(properties, G_VARIANT_TYPE("a{sv}")));
 
-	if (nm_g_variant_lookup (properties, "Peers", "^a&o", &v_strv)) {
-		NMSupplicantPeerInfo *peer_info;
-		NMSupplicantPeerInfo *peer_info_safe;
-		const char *const*iter;
+    if (nm_g_variant_lookup(properties, "Peers", "^a&o", &v_strv)) {
+        NMSupplicantPeerInfo *peer_info;
+        NMSupplicantPeerInfo *peer_info_safe;
+        const char *const *   iter;
 
-		c_list_for_each_entry (peer_info, &priv->peer_lst_head, _peer_lst)
-			peer_info->_peer_dirty = TRUE;
-		c_list_for_each_entry (peer_info, &priv->peer_initializing_lst_head, _peer_lst)
-			peer_info->_peer_dirty = TRUE;
+        c_list_for_each_entry (peer_info, &priv->peer_lst_head, _peer_lst)
+            peer_info->_peer_dirty = TRUE;
+        c_list_for_each_entry (peer_info, &priv->peer_initializing_lst_head, _peer_lst)
+            peer_info->_peer_dirty = TRUE;
 
-		for (iter = v_strv; *iter; iter++)
-			_peer_info_add (self, *iter);
+        for (iter = v_strv; *iter; iter++)
+            _peer_info_add(self, *iter);
 
-		g_free (v_strv);
+        g_free(v_strv);
 
-		c_list_for_each_entry_safe (peer_info, peer_info_safe, &priv->peer_initializing_lst_head, _peer_lst) {
-			if (peer_info->_peer_dirty)
-				_peer_info_remove (self, &peer_info->peer_path);
-		}
-		c_list_for_each_entry_safe (peer_info, peer_info_safe, &priv->peer_lst_head, _peer_lst) {
-			if (peer_info->_peer_dirty)
-				_peer_info_remove (self, &peer_info->peer_path);
-		}
-	}
+        c_list_for_each_entry_safe (peer_info,
+                                    peer_info_safe,
+                                    &priv->peer_initializing_lst_head,
+                                    _peer_lst) {
+            if (peer_info->_peer_dirty)
+                _peer_info_remove(self, &peer_info->peer_path);
+        }
+        c_list_for_each_entry_safe (peer_info, peer_info_safe, &priv->peer_lst_head, _peer_lst) {
+            if (peer_info->_peer_dirty)
+                _peer_info_remove(self, &peer_info->peer_path);
+        }
+    }
 
-	if (nm_g_variant_lookup (properties, "Group", "&o", &v_s))
-		_p2p_group_set_path (self, v_s);
+    if (nm_g_variant_lookup(properties, "Group", "&o", &v_s))
+        _p2p_group_set_path(self, v_s);
 }
 
 /*****************************************************************************/
 
 static void
-assoc_return (NMSupplicantInterface *self,
-              GError *error,
-              const char *message)
+assoc_return(NMSupplicantInterface *self, GError *error, const char *message)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	AssocData *assoc_data;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    AssocData *                   assoc_data;
 
-	assoc_data = g_steal_pointer (&priv->assoc_data);
-	if (!assoc_data)
-		return;
+    assoc_data = g_steal_pointer(&priv->assoc_data);
+    if (!assoc_data)
+        return;
 
-	if (error) {
-		g_dbus_error_strip_remote_error (error);
-		_LOGW ("assoc["NM_HASH_OBFUSCATE_PTR_FMT"]: %s: %s",
-		       NM_HASH_OBFUSCATE_PTR (assoc_data),
-		       message,
-		       error->message);
-	} else {
-		_LOGD ("assoc["NM_HASH_OBFUSCATE_PTR_FMT"]: association request successful",
-		       NM_HASH_OBFUSCATE_PTR (assoc_data));
-	}
+    if (error) {
+        g_dbus_error_strip_remote_error(error);
+        _LOGW("assoc[" NM_HASH_OBFUSCATE_PTR_FMT "]: %s: %s",
+              NM_HASH_OBFUSCATE_PTR(assoc_data),
+              message,
+              error->message);
+    } else {
+        _LOGD("assoc[" NM_HASH_OBFUSCATE_PTR_FMT "]: association request successful",
+              NM_HASH_OBFUSCATE_PTR(assoc_data));
+    }
 
-	if (assoc_data->add_network_data) {
-		/* signal that this request already completed */
-		assoc_data->add_network_data->assoc_data = NULL;
-	}
+    if (assoc_data->add_network_data) {
+        /* signal that this request already completed */
+        assoc_data->add_network_data->assoc_data = NULL;
+    }
 
-	nm_clear_g_source (&assoc_data->fail_on_idle_id);
-	nm_clear_g_cancellable (&assoc_data->cancellable);
+    nm_clear_g_source(&assoc_data->fail_on_idle_id);
+    nm_clear_g_cancellable(&assoc_data->cancellable);
 
-	if (assoc_data->callback)
-		assoc_data->callback (self, error, assoc_data->user_data);
+    if (assoc_data->callback)
+        assoc_data->callback(self, error, assoc_data->user_data);
 
-	g_object_unref (assoc_data->cfg);
-	g_slice_free (AssocData, assoc_data);
+    g_object_unref(assoc_data->cfg);
+    g_slice_free(AssocData, assoc_data);
 }
 
 void
-nm_supplicant_interface_disconnect (NMSupplicantInterface * self)
+nm_supplicant_interface_disconnect(NMSupplicantInterface *self)
 {
-	NMSupplicantInterfacePrivate *priv;
+    NMSupplicantInterfacePrivate *priv;
 
-	g_return_if_fail (NM_IS_SUPPLICANT_INTERFACE (self));
+    g_return_if_fail(NM_IS_SUPPLICANT_INTERFACE(self));
 
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	/* Disconnect from the current AP */
-	if (   (priv->state >= NM_SUPPLICANT_INTERFACE_STATE_SCANNING)
-	    && (priv->state <= NM_SUPPLICANT_INTERFACE_STATE_COMPLETED)) {
-		_dbus_connection_call_simple (self,
-		                              NM_WPAS_DBUS_IFACE_INTERFACE,
-		                              "Disconnect",
-		                              NULL,
-		                              G_VARIANT_TYPE ("()"),
-		                              "disconnect");
-	}
+    /* Disconnect from the current AP */
+    if ((priv->state >= NM_SUPPLICANT_INTERFACE_STATE_SCANNING)
+        && (priv->state <= NM_SUPPLICANT_INTERFACE_STATE_COMPLETED)) {
+        _dbus_connection_call_simple(self,
+                                     NM_WPAS_DBUS_IFACE_INTERFACE,
+                                     "Disconnect",
+                                     NULL,
+                                     G_VARIANT_TYPE("()"),
+                                     "disconnect");
+    }
 
-	_remove_network (self);
+    _remove_network(self);
 
-	/* Cancel any WPS enrollment, if any */
-	nm_supplicant_interface_cancel_wps (self);
+    /* Cancel any WPS enrollment, if any */
+    nm_supplicant_interface_cancel_wps(self);
 
-	/* Cancel all pending calls related to a prior connection attempt */
-	if (priv->assoc_data) {
-		gs_free_error GError *error = NULL;
+    /* Cancel all pending calls related to a prior connection attempt */
+    if (priv->assoc_data) {
+        gs_free_error GError *error = NULL;
 
-		nm_utils_error_set_cancelled (&error, FALSE, "NMSupplicantInterface");
-		assoc_return (self, error, "abort due to disconnect");
-	}
+        nm_utils_error_set_cancelled(&error, FALSE, "NMSupplicantInterface");
+        assoc_return(self, error, "abort due to disconnect");
+    }
 }
 
 static void
-disconnect_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+disconnect_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	gs_unref_object NMSupplicantInterface *self = NULL;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
-	NMSupplicantInterfaceDisconnectCb callback;
-	gpointer callback_user_data;
+    gs_unref_object NMSupplicantInterface *self = NULL;
+    gs_unref_variant GVariant *res              = NULL;
+    gs_free_error GError *            error     = NULL;
+    NMSupplicantInterfaceDisconnectCb callback;
+    gpointer                          callback_user_data;
 
-	nm_utils_user_data_unpack (user_data, &self, &callback, &callback_user_data);
+    nm_utils_user_data_unpack(user_data, &self, &callback, &callback_user_data);
 
-	res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
+    res = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
 
-	if (   !res
-	    && !strstr (error->message, "fi.w1.wpa_supplicant1.NotConnected")) {
-		/* an already disconnected interface is not an error*/
-		g_clear_error(&error);
-	}
+    if (!res && !strstr(error->message, "fi.w1.wpa_supplicant1.NotConnected")) {
+        /* an already disconnected interface is not an error*/
+        g_clear_error(&error);
+    }
 
-	callback (self, error, callback_user_data);
+    callback(self, error, callback_user_data);
 }
 
 void
-nm_supplicant_interface_disconnect_async (NMSupplicantInterface *self,
-                                          GCancellable *cancellable,
-                                          NMSupplicantInterfaceDisconnectCb callback,
-                                          gpointer user_data)
-{
-	g_return_if_fail (NM_IS_SUPPLICANT_INTERFACE (self));
-	g_return_if_fail (callback);
-
-	_dbus_connection_call (self,
-	                       NM_WPAS_DBUS_IFACE_INTERFACE,
-	                       "Disconnect",
-	                       NULL,
-	                       G_VARIANT_TYPE ("()"),
-	                       G_DBUS_CALL_FLAGS_NONE,
-	                       DBUS_TIMEOUT_MSEC,
-	                       cancellable,
-	                       disconnect_cb,
-	                       nm_utils_user_data_pack (g_object_ref (self), callback, user_data));
+nm_supplicant_interface_disconnect_async(NMSupplicantInterface *           self,
+                                         GCancellable *                    cancellable,
+                                         NMSupplicantInterfaceDisconnectCb callback,
+                                         gpointer                          user_data)
+{
+    g_return_if_fail(NM_IS_SUPPLICANT_INTERFACE(self));
+    g_return_if_fail(callback);
+
+    _dbus_connection_call(self,
+                          NM_WPAS_DBUS_IFACE_INTERFACE,
+                          "Disconnect",
+                          NULL,
+                          G_VARIANT_TYPE("()"),
+                          G_DBUS_CALL_FLAGS_NONE,
+                          DBUS_TIMEOUT_MSEC,
+                          cancellable,
+                          disconnect_cb,
+                          nm_utils_user_data_pack(g_object_ref(self), callback, user_data));
 }
 
 static void
-assoc_select_network_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+assoc_select_network_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	NMSupplicantInterface *self;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
+    NMSupplicantInterface *self;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
 
-	res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    res = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	self = NM_SUPPLICANT_INTERFACE (user_data);
-	if (error)
-		assoc_return (self, error, "failure to select network config");
-	else
-		assoc_return (self, NULL, NULL);
+    self = NM_SUPPLICANT_INTERFACE(user_data);
+    if (error)
+        assoc_return(self, error, "failure to select network config");
+    else
+        assoc_return(self, NULL, NULL);
 }
 
 static void
-assoc_call_select_network (NMSupplicantInterface *self)
+assoc_call_select_network(NMSupplicantInterface *self)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	_dbus_connection_call (self,
-	                       NM_WPAS_DBUS_IFACE_INTERFACE,
-	                       "SelectNetwork",
-	                       g_variant_new ("(o)", priv->net_path),
-	                       G_VARIANT_TYPE ("()"),
-	                       G_DBUS_CALL_FLAGS_NONE,
-	                       DBUS_TIMEOUT_MSEC,
-	                       priv->assoc_data->cancellable,
-	                       assoc_select_network_cb,
-	                       self);
+    _dbus_connection_call(self,
+                          NM_WPAS_DBUS_IFACE_INTERFACE,
+                          "SelectNetwork",
+                          g_variant_new("(o)", priv->net_path),
+                          G_VARIANT_TYPE("()"),
+                          G_DBUS_CALL_FLAGS_NONE,
+                          DBUS_TIMEOUT_MSEC,
+                          priv->assoc_data->cancellable,
+                          assoc_select_network_cb,
+                          self);
 }
 
 static void
-assoc_add_blob_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+assoc_add_blob_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	NMSupplicantInterface *self;
-	NMSupplicantInterfacePrivate *priv;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
+    NMSupplicantInterface *       self;
+    NMSupplicantInterfacePrivate *priv;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
+
+    res = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    self = NM_SUPPLICANT_INTERFACE(user_data);
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	self = NM_SUPPLICANT_INTERFACE (user_data);
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    if (error) {
+        assoc_return(self, error, "failure to set network certificates");
+        return;
+    }
 
-	if (error) {
-		assoc_return (self, error, "failure to set network certificates");
-		return;
-	}
+    priv->assoc_data->blobs_left--;
+    _LOGT("assoc[" NM_HASH_OBFUSCATE_PTR_FMT "]: blob added (%u left)",
+          NM_HASH_OBFUSCATE_PTR(priv->assoc_data),
+          priv->assoc_data->blobs_left);
+    if (priv->assoc_data->blobs_left == 0)
+        assoc_call_select_network(self);
+}
 
-	priv->assoc_data->blobs_left--;
-	_LOGT ("assoc["NM_HASH_OBFUSCATE_PTR_FMT"]: blob added (%u left)",
-	       NM_HASH_OBFUSCATE_PTR (priv->assoc_data),
-	       priv->assoc_data->blobs_left);
-	if (priv->assoc_data->blobs_left == 0)
-		assoc_call_select_network (self);
+static void
+assoc_add_network_cb(GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    AddNetworkData *              add_network_data = user_data;
+    AssocData *                   assoc_data;
+    NMSupplicantInterface *       self;
+    NMSupplicantInterfacePrivate *priv;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
+    GHashTable *          blobs;
+    GHashTableIter        iter;
+    const char *          blob_name;
+    GBytes *              blob_data;
+    nm_auto_ref_string NMRefString *name_owner  = NULL;
+    nm_auto_ref_string NMRefString *object_path = NULL;
+
+    g_clear_object(&add_network_data->shutdown_wait_obj);
+
+    assoc_data = add_network_data->assoc_data;
+    if (assoc_data)
+        assoc_data->add_network_data = NULL;
+    name_owner  = g_steal_pointer(&add_network_data->name_owner);
+    object_path = g_steal_pointer(&add_network_data->object_path);
+    nm_g_slice_free(add_network_data);
+
+    res = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+
+    if (!assoc_data) {
+        if (!error) {
+            const char *net_path;
+
+            /* the assoc-request was already cancelled, but the AddNetwork request succeeded.
+             * Cleanup the created network.
+             *
+             * This cleanup action does not work when NetworkManager is about to exit
+             * and leaves the mainloop. During program shutdown, we may orphan networks. */
+            g_variant_get(res, "(&o)", &net_path);
+            g_dbus_connection_call(G_DBUS_CONNECTION(source),
+                                   name_owner->str,
+                                   object_path->str,
+                                   NM_WPAS_DBUS_IFACE_INTERFACE,
+                                   "RemoveNetwork",
+                                   g_variant_new("(o)", net_path),
+                                   G_VARIANT_TYPE("()"),
+                                   G_DBUS_CALL_FLAGS_NONE,
+                                   DBUS_TIMEOUT_MSEC,
+                                   NULL,
+                                   NULL,
+                                   NULL);
+        }
+        return;
+    }
+
+    self = NM_SUPPLICANT_INTERFACE(assoc_data->self);
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    if (error) {
+        assoc_return(self, error, "failure to add network");
+        return;
+    }
+
+    nm_assert(!priv->net_path);
+    g_variant_get(res, "(o)", &priv->net_path);
+
+    /* Send blobs first; otherwise jump to selecting the network */
+    blobs                        = nm_supplicant_config_get_blobs(priv->assoc_data->cfg);
+    priv->assoc_data->blobs_left = blobs ? g_hash_table_size(blobs) : 0u;
+
+    _LOGT("assoc[" NM_HASH_OBFUSCATE_PTR_FMT "]: network added (%s) (%u blobs left)",
+          NM_HASH_OBFUSCATE_PTR(priv->assoc_data),
+          priv->net_path,
+          priv->assoc_data->blobs_left);
+
+    if (priv->assoc_data->blobs_left == 0) {
+        assoc_call_select_network(self);
+        return;
+    }
+
+    g_hash_table_iter_init(&iter, blobs);
+    while (g_hash_table_iter_next(&iter, (gpointer) &blob_name, (gpointer) &blob_data)) {
+        _dbus_connection_call(
+            self,
+            NM_WPAS_DBUS_IFACE_INTERFACE,
+            "AddBlob",
+            g_variant_new("(s@ay)", blob_name, nm_utils_gbytes_to_variant_ay(blob_data)),
+            G_VARIANT_TYPE("()"),
+            G_DBUS_CALL_FLAGS_NONE,
+            DBUS_TIMEOUT_MSEC,
+            priv->assoc_data->cancellable,
+            assoc_add_blob_cb,
+            self);
+    }
 }
 
 static void
-assoc_add_network_cb (GObject *source, GAsyncResult *result, gpointer user_data)
-{
-	AddNetworkData *add_network_data = user_data;
-	AssocData *assoc_data;
-	NMSupplicantInterface *self;
-	NMSupplicantInterfacePrivate *priv;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
-	GHashTable *blobs;
-	GHashTableIter iter;
-	const char *blob_name;
-	GBytes *blob_data;
-	nm_auto_ref_string NMRefString *name_owner = NULL;
-	nm_auto_ref_string NMRefString *object_path = NULL;
-
-	g_clear_object (&add_network_data->shutdown_wait_obj);
-
-	assoc_data = add_network_data->assoc_data;
-	if (assoc_data)
-		assoc_data->add_network_data = NULL;
-	name_owner = g_steal_pointer (&add_network_data->name_owner);
-	object_path = g_steal_pointer (&add_network_data->object_path);
-	nm_g_slice_free (add_network_data);
-
-	res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-
-	if (!assoc_data) {
-		if (!error) {
-			const char *net_path;
-
-			/* the assoc-request was already cancelled, but the AddNetwork request succeeded.
-			 * Cleanup the created network.
-			 *
-			 * This cleanup action does not work when NetworkManager is about to exit
-			 * and leaves the mainloop. During program shutdown, we may orphan networks. */
-			g_variant_get (res, "(&o)", &net_path);
-			g_dbus_connection_call (G_DBUS_CONNECTION (source),
-			                        name_owner->str,
-			                        object_path->str,
-			                        NM_WPAS_DBUS_IFACE_INTERFACE,
-			                        "RemoveNetwork",
-			                        g_variant_new ("(o)", net_path),
-			                        G_VARIANT_TYPE ("()"),
-			                        G_DBUS_CALL_FLAGS_NONE,
-			                        DBUS_TIMEOUT_MSEC,
-			                        NULL,
-			                        NULL,
-			                        NULL);
-		}
-		return;
-	}
-
-	self = NM_SUPPLICANT_INTERFACE (assoc_data->self);
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-
-	if (error) {
-		assoc_return (self, error, "failure to add network");
-		return;
-	}
-
-	nm_assert (!priv->net_path);
-	g_variant_get (res, "(o)", &priv->net_path);
-
-	/* Send blobs first; otherwise jump to selecting the network */
-	blobs = nm_supplicant_config_get_blobs (priv->assoc_data->cfg);
-	priv->assoc_data->blobs_left =   blobs
-	                               ? g_hash_table_size (blobs)
-	                               : 0u;
-
-	_LOGT ("assoc["NM_HASH_OBFUSCATE_PTR_FMT"]: network added (%s) (%u blobs left)",
-	       NM_HASH_OBFUSCATE_PTR (priv->assoc_data),
-	       priv->net_path,
-	       priv->assoc_data->blobs_left);
-
-	if (priv->assoc_data->blobs_left == 0) {
-		assoc_call_select_network (self);
-		return;
-	}
-
-	g_hash_table_iter_init (&iter, blobs);
-	while (g_hash_table_iter_next (&iter, (gpointer) &blob_name, (gpointer) &blob_data)) {
-		_dbus_connection_call (self,
-		                       NM_WPAS_DBUS_IFACE_INTERFACE,
-		                       "AddBlob",
-		                       g_variant_new ("(s@ay)",
-		                                      blob_name,
-		                                      nm_utils_gbytes_to_variant_ay (blob_data)),
-		                       G_VARIANT_TYPE ("()"),
-		                       G_DBUS_CALL_FLAGS_NONE,
-		                       DBUS_TIMEOUT_MSEC,
-		                       priv->assoc_data->cancellable,
-		                       assoc_add_blob_cb,
-		                       self);
-	}
+add_network(NMSupplicantInterface *self)
+{
+    NMSupplicantInterfacePrivate *priv;
+    AddNetworkData *              add_network_data;
+
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    /* the association does not keep @self alive. We want to be able to remove
+     * the network again, even if @self is already gone. Hence, track the data
+     * separately.
+     *
+     * For that we also have a shutdown_wait_obj so that on exit we still wait
+     * to handle the response. */
+    add_network_data  = g_slice_new(AddNetworkData);
+    *add_network_data = (AddNetworkData){
+        .assoc_data        = priv->assoc_data,
+        .name_owner        = nm_ref_string_ref(priv->name_owner),
+        .object_path       = nm_ref_string_ref(priv->object_path),
+        .shutdown_wait_obj = g_object_new(G_TYPE_OBJECT, NULL),
+    };
+    nm_shutdown_wait_obj_register_object(add_network_data->shutdown_wait_obj,
+                                         "supplicant-add-network");
+    priv->assoc_data->add_network_data = add_network_data;
+
+    _dbus_connection_call(
+        self,
+        NM_WPAS_DBUS_IFACE_INTERFACE,
+        "AddNetwork",
+        g_variant_new("(@a{sv})", nm_supplicant_config_to_variant(priv->assoc_data->cfg)),
+        G_VARIANT_TYPE("(o)"),
+        G_DBUS_CALL_FLAGS_NONE,
+        DBUS_TIMEOUT_MSEC,
+        NULL,
+        assoc_add_network_cb,
+        add_network_data);
+}
+
+static void
+assoc_set_ap_isolation(GVariant *ret, GError *error, gpointer user_data)
+{
+    NMSupplicantInterface *       self;
+    NMSupplicantInterfacePrivate *priv;
+    gboolean                      value;
+
+    if (nm_utils_error_is_cancelled(error))
+        return;
+
+    self = NM_SUPPLICANT_INTERFACE(user_data);
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    if (error) {
+        assoc_return(self, error, "failure to set AP isolation");
+        return;
+    }
+
+    value = nm_supplicant_config_get_ap_isolation(priv->assoc_data->cfg);
+    _LOGT("assoc[" NM_HASH_OBFUSCATE_PTR_FMT "]: interface AP isolation set to %d",
+          NM_HASH_OBFUSCATE_PTR(priv->assoc_data),
+          value);
+
+    priv->ap_isolate_needs_reset = value;
+
+    nm_assert(priv->assoc_data->calls_left > 0);
+    if (--priv->assoc_data->calls_left == 0)
+        add_network(self);
 }
 
 static void
-assoc_set_ap_scan_cb (GVariant *ret, GError *error, gpointer user_data)
-{
-	NMSupplicantInterface *self;
-	NMSupplicantInterfacePrivate *priv;
-	AddNetworkData *add_network_data;
-
-	if (nm_utils_error_is_cancelled (error))
-		return;
-
-	self = NM_SUPPLICANT_INTERFACE (user_data);
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-
-	if (error) {
-		assoc_return (self, error, "failure to set AP scan mode");
-		return;
-	}
-
-	_LOGT ("assoc["NM_HASH_OBFUSCATE_PTR_FMT"]: interface ap_scan set to %d",
-	       NM_HASH_OBFUSCATE_PTR (priv->assoc_data),
-	       nm_supplicant_config_get_ap_scan (priv->assoc_data->cfg));
-
-	/* the association does not keep @self alive. We want to be able to remove
-	 * the network again, even if @self is already gone. Hence, track the data
-	 * separately.
-	 *
-	 * For that we also have a shutdown_wait_obj so that on exit we still wait
-	 * to handle the response. */
-	add_network_data = g_slice_new (AddNetworkData);
-	*add_network_data = (AddNetworkData) {
-		.assoc_data        = priv->assoc_data,
-		.name_owner        = nm_ref_string_ref (priv->name_owner),
-		.object_path       = nm_ref_string_ref (priv->object_path),
-		.shutdown_wait_obj = g_object_new (G_TYPE_OBJECT, NULL),
-	};
-	nm_shutdown_wait_obj_register_object (add_network_data->shutdown_wait_obj, "supplicant-add-network");
-	priv->assoc_data->add_network_data = add_network_data;
-
-	_dbus_connection_call (self,
-	                       NM_WPAS_DBUS_IFACE_INTERFACE,
-	                       "AddNetwork",
-	                       g_variant_new ("(@a{sv})", nm_supplicant_config_to_variant (priv->assoc_data->cfg)),
-	                       G_VARIANT_TYPE ("(o)"),
-	                       G_DBUS_CALL_FLAGS_NONE,
-	                       DBUS_TIMEOUT_MSEC,
-	                       NULL,
-	                       assoc_add_network_cb,
-	                       add_network_data);
+assoc_set_ap_scan_cb(GVariant *ret, GError *error, gpointer user_data)
+{
+    NMSupplicantInterface *       self;
+    NMSupplicantInterfacePrivate *priv;
+
+    if (nm_utils_error_is_cancelled(error))
+        return;
+
+    self = NM_SUPPLICANT_INTERFACE(user_data);
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    if (error) {
+        assoc_return(self, error, "failure to set AP scan mode");
+        return;
+    }
+
+    _LOGT("assoc[" NM_HASH_OBFUSCATE_PTR_FMT "]: interface ap_scan set to %d",
+          NM_HASH_OBFUSCATE_PTR(priv->assoc_data),
+          nm_supplicant_config_get_ap_scan(priv->assoc_data->cfg));
+
+    nm_assert(priv->assoc_data->calls_left > 0);
+    if (--priv->assoc_data->calls_left == 0)
+        add_network(self);
 }
 
 static gboolean
-assoc_fail_on_idle_cb (gpointer user_data)
+assoc_fail_on_idle_cb(gpointer user_data)
 {
-	NMSupplicantInterface *self = user_data;
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	gs_free_error GError *error = NULL;
+    NMSupplicantInterface *       self = user_data;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    gs_free_error GError *error        = NULL;
 
-	priv->assoc_data->fail_on_idle_id = 0;
-	g_set_error (&error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
-	             "EAP-FAST is not supported by the supplicant");
-	assoc_return (self, error, "failure due to missing supplicant support");
-	return G_SOURCE_REMOVE;
+    priv->assoc_data->fail_on_idle_id = 0;
+    g_set_error(&error,
+                NM_SUPPLICANT_ERROR,
+                NM_SUPPLICANT_ERROR_CONFIG,
+                "EAP-FAST is not supported by the supplicant");
+    assoc_return(self, error, "failure due to missing supplicant support");
+    return G_SOURCE_REMOVE;
 }
 
 /**
@@ -2301,1121 +2309,1156 @@ assoc_fail_on_idle_cb (gpointer user_data)
  *
  * The callback is invoked exactly once (always) and always asynchronously.
  * The pending association can be aborted via nm_supplicant_interface_disconnect()
- * or by destroying @self. In that case, the @callback is invoked synchornously with
+ * or by destroying @self. In that case, the @callback is invoked synchronously with
  * an error reason indicating cancellation/disposing (see nm_utils_error_is_cancelled()).
  */
 void
-nm_supplicant_interface_assoc (NMSupplicantInterface *self,
-                               NMSupplicantConfig *cfg,
-                               NMSupplicantInterfaceAssocCb callback,
-                               gpointer user_data)
-{
-	NMSupplicantInterfacePrivate *priv;
-	AssocData *assoc_data;
-
-	g_return_if_fail (NM_IS_SUPPLICANT_INTERFACE (self));
-	g_return_if_fail (NM_IS_SUPPLICANT_CONFIG (cfg));
-
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-
-	nm_supplicant_interface_disconnect (self);
-
-	assoc_data = g_slice_new (AssocData);
-	*assoc_data = (AssocData) {
-		.self      = self,
-		.cfg       = g_object_ref (cfg),
-		.callback  = callback,
-		.user_data = user_data,
-	};
-
-	priv->assoc_data = assoc_data;
-
-	_LOGD ("assoc["NM_HASH_OBFUSCATE_PTR_FMT"]: starting association...",
-	       NM_HASH_OBFUSCATE_PTR (assoc_data));
-
-	if (   _get_capability (priv, NM_SUPPL_CAP_TYPE_FAST) == NM_TERNARY_FALSE
-	    && nm_supplicant_config_fast_required (cfg)) {
-		/* Make sure the supplicant supports EAP-FAST before trying to send
-		 * it an EAP-FAST configuration.
-		 */
-		assoc_data->fail_on_idle_id = g_idle_add (assoc_fail_on_idle_cb, self);
-		return;
-	}
-
-	assoc_data->cancellable = g_cancellable_new();
-	nm_dbus_connection_call_set (priv->dbus_connection,
-	                             priv->name_owner->str,
-	                             priv->object_path->str,
-	                             NM_WPAS_DBUS_IFACE_INTERFACE,
-	                             "ApScan",
-	                             g_variant_new_uint32 (nm_supplicant_config_get_ap_scan (priv->assoc_data->cfg)),
-	                             DBUS_TIMEOUT_MSEC,
-	                             assoc_data->cancellable,
-	                             assoc_set_ap_scan_cb,
-	                             self);
+nm_supplicant_interface_assoc(NMSupplicantInterface *      self,
+                              NMSupplicantConfig *         cfg,
+                              NMSupplicantInterfaceAssocCb callback,
+                              gpointer                     user_data)
+{
+    NMSupplicantInterfacePrivate *priv;
+    AssocData *                   assoc_data;
+    gboolean                      ap_isolation;
+
+    g_return_if_fail(NM_IS_SUPPLICANT_INTERFACE(self));
+    g_return_if_fail(NM_IS_SUPPLICANT_CONFIG(cfg));
+
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    nm_supplicant_interface_disconnect(self);
+
+    assoc_data  = g_slice_new(AssocData);
+    *assoc_data = (AssocData){
+        .self      = self,
+        .cfg       = g_object_ref(cfg),
+        .callback  = callback,
+        .user_data = user_data,
+    };
+
+    priv->assoc_data = assoc_data;
+
+    _LOGD("assoc[" NM_HASH_OBFUSCATE_PTR_FMT "]: starting association...",
+          NM_HASH_OBFUSCATE_PTR(assoc_data));
+
+    if (_get_capability(priv, NM_SUPPL_CAP_TYPE_FAST) == NM_TERNARY_FALSE
+        && nm_supplicant_config_fast_required(cfg)) {
+        /* Make sure the supplicant supports EAP-FAST before trying to send
+         * it an EAP-FAST configuration.
+         */
+        assoc_data->fail_on_idle_id = g_idle_add(assoc_fail_on_idle_cb, self);
+        return;
+    }
+
+    assoc_data->cancellable = g_cancellable_new();
+    assoc_data->calls_left++;
+    nm_dbus_connection_call_set(
+        priv->dbus_connection,
+        priv->name_owner->str,
+        priv->object_path->str,
+        NM_WPAS_DBUS_IFACE_INTERFACE,
+        "ApScan",
+        g_variant_new_uint32(nm_supplicant_config_get_ap_scan(priv->assoc_data->cfg)),
+        DBUS_TIMEOUT_MSEC,
+        assoc_data->cancellable,
+        assoc_set_ap_scan_cb,
+        self);
+
+    ap_isolation = nm_supplicant_config_get_ap_isolation(priv->assoc_data->cfg);
+    if (!priv->ap_isolate_supported) {
+        if (ap_isolation) {
+            _LOGW("assoc[" NM_HASH_OBFUSCATE_PTR_FMT
+                  "]: requested AP isolation but the supplicant doesn't support it",
+                  NM_HASH_OBFUSCATE_PTR(assoc_data));
+        }
+    } else {
+        assoc_data->calls_left++;
+        /* It would be smarter to change the property only when necessary.
+         * However, wpa_supplicant doesn't send the PropertiesChanged
+         * signal for ApIsolate, and so to know the current value we would
+         * need first a Get call. It seems simpler to just set the value
+         * we want. */
+        nm_dbus_connection_call_set(priv->dbus_connection,
+                                    priv->name_owner->str,
+                                    priv->object_path->str,
+                                    NM_WPAS_DBUS_IFACE_INTERFACE,
+                                    "ApIsolate",
+                                    g_variant_new_string(ap_isolation ? "1" : "0"),
+                                    DBUS_TIMEOUT_MSEC,
+                                    assoc_data->cancellable,
+                                    assoc_set_ap_isolation,
+                                    self);
+    }
 }
 
 /*****************************************************************************/
 
 typedef struct {
-	NMSupplicantInterface *self;
-	GCancellable *cancellable;
-	NMSupplicantInterfaceRequestScanCallback callback;
-	gpointer user_data;
+    NMSupplicantInterface *                  self;
+    GCancellable *                           cancellable;
+    NMSupplicantInterfaceRequestScanCallback callback;
+    gpointer                                 user_data;
 } ScanRequestData;
 
 static void
-scan_request_cb (GObject *source, GAsyncResult *result, gpointer user_data)
-{
-	gs_unref_object NMSupplicantInterface *self_keep_alive = NULL;
-	NMSupplicantInterface *self;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
-	ScanRequestData *data = user_data;
-	gboolean cancelled = FALSE;
-
-	res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-	if (nm_utils_error_is_cancelled (error)) {
-		if (!data->callback) {
-			/* the self instance was not kept alive. We also must not touch it. Return. */
-			nm_g_object_unref (data->cancellable);
-			nm_g_slice_free (data);
-			return;
-		}
-		cancelled = TRUE;
-	}
-
-	self = data->self;
-	if (data->callback) {
-		/* the self instance was kept alive. Balance the reference count. */
-		self_keep_alive = self;
-	}
-
-	/* we don't propagate the error/success. That is, because either answer is not
-	 * reliable. What is important to us is whether the request completed, and
-	 * the current nm_supplicant_interface_get_scanning() state. */
-	if (cancelled)
-		_LOGD ("request-scan: request cancelled");
-	else {
-		if (error) {
-			if (_nm_dbus_error_has_name (error, "fi.w1.wpa_supplicant1.Interface.ScanError"))
-				_LOGD ("request-scan: could not get scan request result: %s", error->message);
-			else {
-				g_dbus_error_strip_remote_error (error);
-				_LOGW ("request-scan: could not get scan request result: %s", error->message);
-			}
-		} else
-			_LOGT ("request-scan: request scanning success");
-	}
-
-	if (data->callback)
-		data->callback (self, data->cancellable, data->user_data);
-
-	nm_g_object_unref (data->cancellable);
-	nm_g_slice_free (data);
+scan_request_cb(GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    gs_unref_object NMSupplicantInterface *self_keep_alive = NULL;
+    NMSupplicantInterface *                self;
+    gs_unref_variant GVariant *res  = NULL;
+    gs_free_error GError *error     = NULL;
+    ScanRequestData *     data      = user_data;
+    gboolean              cancelled = FALSE;
+
+    res = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+    if (nm_utils_error_is_cancelled(error)) {
+        if (!data->callback) {
+            /* the self instance was not kept alive. We also must not touch it. Return. */
+            nm_g_object_unref(data->cancellable);
+            nm_g_slice_free(data);
+            return;
+        }
+        cancelled = TRUE;
+    }
+
+    self = data->self;
+    if (data->callback) {
+        /* the self instance was kept alive. Balance the reference count. */
+        self_keep_alive = self;
+    }
+
+    /* we don't propagate the error/success. That is, because either answer is not
+     * reliable. What is important to us is whether the request completed, and
+     * the current nm_supplicant_interface_get_scanning() state. */
+    if (cancelled)
+        _LOGD("request-scan: request cancelled");
+    else {
+        if (error) {
+            if (_nm_dbus_error_has_name(error, "fi.w1.wpa_supplicant1.Interface.ScanError"))
+                _LOGD("request-scan: could not get scan request result: %s", error->message);
+            else {
+                g_dbus_error_strip_remote_error(error);
+                _LOGW("request-scan: could not get scan request result: %s", error->message);
+            }
+        } else
+            _LOGT("request-scan: request scanning success");
+    }
+
+    if (data->callback)
+        data->callback(self, data->cancellable, data->user_data);
+
+    nm_g_object_unref(data->cancellable);
+    nm_g_slice_free(data);
 }
 
 void
-nm_supplicant_interface_request_scan (NMSupplicantInterface *self,
-                                      GBytes *const*ssids,
-                                      guint ssids_len,
-                                      GCancellable *cancellable,
-                                      NMSupplicantInterfaceRequestScanCallback callback,
-                                      gpointer user_data)
-{
-	NMSupplicantInterfacePrivate *priv;
-	GVariantBuilder builder;
-	ScanRequestData *data;
-	guint i;
-
-	g_return_if_fail (NM_IS_SUPPLICANT_INTERFACE (self));
-
-	nm_assert (   (!cancellable && !callback)
-	           || (G_IS_CANCELLABLE (cancellable) && callback));
-
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-
-	_LOGT ("request-scan: request scanning (%u ssids)...", ssids_len);
-
-	g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT);
-	g_variant_builder_add (&builder, "{sv}", "Type", g_variant_new_string ("active"));
-	g_variant_builder_add (&builder, "{sv}", "AllowRoam", g_variant_new_boolean (FALSE));
-	if (ssids_len > 0) {
-		GVariantBuilder ssids_builder;
-
-		g_variant_builder_init (&ssids_builder, G_VARIANT_TYPE_BYTESTRING_ARRAY);
-		for (i = 0; i < ssids_len; i++) {
-			nm_assert (ssids[i]);
-			g_variant_builder_add (&ssids_builder, "@ay",
-			                       nm_utils_gbytes_to_variant_ay (ssids[i]));
-		}
-		g_variant_builder_add (&builder, "{sv}", "SSIDs", g_variant_builder_end (&ssids_builder));
-	}
-
-	data = g_slice_new (ScanRequestData);
-	*data = (ScanRequestData) {
-		.self            = self,
-		.callback        = callback,
-		.user_data       = user_data,
-		.cancellable     = nm_g_object_ref (cancellable),
-	};
-
-	if (callback) {
-		/* A callback was provided. This keeps @self alive. The caller
-		 * must provide a cancellable as the caller must never leave an asynchronous
-		 * operation pending indefinitely. */
-		nm_assert (G_IS_CANCELLABLE (cancellable));
-		g_object_ref (self);
-	} else {
-		/* We don't keep @self alive, and we don't accept a cancellable either. */
-		nm_assert (!cancellable);
-		cancellable = priv->main_cancellable;
-	}
-
-	_dbus_connection_call (self,
-	                       NM_WPAS_DBUS_IFACE_INTERFACE,
-	                       "Scan",
-	                       g_variant_new ("(a{sv})", &builder),
-	                       G_VARIANT_TYPE ("()"),
-	                       G_DBUS_CALL_FLAGS_NONE,
-	                       DBUS_TIMEOUT_MSEC,
-	                       cancellable,
-	                       scan_request_cb,
-	                       data);
+nm_supplicant_interface_request_scan(NMSupplicantInterface *                  self,
+                                     GBytes *const *                          ssids,
+                                     guint                                    ssids_len,
+                                     GCancellable *                           cancellable,
+                                     NMSupplicantInterfaceRequestScanCallback callback,
+                                     gpointer                                 user_data)
+{
+    NMSupplicantInterfacePrivate *priv;
+    GVariantBuilder               builder;
+    ScanRequestData *             data;
+    guint                         i;
+
+    g_return_if_fail(NM_IS_SUPPLICANT_INTERFACE(self));
+
+    nm_assert((!cancellable && !callback) || (G_IS_CANCELLABLE(cancellable) && callback));
+
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    _LOGT("request-scan: request scanning (%u ssids)...", ssids_len);
+
+    g_variant_builder_init(&builder, G_VARIANT_TYPE_VARDICT);
+    g_variant_builder_add(&builder, "{sv}", "Type", g_variant_new_string("active"));
+    g_variant_builder_add(&builder, "{sv}", "AllowRoam", g_variant_new_boolean(FALSE));
+    if (ssids_len > 0) {
+        GVariantBuilder ssids_builder;
+
+        g_variant_builder_init(&ssids_builder, G_VARIANT_TYPE_BYTESTRING_ARRAY);
+        for (i = 0; i < ssids_len; i++) {
+            nm_assert(ssids[i]);
+            g_variant_builder_add(&ssids_builder, "@ay", nm_utils_gbytes_to_variant_ay(ssids[i]));
+        }
+        g_variant_builder_add(&builder, "{sv}", "SSIDs", g_variant_builder_end(&ssids_builder));
+    }
+
+    data  = g_slice_new(ScanRequestData);
+    *data = (ScanRequestData){
+        .self        = self,
+        .callback    = callback,
+        .user_data   = user_data,
+        .cancellable = nm_g_object_ref(cancellable),
+    };
+
+    if (callback) {
+        /* A callback was provided. This keeps @self alive. The caller
+         * must provide a cancellable as the caller must never leave an asynchronous
+         * operation pending indefinitely. */
+        nm_assert(G_IS_CANCELLABLE(cancellable));
+        g_object_ref(self);
+    } else {
+        /* We don't keep @self alive, and we don't accept a cancellable either. */
+        nm_assert(!cancellable);
+        cancellable = priv->main_cancellable;
+    }
+
+    _dbus_connection_call(self,
+                          NM_WPAS_DBUS_IFACE_INTERFACE,
+                          "Scan",
+                          g_variant_new("(a{sv})", &builder),
+                          G_VARIANT_TYPE("()"),
+                          G_DBUS_CALL_FLAGS_NONE,
+                          DBUS_TIMEOUT_MSEC,
+                          cancellable,
+                          scan_request_cb,
+                          data);
 }
 
 /*****************************************************************************/
 
 NMSupplicantInterfaceState
-nm_supplicant_interface_get_state (NMSupplicantInterface * self)
+nm_supplicant_interface_get_state(NMSupplicantInterface *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_INTERFACE (self), NM_SUPPLICANT_INTERFACE_STATE_DOWN);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_INTERFACE(self), NM_SUPPLICANT_INTERFACE_STATE_DOWN);
 
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->state;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->state;
 }
 
 void
-_nm_supplicant_interface_set_state_down (NMSupplicantInterface * self,
-                                         gboolean force_remove_from_supplicant,
-                                         const char *reason)
+_nm_supplicant_interface_set_state_down(NMSupplicantInterface *self,
+                                        gboolean               force_remove_from_supplicant,
+                                        const char *           reason)
 {
-	set_state_down (self, force_remove_from_supplicant, reason);
+    set_state_down(self, force_remove_from_supplicant, reason);
 }
 
 NMRefString *
-nm_supplicant_interface_get_name_owner (NMSupplicantInterface *self)
+nm_supplicant_interface_get_name_owner(NMSupplicantInterface *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_INTERFACE (self), NULL);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_INTERFACE(self), NULL);
 
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->name_owner;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->name_owner;
 }
 
 NMRefString *
-nm_supplicant_interface_get_object_path (NMSupplicantInterface *self)
+nm_supplicant_interface_get_object_path(NMSupplicantInterface *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_INTERFACE (self), NULL);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_INTERFACE(self), NULL);
 
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->object_path;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->object_path;
 }
 
 const char *
-nm_supplicant_interface_get_ifname (NMSupplicantInterface *self)
+nm_supplicant_interface_get_ifname(NMSupplicantInterface *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_INTERFACE (self), NULL);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_INTERFACE(self), NULL);
 
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->ifname;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->ifname;
 }
 
 guint
-nm_supplicant_interface_get_max_scan_ssids (NMSupplicantInterface *self)
+nm_supplicant_interface_get_max_scan_ssids(NMSupplicantInterface *self)
 {
-	NMSupplicantInterfacePrivate *priv;
+    NMSupplicantInterfacePrivate *priv;
 
-	g_return_val_if_fail (NM_IS_SUPPLICANT_INTERFACE (self), 0);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_INTERFACE(self), 0);
 
-	priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	return   priv->prop_scan_active && priv->prop_scan_ssid
-	       ? priv->max_scan_ssids
-	       : 0u;
+    priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    return priv->prop_scan_active && priv->prop_scan_ssid ? priv->max_scan_ssids : 0u;
 }
 
 /*****************************************************************************/
 
 void
-nm_supplicant_interface_p2p_start_find (NMSupplicantInterface *self,
-                                        guint timeout)
+nm_supplicant_interface_p2p_start_find(NMSupplicantInterface *self, guint timeout)
 {
-	GVariantBuilder builder;
+    GVariantBuilder builder;
 
-	g_return_if_fail (NM_IS_SUPPLICANT_INTERFACE (self));
-	g_return_if_fail (timeout > 0 && timeout <= 600);
+    g_return_if_fail(NM_IS_SUPPLICANT_INTERFACE(self));
+    g_return_if_fail(timeout > 0 && timeout <= 600);
 
-	g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT);
-	g_variant_builder_add (&builder, "{sv}", "Timeout", g_variant_new_int32 (timeout));
+    g_variant_builder_init(&builder, G_VARIANT_TYPE_VARDICT);
+    g_variant_builder_add(&builder, "{sv}", "Timeout", g_variant_new_int32(timeout));
 
-	_dbus_connection_call_simple (self,
-	                              NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
-	                              "Find",
-	                              g_variant_new ("(a{sv})", &builder),
-	                              G_VARIANT_TYPE ("()"),
-	                              "p2p-find");
+    _dbus_connection_call_simple(self,
+                                 NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
+                                 "Find",
+                                 g_variant_new("(a{sv})", &builder),
+                                 G_VARIANT_TYPE("()"),
+                                 "p2p-find");
 }
 
 void
-nm_supplicant_interface_p2p_stop_find (NMSupplicantInterface *self)
+nm_supplicant_interface_p2p_stop_find(NMSupplicantInterface *self)
 {
-	g_return_if_fail (NM_IS_SUPPLICANT_INTERFACE (self));
+    g_return_if_fail(NM_IS_SUPPLICANT_INTERFACE(self));
 
-	_dbus_connection_call_simple (self,
-	                              NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
-	                              "StopFind",
-	                              NULL,
-	                              G_VARIANT_TYPE ("()"),
-	                              "p2p-stop-find");
+    _dbus_connection_call_simple(self,
+                                 NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
+                                 "StopFind",
+                                 NULL,
+                                 G_VARIANT_TYPE("()"),
+                                 "p2p-stop-find");
 }
 
 /*****************************************************************************/
 
 void
-nm_supplicant_interface_p2p_connect (NMSupplicantInterface *self,
-                                     const char *peer,
-                                     const char *wps_method,
-                                     const char *wps_pin)
+nm_supplicant_interface_p2p_connect(NMSupplicantInterface *self,
+                                    const char *           peer,
+                                    const char *           wps_method,
+                                    const char *           wps_pin)
 {
-	GVariantBuilder builder;
+    GVariantBuilder builder;
 
-	g_return_if_fail (NM_IS_SUPPLICANT_INTERFACE (self));
+    g_return_if_fail(NM_IS_SUPPLICANT_INTERFACE(self));
 
-	g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT);
+    g_variant_builder_init(&builder, G_VARIANT_TYPE_VARDICT);
 
-	g_variant_builder_add (&builder, "{sv}", "wps_method", g_variant_new_string (wps_method));
-	if (wps_pin)
-		g_variant_builder_add (&builder, "{sv}", "pin", g_variant_new_string (wps_pin));
-	g_variant_builder_add (&builder, "{sv}", "peer", g_variant_new_object_path (peer));
-	g_variant_builder_add (&builder, "{sv}", "join", g_variant_new_boolean (FALSE));
-	g_variant_builder_add (&builder, "{sv}", "persistent", g_variant_new_boolean (FALSE));
-	g_variant_builder_add (&builder, "{sv}", "go_intent", g_variant_new_int32 (7));
+    g_variant_builder_add(&builder, "{sv}", "wps_method", g_variant_new_string(wps_method));
+    if (wps_pin)
+        g_variant_builder_add(&builder, "{sv}", "pin", g_variant_new_string(wps_pin));
+    g_variant_builder_add(&builder, "{sv}", "peer", g_variant_new_object_path(peer));
+    g_variant_builder_add(&builder, "{sv}", "join", g_variant_new_boolean(FALSE));
+    g_variant_builder_add(&builder, "{sv}", "persistent", g_variant_new_boolean(FALSE));
+    g_variant_builder_add(&builder, "{sv}", "go_intent", g_variant_new_int32(7));
 
-	_dbus_connection_call_simple (self,
-	                              NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
-	                              "Connect",
-	                              g_variant_new ("(a{sv})", &builder),
-	                              G_VARIANT_TYPE ("(s)"),
-	                              "p2p-connect");
+    _dbus_connection_call_simple(self,
+                                 NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
+                                 "Connect",
+                                 g_variant_new("(a{sv})", &builder),
+                                 G_VARIANT_TYPE("(s)"),
+                                 "p2p-connect");
 }
 
 void
-nm_supplicant_interface_p2p_cancel_connect (NMSupplicantInterface * self)
+nm_supplicant_interface_p2p_cancel_connect(NMSupplicantInterface *self)
 {
-	g_return_if_fail (NM_IS_SUPPLICANT_INTERFACE (self));
+    g_return_if_fail(NM_IS_SUPPLICANT_INTERFACE(self));
 
-	_dbus_connection_call_simple (self,
-	                              NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
-	                              "Cancel",
-	                              NULL,
-	                              G_VARIANT_TYPE ("()"),
-	                              "p2p-cancel");
+    _dbus_connection_call_simple(self,
+                                 NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
+                                 "Cancel",
+                                 NULL,
+                                 G_VARIANT_TYPE("()"),
+                                 "p2p-cancel");
 }
 
 void
-nm_supplicant_interface_p2p_disconnect (NMSupplicantInterface * self)
+nm_supplicant_interface_p2p_disconnect(NMSupplicantInterface *self)
 {
-	g_return_if_fail (NM_IS_SUPPLICANT_INTERFACE (self));
+    g_return_if_fail(NM_IS_SUPPLICANT_INTERFACE(self));
 
-	_dbus_connection_call_simple (self,
-	                              NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
-	                              "Disconnect",
-	                              NULL,
-	                              G_VARIANT_TYPE ("()"),
-	                              "p2p-disconnect");
+    _dbus_connection_call_simple(self,
+                                 NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
+                                 "Disconnect",
+                                 NULL,
+                                 G_VARIANT_TYPE("()"),
+                                 "p2p-disconnect");
 }
 
 /*****************************************************************************/
 
 static void
-_properties_changed (NMSupplicantInterface *self,
-                     const char *interface_name,
-                     GVariant *properties,
-                     gboolean initial)
+_properties_changed(NMSupplicantInterface *self,
+                    const char *           interface_name,
+                    GVariant *             properties,
+                    gboolean               initial)
 {
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	gboolean is_main;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    gboolean                      is_main;
 
-	nm_assert (!properties || g_variant_is_of_type (properties, G_VARIANT_TYPE ("a{sv}")));
+    nm_assert(!properties || g_variant_is_of_type(properties, G_VARIANT_TYPE("a{sv}")));
 
-	if (initial)
-		priv->starting_pending_count--;
+    if (initial)
+        priv->starting_pending_count--;
 
-	if (   (initial || priv->is_ready_main)
-	    && nm_streq (interface_name, NM_WPAS_DBUS_IFACE_INTERFACE))
-		is_main = TRUE;
-	else if (   (initial || priv->is_ready_p2p_device)
-	         && nm_streq (interface_name, NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE)) {
-		nm_assert (_get_capability (priv, NM_SUPPL_CAP_TYPE_P2P) == NM_TERNARY_TRUE);
-		is_main = FALSE;
-	} else
-		return;
+    if ((initial || priv->is_ready_main) && nm_streq(interface_name, NM_WPAS_DBUS_IFACE_INTERFACE))
+        is_main = TRUE;
+    else if ((initial || priv->is_ready_p2p_device)
+             && nm_streq(interface_name, NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE)) {
+        nm_assert(_get_capability(priv, NM_SUPPL_CAP_TYPE_P2P) == NM_TERNARY_TRUE);
+        is_main = FALSE;
+    } else
+        return;
 
-	g_object_freeze_notify (G_OBJECT (self));
+    g_object_freeze_notify(G_OBJECT(self));
 
-	priv->starting_pending_count++;
+    priv->starting_pending_count++;
 
-	if (is_main) {
-		priv->is_ready_main = TRUE;
-		_properties_changed_main (self, properties);
-	} else {
-		priv->is_ready_p2p_device = TRUE;
-		_properties_changed_p2p_device (self, properties);
-	}
+    if (is_main) {
+        priv->is_ready_main = TRUE;
+        _properties_changed_main(self, properties);
+    } else {
+        priv->is_ready_p2p_device = TRUE;
+        _properties_changed_p2p_device(self, properties);
+    }
 
-	priv->starting_pending_count--;
-	_starting_check_ready (self);
+    priv->starting_pending_count--;
+    _starting_check_ready(self);
 
-	_notify_maybe_scanning (self);
-	_notify_maybe_p2p_available (self);
+    _notify_maybe_scanning(self);
+    _notify_maybe_p2p_available(self);
 
-	g_object_thaw_notify (G_OBJECT (self));
+    g_object_thaw_notify(G_OBJECT(self));
 }
 
 static void
-_properties_changed_cb (GDBusConnection *connection,
-                        const char *sender_name,
-                        const char *object_path,
-                        const char *signal_interface_name,
-                        const char *signal_name,
-                        GVariant *parameters,
-                        gpointer user_data)
-{
-	NMSupplicantInterface *self = NM_SUPPLICANT_INTERFACE (user_data);
-	const char *interface_name;
-	gs_unref_variant GVariant *changed_properties = NULL;
-
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sa{sv}as)")))
-		return;
-
-	g_variant_get (parameters,
-	               "(&s@a{sv}^a&s)",
-	               &interface_name,
-	               &changed_properties,
-	               NULL);
-	_properties_changed (self,
-	                     interface_name,
-	                     changed_properties,
-	                     FALSE);
+_properties_changed_cb(GDBusConnection *connection,
+                       const char *     sender_name,
+                       const char *     object_path,
+                       const char *     signal_interface_name,
+                       const char *     signal_name,
+                       GVariant *       parameters,
+                       gpointer         user_data)
+{
+    NMSupplicantInterface *self = NM_SUPPLICANT_INTERFACE(user_data);
+    const char *           interface_name;
+    gs_unref_variant GVariant *changed_properties = NULL;
+
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(sa{sv}as)")))
+        return;
+
+    g_variant_get(parameters, "(&s@a{sv}^a&s)", &interface_name, &changed_properties, NULL);
+    _properties_changed(self, interface_name, changed_properties, FALSE);
 }
 
 static void
-_bss_properties_changed_cb (GDBusConnection *connection,
-                            const char *sender_name,
-                            const char *object_path,
-                            const char *signal_interface_name,
-                            const char *signal_name,
-                            GVariant *parameters,
-                            gpointer user_data)
-{
-	NMSupplicantInterface *self = NM_SUPPLICANT_INTERFACE (user_data);
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	nm_auto_ref_string NMRefString *bss_path = NULL;
-	gs_unref_variant GVariant *changed_properties = NULL;
-	NMSupplicantBssInfo *bss_info;
-
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sa{sv}as)")))
-		return;
-
-	bss_path = nm_ref_string_new (object_path);
-
-	bss_info = g_hash_table_lookup (priv->bss_idx, &bss_path);
-	if (!bss_info)
-		return;
-	if (bss_info->_init_cancellable)
-		return;
-
-	g_variant_get (parameters,
-	               "(&s@a{sv}^a&s)",
-	               NULL,
-	               &changed_properties,
-	               NULL);
-	_bss_info_properties_changed (self, bss_info, changed_properties, FALSE);
+_bss_properties_changed_cb(GDBusConnection *connection,
+                           const char *     sender_name,
+                           const char *     object_path,
+                           const char *     signal_interface_name,
+                           const char *     signal_name,
+                           GVariant *       parameters,
+                           gpointer         user_data)
+{
+    NMSupplicantInterface *       self            = NM_SUPPLICANT_INTERFACE(user_data);
+    NMSupplicantInterfacePrivate *priv            = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    nm_auto_ref_string NMRefString *bss_path      = NULL;
+    gs_unref_variant GVariant *changed_properties = NULL;
+    NMSupplicantBssInfo *      bss_info;
+
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(sa{sv}as)")))
+        return;
+
+    bss_path = nm_ref_string_new(object_path);
+
+    bss_info = g_hash_table_lookup(priv->bss_idx, &bss_path);
+    if (!bss_info)
+        return;
+    if (bss_info->_init_cancellable)
+        return;
+
+    g_variant_get(parameters, "(&s@a{sv}^a&s)", NULL, &changed_properties, NULL);
+    _bss_info_properties_changed(self, bss_info, changed_properties, FALSE);
 }
 
 static void
-_peer_properties_changed_cb (GDBusConnection *connection,
-                             const char *sender_name,
-                             const char *object_path,
-                             const char *signal_interface_name,
-                             const char *signal_name,
-                             GVariant *parameters,
-                             gpointer user_data)
-{
-	NMSupplicantInterface *self = NM_SUPPLICANT_INTERFACE (user_data);
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	nm_auto_ref_string NMRefString *peer_path = NULL;
-	gs_unref_variant GVariant *changed_properties = NULL;
-	NMSupplicantPeerInfo *peer_info;
-
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sa{sv}as)")))
-		return;
-
-	peer_path = nm_ref_string_new (object_path);
-
-	peer_info = g_hash_table_lookup (priv->peer_idx, &peer_path);
-	if (!peer_info)
-		return;
-	if (peer_info->_init_cancellable)
-		return;
-
-	g_variant_get (parameters,
-	               "(&s@a{sv}^a&s)",
-	               NULL,
-	               &changed_properties,
-	               NULL);
-	_peer_info_properties_changed (self, peer_info, changed_properties, FALSE);
+_peer_properties_changed_cb(GDBusConnection *connection,
+                            const char *     sender_name,
+                            const char *     object_path,
+                            const char *     signal_interface_name,
+                            const char *     signal_name,
+                            GVariant *       parameters,
+                            gpointer         user_data)
+{
+    NMSupplicantInterface *       self            = NM_SUPPLICANT_INTERFACE(user_data);
+    NMSupplicantInterfacePrivate *priv            = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    nm_auto_ref_string NMRefString *peer_path     = NULL;
+    gs_unref_variant GVariant *changed_properties = NULL;
+    NMSupplicantPeerInfo *     peer_info;
+
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(sa{sv}as)")))
+        return;
+
+    peer_path = nm_ref_string_new(object_path);
+
+    peer_info = g_hash_table_lookup(priv->peer_idx, &peer_path);
+    if (!peer_info)
+        return;
+    if (peer_info->_init_cancellable)
+        return;
+
+    g_variant_get(parameters, "(&s@a{sv}^a&s)", NULL, &changed_properties, NULL);
+    _peer_info_properties_changed(self, peer_info, changed_properties, FALSE);
 }
 
 static void
-_get_all_main_cb (GVariant *result,
-                  GError *error,
-                  gpointer user_data)
+_get_all_main_cb(GVariant *result, GError *error, gpointer user_data)
 {
-	gs_unref_variant GVariant *properties = NULL;
+    gs_unref_variant GVariant *properties = NULL;
 
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	if (result)
-		g_variant_get (result, "(@a{sv})", &properties);
-	_properties_changed (user_data,
-	                     NM_WPAS_DBUS_IFACE_INTERFACE,
-	                     properties,
-	                     TRUE);
+    if (result)
+        g_variant_get(result, "(@a{sv})", &properties);
+    _properties_changed(user_data, NM_WPAS_DBUS_IFACE_INTERFACE, properties, TRUE);
 }
 
 static void
-_get_all_p2p_device_cb (GVariant *result,
-                        GError *error,
-                        gpointer user_data)
+_get_all_p2p_device_cb(GVariant *result, GError *error, gpointer user_data)
 {
-	gs_unref_variant GVariant *properties = NULL;
+    gs_unref_variant GVariant *properties = NULL;
 
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	if (result)
-		g_variant_get (result, "(@a{sv})", &properties);
-	_properties_changed (user_data,
-	                     NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
-	                     properties,
-	                     TRUE);
+    if (result)
+        g_variant_get(result, "(@a{sv})", &properties);
+    _properties_changed(user_data, NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE, properties, TRUE);
 }
 
 static void
-_signal_handle (NMSupplicantInterface *self,
-                const char *signal_interface_name,
-                const char *signal_name,
-                GVariant *parameters)
-{
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-	const char *path;
-
-	if (nm_streq (signal_interface_name, NM_WPAS_DBUS_IFACE_INTERFACE)) {
-
-		if (!priv->is_ready_main)
-			return;
-
-		if (nm_streq (signal_name, "BSSAdded")) {
-			if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(oa{sv})")))
-				return;
-
-			g_variant_get (parameters, "(&oa{sv})", &path, NULL);
-			_bss_info_add (self, path);
-			return;
-		}
-
-		if (nm_streq (signal_name, "BSSRemoved")) {
-			nm_auto_ref_string NMRefString *bss_path = NULL;
-
-			if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(o)")))
-				return;
-
-			g_variant_get (parameters, "(&o)", &path);
-			bss_path = nm_ref_string_new (path);
-			_bss_info_remove (self, &bss_path);
-			return;
-		}
-
-		if (nm_streq (signal_name, "EAP")) {
-			NMSupplicantAuthState auth_state = NM_SUPPLICANT_AUTH_STATE_UNKNOWN;
-			const char *status;
-			const char *parameter;
-
-			if (g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(ss)")))
-				return;
-
-			g_variant_get (parameters, "(&s&s)", &status, &parameter);
-
-			if (nm_streq (status, "started"))
-				auth_state = NM_SUPPLICANT_AUTH_STATE_STARTED;
-			else if (nm_streq (status, "completion")) {
-				if (nm_streq (parameter, "success"))
-					auth_state = NM_SUPPLICANT_AUTH_STATE_SUCCESS;
-				else if (nm_streq (parameter, "failure"))
-					auth_state = NM_SUPPLICANT_AUTH_STATE_FAILURE;
-			}
-
-			/* the state eventually reaches one of started, success or failure
-			 * so ignore any other intermediate (unknown) state change. */
-			if (   auth_state != NM_SUPPLICANT_AUTH_STATE_UNKNOWN
-			    && auth_state != priv->auth_state) {
-				priv->auth_state = auth_state;
-				_notify (self, PROP_AUTH_STATE);
-			}
-			return;
-		}
-
-		return;
-	}
-
-	if (nm_streq (signal_interface_name, NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE)) {
-
-		if (!priv->is_ready_p2p_device)
-			return;
-
-		if (nm_streq (signal_name, "DeviceFound")) {
-			if (g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(o)"))) {
-				g_variant_get (parameters, "(&o)", &path);
-				_peer_info_add (self, path);
-			}
-			return;
-		}
-
-		if (nm_streq (signal_name, "DeviceLost")) {
-			if (g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(o)"))) {
-				nm_auto_ref_string NMRefString *peer_path = NULL;
-
-				g_variant_get (parameters, "(&o)", &path);
-				peer_path = nm_ref_string_new (path);
-				_peer_info_remove (self, &peer_path);
-			}
-			return;
-		}
-
-		if (nm_streq (signal_name, "GroupStarted")) {
-			if (g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(a{sv})"))) {
-				gs_unref_variant GVariant *args = NULL;
-				gs_unref_object NMSupplicantInterface *iface = NULL;
-				const char *group_path;
-				const char *iface_path;
-
-				g_variant_get (parameters, "(@a{sv})", &args);
-				if (!g_variant_lookup (args, "group_object", "&o", &group_path))
-					return;
-				if (!g_variant_lookup (args, "interface_object", "&o", &iface_path))
-					return;
-
-				if (nm_streq (iface_path, priv->object_path->str)) {
-					_LOGW ("P2P: GroupStarted on existing interface");
-					iface = g_object_ref (self);
-				} else {
-					iface = nm_supplicant_manager_create_interface_from_path (priv->supplicant_manager,
-					                                                          iface_path);
-					if (iface == NULL) {
-						_LOGW ("P2P: Group interface already exists in GroupStarted handler, aborting further processing.");
-						return;
-					}
-				}
-
-				/* Signal existence of the (new) interface. */
-				g_signal_emit (self, signals[GROUP_STARTED], 0, iface);
-			}
-			return;
-		}
-
-		if (nm_streq (signal_name, "GroupFinished")) {
-			if (g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(a{sv})"))) {
-				gs_unref_variant GVariant *args = NULL;
-				const char *iface_path;
-
-				g_variant_get (parameters, "(@a{sv})", &args);
-
-				/* TODO: Group finished is called on the management interface!
-				 *       This means the signal consumer will currently need to assume which
-				 *       interface is finishing or it needs to match the object paths.
-				 */
-				if (!g_variant_lookup (args, "interface_object", "&o", &iface_path))
-					return;
-
-				_LOGD ("P2P: GroupFinished signal on interface %s for interface %s", priv->object_path->str, iface_path);
-
-				/* Signal group finish interface (on management interface). */
-				g_signal_emit (self, signals[GROUP_FINISHED], 0, iface_path);
-			}
-			return;
-		}
-
-		return;
-	}
+_signal_handle(NMSupplicantInterface *self,
+               const char *           signal_interface_name,
+               const char *           signal_name,
+               GVariant *             parameters)
+{
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+    const char *                  path;
+
+    if (nm_streq(signal_interface_name, NM_WPAS_DBUS_IFACE_INTERFACE)) {
+        if (!priv->is_ready_main)
+            return;
+
+        if (nm_streq(signal_name, "BSSAdded")) {
+            if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(oa{sv})")))
+                return;
+
+            g_variant_get(parameters, "(&oa{sv})", &path, NULL);
+            _bss_info_add(self, path);
+            return;
+        }
+
+        if (nm_streq(signal_name, "BSSRemoved")) {
+            nm_auto_ref_string NMRefString *bss_path = NULL;
+
+            if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(o)")))
+                return;
+
+            g_variant_get(parameters, "(&o)", &path);
+            bss_path = nm_ref_string_new(path);
+            _bss_info_remove(self, &bss_path);
+            return;
+        }
+
+        if (nm_streq(signal_name, "EAP")) {
+            NMSupplicantAuthState auth_state = NM_SUPPLICANT_AUTH_STATE_UNKNOWN;
+            const char *          status;
+            const char *          parameter;
+
+            if (g_variant_is_of_type(parameters, G_VARIANT_TYPE("(ss)")))
+                return;
+
+            g_variant_get(parameters, "(&s&s)", &status, &parameter);
+
+            if (nm_streq(status, "started"))
+                auth_state = NM_SUPPLICANT_AUTH_STATE_STARTED;
+            else if (nm_streq(status, "completion")) {
+                if (nm_streq(parameter, "success"))
+                    auth_state = NM_SUPPLICANT_AUTH_STATE_SUCCESS;
+                else if (nm_streq(parameter, "failure"))
+                    auth_state = NM_SUPPLICANT_AUTH_STATE_FAILURE;
+            }
+
+            /* the state eventually reaches one of started, success or failure
+             * so ignore any other intermediate (unknown) state change. */
+            if (auth_state != NM_SUPPLICANT_AUTH_STATE_UNKNOWN && auth_state != priv->auth_state) {
+                priv->auth_state = auth_state;
+                _notify(self, PROP_AUTH_STATE);
+            }
+            return;
+        }
+
+        return;
+    }
+
+    if (nm_streq(signal_interface_name, NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE)) {
+        if (!priv->is_ready_p2p_device)
+            return;
+
+        if (nm_streq(signal_name, "DeviceFound")) {
+            if (g_variant_is_of_type(parameters, G_VARIANT_TYPE("(o)"))) {
+                g_variant_get(parameters, "(&o)", &path);
+                _peer_info_add(self, path);
+            }
+            return;
+        }
+
+        if (nm_streq(signal_name, "DeviceLost")) {
+            if (g_variant_is_of_type(parameters, G_VARIANT_TYPE("(o)"))) {
+                nm_auto_ref_string NMRefString *peer_path = NULL;
+
+                g_variant_get(parameters, "(&o)", &path);
+                peer_path = nm_ref_string_new(path);
+                _peer_info_remove(self, &peer_path);
+            }
+            return;
+        }
+
+        if (nm_streq(signal_name, "GroupStarted")) {
+            if (g_variant_is_of_type(parameters, G_VARIANT_TYPE("(a{sv})"))) {
+                gs_unref_variant GVariant *args              = NULL;
+                gs_unref_object NMSupplicantInterface *iface = NULL;
+                const char *                           group_path;
+                const char *                           iface_path;
+
+                g_variant_get(parameters, "(@a{sv})", &args);
+                if (!g_variant_lookup(args, "group_object", "&o", &group_path))
+                    return;
+                if (!g_variant_lookup(args, "interface_object", "&o", &iface_path))
+                    return;
+
+                if (nm_streq(iface_path, priv->object_path->str)) {
+                    _LOGW("P2P: GroupStarted on existing interface");
+                    iface = g_object_ref(self);
+                } else {
+                    iface =
+                        nm_supplicant_manager_create_interface_from_path(priv->supplicant_manager,
+                                                                         iface_path);
+                    if (iface == NULL) {
+                        _LOGW("P2P: Group interface already exists in GroupStarted handler, "
+                              "aborting further processing.");
+                        return;
+                    }
+                }
+
+                /* Signal existence of the (new) interface. */
+                g_signal_emit(self, signals[GROUP_STARTED], 0, iface);
+            }
+            return;
+        }
+
+        if (nm_streq(signal_name, "GroupFinished")) {
+            if (g_variant_is_of_type(parameters, G_VARIANT_TYPE("(a{sv})"))) {
+                gs_unref_variant GVariant *args = NULL;
+                const char *               iface_path;
+
+                g_variant_get(parameters, "(@a{sv})", &args);
+
+                /* TODO: Group finished is called on the management interface!
+                 *       This means the signal consumer will currently need to assume which
+                 *       interface is finishing or it needs to match the object paths.
+                 */
+                if (!g_variant_lookup(args, "interface_object", "&o", &iface_path))
+                    return;
+
+                _LOGD("P2P: GroupFinished signal on interface %s for interface %s",
+                      priv->object_path->str,
+                      iface_path);
+
+                /* Signal group finish interface (on management interface). */
+                g_signal_emit(self, signals[GROUP_FINISHED], 0, iface_path);
+            }
+            return;
+        }
+
+        return;
+    }
 }
 
 static void
-_signal_cb (GDBusConnection *connection,
-            const char *sender_name,
-            const char *object_path,
-            const char *signal_interface_name,
-            const char *signal_name,
-            GVariant *parameters,
-            gpointer user_data)
+_signal_cb(GDBusConnection *connection,
+           const char *     sender_name,
+           const char *     object_path,
+           const char *     signal_interface_name,
+           const char *     signal_name,
+           GVariant *       parameters,
+           gpointer         user_data)
 {
-	NMSupplicantInterface *self = user_data;
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    NMSupplicantInterface *       self = user_data;
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	priv->starting_pending_count++;
-	_signal_handle (self, signal_interface_name, signal_name, parameters);
-	priv->starting_pending_count--;
-	_starting_check_ready (self);
+    priv->starting_pending_count++;
+    _signal_handle(self, signal_interface_name, signal_name, parameters);
+    priv->starting_pending_count--;
+    _starting_check_ready(self);
 
-	_notify_maybe_scanning (self);
+    _notify_maybe_scanning(self);
 }
 
 /*****************************************************************************/
 
 gboolean
-nm_supplicant_interface_get_p2p_available (NMSupplicantInterface *self)
+nm_supplicant_interface_get_p2p_available(NMSupplicantInterface *self)
 {
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->p2p_capable_cached;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->p2p_capable_cached;
 }
 
 gboolean
-nm_supplicant_interface_get_p2p_group_joined (NMSupplicantInterface *self)
+nm_supplicant_interface_get_p2p_group_joined(NMSupplicantInterface *self)
 {
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->p2p_group_joined_cached;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->p2p_group_joined_cached;
 }
 
-const char*
-nm_supplicant_interface_get_p2p_group_path (NMSupplicantInterface *self)
+const char *
+nm_supplicant_interface_get_p2p_group_path(NMSupplicantInterface *self)
 {
-	return nm_ref_string_get_str (NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->p2p_group_path);
+    return nm_ref_string_get_str(NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->p2p_group_path);
 }
 
 gboolean
-nm_supplicant_interface_get_p2p_group_owner (NMSupplicantInterface *self)
+nm_supplicant_interface_get_p2p_group_owner(NMSupplicantInterface *self)
 {
-	return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->p2p_group_owner_cached;
+    return NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self)->p2p_group_owner_cached;
 }
 
 /*****************************************************************************/
 
 static void
-get_property (GObject *object,
-              guint prop_id,
-              GValue *value,
-              GParamSpec *pspec)
-{
-	NMSupplicantInterface *self = NM_SUPPLICANT_INTERFACE (object);
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-
-	switch (prop_id) {
-	case PROP_SCANNING:
-		g_value_set_boolean (value, nm_supplicant_interface_get_scanning (self));
-		break;
-	case PROP_CURRENT_BSS:
-		g_value_set_string (value, nm_ref_string_get_str (nm_supplicant_interface_get_current_bss (self)));
-		break;
-	case PROP_P2P_GROUP_JOINED:
-		g_value_set_boolean (value, nm_supplicant_interface_get_p2p_group_joined (self));
-		break;
-	case PROP_P2P_GROUP_PATH:
-		g_value_set_string (value, nm_supplicant_interface_get_p2p_group_path (self));
-		break;
-	case PROP_P2P_GROUP_OWNER:
-		g_value_set_boolean (value, nm_supplicant_interface_get_p2p_group_owner (self));
-		break;
-	case PROP_P2P_AVAILABLE:
-		g_value_set_boolean (value, nm_supplicant_interface_get_p2p_available (self));
-		break;
-	case PROP_AUTH_STATE:
-		g_value_set_uint (value, priv->auth_state);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-		break;
-	}
+get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+{
+    NMSupplicantInterface *       self = NM_SUPPLICANT_INTERFACE(object);
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    switch (prop_id) {
+    case PROP_SCANNING:
+        g_value_set_boolean(value, nm_supplicant_interface_get_scanning(self));
+        break;
+    case PROP_CURRENT_BSS:
+        g_value_set_string(value,
+                           nm_ref_string_get_str(nm_supplicant_interface_get_current_bss(self)));
+        break;
+    case PROP_P2P_GROUP_JOINED:
+        g_value_set_boolean(value, nm_supplicant_interface_get_p2p_group_joined(self));
+        break;
+    case PROP_P2P_GROUP_PATH:
+        g_value_set_string(value, nm_supplicant_interface_get_p2p_group_path(self));
+        break;
+    case PROP_P2P_GROUP_OWNER:
+        g_value_set_boolean(value, nm_supplicant_interface_get_p2p_group_owner(self));
+        break;
+    case PROP_P2P_AVAILABLE:
+        g_value_set_boolean(value, nm_supplicant_interface_get_p2p_available(self));
+        break;
+    case PROP_AUTH_STATE:
+        g_value_set_uint(value, priv->auth_state);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+        break;
+    }
 }
 
 static void
-set_property (GObject *object,
-              guint prop_id,
-              const GValue *value,
-              GParamSpec *pspec)
-{
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (object);
-
-	switch (prop_id) {
-	case PROP_SUPPLICANT_MANAGER:
-		/* construct-only */
-		priv->supplicant_manager = g_object_ref (g_value_get_pointer (value));
-		nm_assert (NM_IS_SUPPLICANT_MANAGER (priv->supplicant_manager));
-
-		priv->dbus_connection = g_object_ref (nm_supplicant_manager_get_dbus_connection (priv->supplicant_manager));
-		nm_assert (G_IS_DBUS_CONNECTION (priv->dbus_connection));
-
-		priv->name_owner = nm_ref_string_ref (nm_supplicant_manager_get_dbus_name_owner (priv->supplicant_manager));
-		nm_assert (NM_IS_REF_STRING (priv->name_owner));
-
-		priv->global_capabilities = nm_supplicant_manager_get_global_capabilities (priv->supplicant_manager);
-		break;
-	case PROP_DBUS_OBJECT_PATH:
-		/* construct-only */
-		priv->object_path = nm_ref_string_ref (g_value_get_pointer (value));
-		nm_assert (NM_IS_REF_STRING (priv->object_path));
-		break;
-	case PROP_IFINDEX:
-		/* construct-only */
-		priv->ifindex = g_value_get_int (value);
-		break;
-	case PROP_DRIVER:
-		/* construct-only */
-		priv->requested_driver = g_value_get_uint (value);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-		break;
-	}
+set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+{
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(object);
+
+    switch (prop_id) {
+    case PROP_SUPPLICANT_MANAGER:
+        /* construct-only */
+        priv->supplicant_manager = g_object_ref(g_value_get_pointer(value));
+        nm_assert(NM_IS_SUPPLICANT_MANAGER(priv->supplicant_manager));
+
+        priv->dbus_connection =
+            g_object_ref(nm_supplicant_manager_get_dbus_connection(priv->supplicant_manager));
+        nm_assert(G_IS_DBUS_CONNECTION(priv->dbus_connection));
+
+        priv->name_owner =
+            nm_ref_string_ref(nm_supplicant_manager_get_dbus_name_owner(priv->supplicant_manager));
+        nm_assert(NM_IS_REF_STRING(priv->name_owner));
+
+        priv->global_capabilities =
+            nm_supplicant_manager_get_global_capabilities(priv->supplicant_manager);
+        break;
+    case PROP_DBUS_OBJECT_PATH:
+        /* construct-only */
+        priv->object_path = nm_ref_string_ref(g_value_get_pointer(value));
+        nm_assert(NM_IS_REF_STRING(priv->object_path));
+        break;
+    case PROP_IFINDEX:
+        /* construct-only */
+        priv->ifindex = g_value_get_int(value);
+        break;
+    case PROP_DRIVER:
+        /* construct-only */
+        priv->requested_driver = g_value_get_uint(value);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+        break;
+    }
 }
 
 /*****************************************************************************/
 
 static void
-nm_supplicant_interface_init (NMSupplicantInterface * self)
+nm_supplicant_interface_init(NMSupplicantInterface *self)
 {
-	NMSupplicantInterfacePrivate *priv;
+    NMSupplicantInterfacePrivate *priv;
 
-	priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_SUPPLICANT_INTERFACE, NMSupplicantInterfacePrivate);
+    priv = G_TYPE_INSTANCE_GET_PRIVATE(self,
+                                       NM_TYPE_SUPPLICANT_INTERFACE,
+                                       NMSupplicantInterfacePrivate);
 
-	self->_priv = priv;
+    self->_priv = priv;
 
-	nm_assert (priv->global_capabilities == NM_SUPPL_CAP_MASK_NONE);
-	nm_assert (priv->iface_capabilities == NM_SUPPL_CAP_MASK_NONE);
+    nm_assert(priv->global_capabilities == NM_SUPPL_CAP_MASK_NONE);
+    nm_assert(priv->iface_capabilities == NM_SUPPL_CAP_MASK_NONE);
 
-	priv->state = NM_SUPPLICANT_INTERFACE_STATE_STARTING;
-	priv->supp_state = NM_SUPPLICANT_INTERFACE_STATE_INVALID;
-	priv->last_scan_msec = -1;
+    priv->state          = NM_SUPPLICANT_INTERFACE_STATE_STARTING;
+    priv->supp_state     = NM_SUPPLICANT_INTERFACE_STATE_INVALID;
+    priv->last_scan_msec = -1;
 
-	c_list_init (&self->supp_lst);
+    c_list_init(&self->supp_lst);
 
-	G_STATIC_ASSERT_EXPR (G_STRUCT_OFFSET (NMSupplicantBssInfo, bss_path) == 0);
-	priv->bss_idx = g_hash_table_new (nm_pdirect_hash, nm_pdirect_equal);
+    G_STATIC_ASSERT_EXPR(G_STRUCT_OFFSET(NMSupplicantBssInfo, bss_path) == 0);
+    priv->bss_idx = g_hash_table_new(nm_pdirect_hash, nm_pdirect_equal);
 
-	c_list_init (&priv->bss_lst_head);
-	c_list_init (&priv->bss_initializing_lst_head);
+    c_list_init(&priv->bss_lst_head);
+    c_list_init(&priv->bss_initializing_lst_head);
 
-	G_STATIC_ASSERT_EXPR (G_STRUCT_OFFSET (NMSupplicantPeerInfo, peer_path) == 0);
-	priv->peer_idx = g_hash_table_new (nm_pdirect_hash, nm_pdirect_equal);
+    G_STATIC_ASSERT_EXPR(G_STRUCT_OFFSET(NMSupplicantPeerInfo, peer_path) == 0);
+    priv->peer_idx = g_hash_table_new(nm_pdirect_hash, nm_pdirect_equal);
 
-	c_list_init (&priv->peer_lst_head);
-	c_list_init (&priv->peer_initializing_lst_head);
+    c_list_init(&priv->peer_lst_head);
+    c_list_init(&priv->peer_initializing_lst_head);
 
-	priv->main_cancellable = g_cancellable_new ();
+    priv->main_cancellable = g_cancellable_new();
 }
 
 static void
-constructed (GObject *object)
-{
-	NMSupplicantInterface *self = NM_SUPPLICANT_INTERFACE (object);
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
-
-	G_OBJECT_CLASS (nm_supplicant_interface_parent_class)->constructed (object);
-
-	_LOGD ("new supplicant interface %s on %s",
-	       priv->object_path->str,
-	       priv->name_owner->str);
-
-	priv->properties_changed_id = nm_dbus_connection_signal_subscribe_properties_changed (priv->dbus_connection,
-	                                                                                      priv->name_owner->str,
-	                                                                                      priv->object_path->str,
-	                                                                                      NULL,
-	                                                                                      _properties_changed_cb,
-	                                                                                      self,
-	                                                                                      NULL);
-
-	priv->bss_properties_changed_id = nm_dbus_connection_signal_subscribe_properties_changed (priv->dbus_connection,
-	                                                                                          priv->name_owner->str,
-	                                                                                          NULL,
-	                                                                                          NM_WPAS_DBUS_IFACE_BSS,
-	                                                                                          _bss_properties_changed_cb,
-	                                                                                          self,
-	                                                                                          NULL);
-
-	priv->signal_id = g_dbus_connection_signal_subscribe (priv->dbus_connection,
-	                                                      priv->name_owner->str,
-	                                                      NULL,
-	                                                      NULL,
-	                                                      priv->object_path->str,
-	                                                      NULL,
-	                                                      G_DBUS_SIGNAL_FLAGS_NONE,
-	                                                      _signal_cb,
-	                                                      self,
-	                                                      NULL);
-
-	/* Scan result aging parameters */
-	nm_dbus_connection_call_set (priv->dbus_connection,
-	                             priv->name_owner->str,
-	                             priv->object_path->str,
-	                             NM_WPAS_DBUS_IFACE_INTERFACE,
-	                             "BSSExpireAge",
-	                             g_variant_new_uint32 (250),
-	                             DBUS_TIMEOUT_MSEC,
-	                             NULL,
-	                             NULL,
-	                             NULL);
-	nm_dbus_connection_call_set (priv->dbus_connection,
-	                             priv->name_owner->str,
-	                             priv->object_path->str,
-	                             NM_WPAS_DBUS_IFACE_INTERFACE,
-	                             "BSSExpireCount",
-	                             g_variant_new_uint32 (2),
-	                             DBUS_TIMEOUT_MSEC,
-	                             NULL,
-	                             NULL,
-	                             NULL);
-
-	if (_get_capability (priv, NM_SUPPL_CAP_TYPE_PMF) == NM_TERNARY_TRUE) {
-		/* Initialize global PMF setting to 'optional' */
-		nm_dbus_connection_call_set (priv->dbus_connection,
-		                             priv->name_owner->str,
-		                             priv->object_path->str,
-		                             NM_WPAS_DBUS_IFACE_INTERFACE,
-		                             "Pmf",
-		                             g_variant_new_string ("1"),
-		                             DBUS_TIMEOUT_MSEC,
-		                             NULL,
-		                             NULL,
-		                             NULL);
-	}
-
-	if (_get_capability (priv, NM_SUPPL_CAP_TYPE_AP) == NM_TERNARY_DEFAULT) {
-		/* If the global supplicant capabilities property is not present, we can
-		 * fall back to checking whether the ProbeRequest method is supported.  If
-		 * neither of these works we have no way of determining if AP mode is
-		 * supported or not.  hostap 1.0 and earlier don't support either of these.
-		 */
-		priv->starting_pending_count++;
-		_dbus_connection_call (self,
-		                       DBUS_INTERFACE_INTROSPECTABLE,
-		                       "Introspect",
-		                       NULL,
-		                       G_VARIANT_TYPE ("(s)"),
-		                       G_DBUS_CALL_FLAGS_NONE,
-		                       5000,
-		                       priv->main_cancellable,
-		                       iface_introspect_cb,
-		                       self);
-	}
-
-	priv->starting_pending_count++;
-	nm_dbus_connection_call_get_all (priv->dbus_connection,
-	                                 priv->name_owner->str,
-	                                 priv->object_path->str,
-	                                 NM_WPAS_DBUS_IFACE_INTERFACE,
-	                                 5000,
-	                                 priv->main_cancellable,
-	                                 _get_all_main_cb,
-	                                 self);
-
-	if (_get_capability (priv, NM_SUPPL_CAP_TYPE_P2P) == NM_TERNARY_TRUE) {
-		priv->peer_properties_changed_id = nm_dbus_connection_signal_subscribe_properties_changed (priv->dbus_connection,
-		                                                                                           priv->name_owner->str,
-		                                                                                           NULL,
-		                                                                                           NM_WPAS_DBUS_IFACE_PEER,
-		                                                                                           _peer_properties_changed_cb,
-		                                                                                           self,
-		                                                                                           NULL);
-
-		priv->starting_pending_count++;
-		nm_dbus_connection_call_get_all (priv->dbus_connection,
-		                                 priv->name_owner->str,
-		                                 priv->object_path->str,
-		                                 NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
-		                                 5000,
-		                                 priv->main_cancellable,
-		                                 _get_all_p2p_device_cb,
-		                                 self);
-	}
+constructed(GObject *object)
+{
+    NMSupplicantInterface *       self = NM_SUPPLICANT_INTERFACE(object);
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
+
+    G_OBJECT_CLASS(nm_supplicant_interface_parent_class)->constructed(object);
+
+    _LOGD("new supplicant interface %s on %s", priv->object_path->str, priv->name_owner->str);
+
+    priv->properties_changed_id =
+        nm_dbus_connection_signal_subscribe_properties_changed(priv->dbus_connection,
+                                                               priv->name_owner->str,
+                                                               priv->object_path->str,
+                                                               NULL,
+                                                               _properties_changed_cb,
+                                                               self,
+                                                               NULL);
+
+    priv->bss_properties_changed_id =
+        nm_dbus_connection_signal_subscribe_properties_changed(priv->dbus_connection,
+                                                               priv->name_owner->str,
+                                                               NULL,
+                                                               NM_WPAS_DBUS_IFACE_BSS,
+                                                               _bss_properties_changed_cb,
+                                                               self,
+                                                               NULL);
+
+    priv->signal_id = g_dbus_connection_signal_subscribe(priv->dbus_connection,
+                                                         priv->name_owner->str,
+                                                         NULL,
+                                                         NULL,
+                                                         priv->object_path->str,
+                                                         NULL,
+                                                         G_DBUS_SIGNAL_FLAGS_NONE,
+                                                         _signal_cb,
+                                                         self,
+                                                         NULL);
+
+    /* Scan result aging parameters */
+    nm_dbus_connection_call_set(priv->dbus_connection,
+                                priv->name_owner->str,
+                                priv->object_path->str,
+                                NM_WPAS_DBUS_IFACE_INTERFACE,
+                                "BSSExpireAge",
+                                g_variant_new_uint32(250),
+                                DBUS_TIMEOUT_MSEC,
+                                NULL,
+                                NULL,
+                                NULL);
+    nm_dbus_connection_call_set(priv->dbus_connection,
+                                priv->name_owner->str,
+                                priv->object_path->str,
+                                NM_WPAS_DBUS_IFACE_INTERFACE,
+                                "BSSExpireCount",
+                                g_variant_new_uint32(2),
+                                DBUS_TIMEOUT_MSEC,
+                                NULL,
+                                NULL,
+                                NULL);
+
+    if (_get_capability(priv, NM_SUPPL_CAP_TYPE_PMF) == NM_TERNARY_TRUE) {
+        /* Initialize global PMF setting to 'optional' */
+        nm_dbus_connection_call_set(priv->dbus_connection,
+                                    priv->name_owner->str,
+                                    priv->object_path->str,
+                                    NM_WPAS_DBUS_IFACE_INTERFACE,
+                                    "Pmf",
+                                    g_variant_new_string("1"),
+                                    DBUS_TIMEOUT_MSEC,
+                                    NULL,
+                                    NULL,
+                                    NULL);
+    }
+
+    if (_get_capability(priv, NM_SUPPL_CAP_TYPE_AP) == NM_TERNARY_DEFAULT) {
+        /* If the global supplicant capabilities property is not present, we can
+         * fall back to checking whether the ProbeRequest method is supported.  If
+         * neither of these works we have no way of determining if AP mode is
+         * supported or not.  hostap 1.0 and earlier don't support either of these.
+         */
+        priv->starting_pending_count++;
+        _dbus_connection_call(self,
+                              DBUS_INTERFACE_INTROSPECTABLE,
+                              "Introspect",
+                              NULL,
+                              G_VARIANT_TYPE("(s)"),
+                              G_DBUS_CALL_FLAGS_NONE,
+                              5000,
+                              priv->main_cancellable,
+                              iface_introspect_cb,
+                              self);
+    }
+
+    priv->starting_pending_count++;
+    nm_dbus_connection_call_get_all(priv->dbus_connection,
+                                    priv->name_owner->str,
+                                    priv->object_path->str,
+                                    NM_WPAS_DBUS_IFACE_INTERFACE,
+                                    5000,
+                                    priv->main_cancellable,
+                                    _get_all_main_cb,
+                                    self);
+
+    if (_get_capability(priv, NM_SUPPL_CAP_TYPE_P2P) == NM_TERNARY_TRUE) {
+        priv->peer_properties_changed_id =
+            nm_dbus_connection_signal_subscribe_properties_changed(priv->dbus_connection,
+                                                                   priv->name_owner->str,
+                                                                   NULL,
+                                                                   NM_WPAS_DBUS_IFACE_PEER,
+                                                                   _peer_properties_changed_cb,
+                                                                   self,
+                                                                   NULL);
+
+        priv->starting_pending_count++;
+        nm_dbus_connection_call_get_all(priv->dbus_connection,
+                                        priv->name_owner->str,
+                                        priv->object_path->str,
+                                        NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE,
+                                        5000,
+                                        priv->main_cancellable,
+                                        _get_all_p2p_device_cb,
+                                        self);
+    }
 }
 
 NMSupplicantInterface *
-nm_supplicant_interface_new (NMSupplicantManager *supplicant_manager,
-                             NMRefString *object_path,
-                             int ifindex,
-                             NMSupplicantDriver driver)
+nm_supplicant_interface_new(NMSupplicantManager *supplicant_manager,
+                            NMRefString *        object_path,
+                            int                  ifindex,
+                            NMSupplicantDriver   driver)
 {
-	nm_assert (NM_IS_SUPPLICANT_MANAGER (supplicant_manager));
+    nm_assert(NM_IS_SUPPLICANT_MANAGER(supplicant_manager));
 
-	return g_object_new (NM_TYPE_SUPPLICANT_INTERFACE,
-	                     NM_SUPPLICANT_INTERFACE_SUPPLICANT_MANAGER, supplicant_manager,
-	                     NM_SUPPLICANT_INTERFACE_DBUS_OBJECT_PATH, object_path,
-	                     NM_SUPPLICANT_INTERFACE_IFINDEX, ifindex,
-	                     NM_SUPPLICANT_INTERFACE_DRIVER, (guint) driver,
-	                     NULL);
+    return g_object_new(NM_TYPE_SUPPLICANT_INTERFACE,
+                        NM_SUPPLICANT_INTERFACE_SUPPLICANT_MANAGER,
+                        supplicant_manager,
+                        NM_SUPPLICANT_INTERFACE_DBUS_OBJECT_PATH,
+                        object_path,
+                        NM_SUPPLICANT_INTERFACE_IFINDEX,
+                        ifindex,
+                        NM_SUPPLICANT_INTERFACE_DRIVER,
+                        (guint) driver,
+                        NULL);
 }
 
 static void
-dispose (GObject *object)
+dispose(GObject *object)
 {
-	NMSupplicantInterface *self = NM_SUPPLICANT_INTERFACE (object);
-	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+    NMSupplicantInterface *       self = NM_SUPPLICANT_INTERFACE(object);
+    NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self);
 
-	if (priv->state != NM_SUPPLICANT_INTERFACE_STATE_DOWN)
-		set_state_down (self, TRUE, "NMSupplicantInterface is disposing");
+    if (priv->state != NM_SUPPLICANT_INTERFACE_STATE_DOWN)
+        set_state_down(self, TRUE, "NMSupplicantInterface is disposing");
 
-	nm_assert (c_list_is_empty (&self->supp_lst));
+    nm_assert(c_list_is_empty(&self->supp_lst));
 
-	if (priv->wps_data) {
-		/* we shut down, but an asynchronous Cancel request is pending.
-		 * We don't want to cancel it, so mark wps-data that @self is gone.
-		 * This way, _wps_handle_cancel_cb() knows it must no longer touch
-		 * @self */
-		priv->wps_data->self = NULL;
-		priv->wps_data = NULL;
-	}
+    if (priv->wps_data) {
+        /* we shut down, but an asynchronous Cancel request is pending.
+         * We don't want to cancel it, so mark wps-data that @self is gone.
+         * This way, _wps_handle_cancel_cb() knows it must no longer touch
+         * @self */
+        priv->wps_data->self = NULL;
+        priv->wps_data       = NULL;
+    }
 
-	nm_assert (!priv->assoc_data);
+    nm_assert(!priv->assoc_data);
 
-	nm_clear_pointer (&priv->bss_idx, g_hash_table_destroy);
-	nm_clear_pointer (&priv->peer_idx, g_hash_table_destroy);
+    nm_clear_pointer(&priv->bss_idx, g_hash_table_destroy);
+    nm_clear_pointer(&priv->peer_idx, g_hash_table_destroy);
 
-	nm_clear_pointer (&priv->current_bss, nm_ref_string_unref);
+    nm_clear_pointer(&priv->current_bss, nm_ref_string_unref);
 
-	G_OBJECT_CLASS (nm_supplicant_interface_parent_class)->dispose (object);
+    G_OBJECT_CLASS(nm_supplicant_interface_parent_class)->dispose(object);
 
-	nm_clear_pointer (&priv->object_path, nm_ref_string_unref);
-	nm_clear_pointer (&priv->name_owner, nm_ref_string_unref);
-	g_clear_object (&priv->supplicant_manager);
-	g_clear_object (&priv->dbus_connection);
-	nm_clear_g_free (&priv->ifname);
-	nm_clear_g_free (&priv->driver);
-	nm_assert (!priv->net_path);
+    nm_clear_pointer(&priv->object_path, nm_ref_string_unref);
+    nm_clear_pointer(&priv->name_owner, nm_ref_string_unref);
+    g_clear_object(&priv->supplicant_manager);
+    g_clear_object(&priv->dbus_connection);
+    nm_clear_g_free(&priv->ifname);
+    nm_clear_g_free(&priv->driver);
+    nm_assert(!priv->net_path);
 }
 
 static void
-nm_supplicant_interface_class_init (NMSupplicantInterfaceClass *klass)
-{
-	GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
-	g_type_class_add_private (object_class, sizeof (NMSupplicantInterfacePrivate));
-
-	object_class->constructed  = constructed;
-	object_class->dispose      = dispose;
-	object_class->set_property = set_property;
-	object_class->get_property = get_property;
-
-	obj_properties[PROP_SUPPLICANT_MANAGER] =
-	    g_param_spec_pointer (NM_SUPPLICANT_INTERFACE_SUPPLICANT_MANAGER, "", "",
-	                          G_PARAM_WRITABLE |
-	                          G_PARAM_CONSTRUCT_ONLY |
-	                          G_PARAM_STATIC_STRINGS);
-	obj_properties[PROP_DBUS_OBJECT_PATH] =
-	    g_param_spec_pointer (NM_SUPPLICANT_INTERFACE_DBUS_OBJECT_PATH, "", "",
-	                          G_PARAM_WRITABLE |
-	                          G_PARAM_CONSTRUCT_ONLY |
-	                          G_PARAM_STATIC_STRINGS);
-	obj_properties[PROP_IFINDEX] =
-	    g_param_spec_int (NM_SUPPLICANT_INTERFACE_IFINDEX, "", "",
-	                      0, G_MAXINT, 0,
-	                      G_PARAM_WRITABLE |
-	                      G_PARAM_CONSTRUCT_ONLY |
-	                      G_PARAM_STATIC_STRINGS);
-	obj_properties[PROP_DRIVER] =
-	    g_param_spec_uint (NM_SUPPLICANT_INTERFACE_DRIVER, "", "",
-	                       0, G_MAXUINT, NM_SUPPLICANT_DRIVER_WIRELESS,
-	                       G_PARAM_WRITABLE |
-	                       G_PARAM_CONSTRUCT_ONLY |
-	                       G_PARAM_STATIC_STRINGS);
-
-	obj_properties[PROP_SCANNING] =
-	    g_param_spec_boolean (NM_SUPPLICANT_INTERFACE_SCANNING, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-	obj_properties[PROP_CURRENT_BSS] =
-	    g_param_spec_string (NM_SUPPLICANT_INTERFACE_CURRENT_BSS, "", "",
-	                         NULL,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_STATIC_STRINGS);
-	obj_properties[PROP_P2P_GROUP_JOINED] =
-	    g_param_spec_boolean (NM_SUPPLICANT_INTERFACE_P2P_GROUP_JOINED, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-	obj_properties[PROP_P2P_GROUP_PATH] =
-	    g_param_spec_string (NM_SUPPLICANT_INTERFACE_P2P_GROUP_PATH, "", "",
-	                         NULL,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_STATIC_STRINGS);
-	obj_properties[PROP_P2P_GROUP_OWNER] =
-	    g_param_spec_boolean (NM_SUPPLICANT_INTERFACE_P2P_GROUP_OWNER, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-	obj_properties[PROP_P2P_AVAILABLE] =
-	    g_param_spec_boolean (NM_SUPPLICANT_INTERFACE_P2P_AVAILABLE, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-	obj_properties[PROP_AUTH_STATE] =
-	    g_param_spec_uint (NM_SUPPLICANT_INTERFACE_AUTH_STATE, "", "",
-	                       NM_SUPPLICANT_AUTH_STATE_UNKNOWN,
-	                       _NM_SUPPLICANT_AUTH_STATE_NUM - 1,
-	                       NM_SUPPLICANT_AUTH_STATE_UNKNOWN,
-	                       G_PARAM_READABLE |
-	                       G_PARAM_STATIC_STRINGS);
-
-	g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
-
-	signals[STATE] =
-	    g_signal_new (NM_SUPPLICANT_INTERFACE_STATE,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_LAST,
-	                  0,
-	                  NULL, NULL, NULL,
-	                  G_TYPE_NONE, 3, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT);
-
-	signals[BSS_CHANGED] =
-	    g_signal_new (NM_SUPPLICANT_INTERFACE_BSS_CHANGED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_LAST,
-	                  0,
-	                  NULL, NULL, NULL,
-	                  G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_BOOLEAN);
-
-	signals[PEER_CHANGED] =
-	    g_signal_new (NM_SUPPLICANT_INTERFACE_PEER_CHANGED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_LAST,
-	                  0,
-	                  NULL, NULL, NULL,
-	                  G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_BOOLEAN);
-
-	signals[WPS_CREDENTIALS] =
-	    g_signal_new (NM_SUPPLICANT_INTERFACE_WPS_CREDENTIALS,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_LAST,
-	                  0,
-	                  NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1, G_TYPE_VARIANT);
-
-	signals[GROUP_STARTED] =
-	    g_signal_new (NM_SUPPLICANT_INTERFACE_GROUP_STARTED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_LAST,
-	                  0,
-	                  NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1, NM_TYPE_SUPPLICANT_INTERFACE);
-
-	signals[GROUP_FINISHED] =
-	    g_signal_new (NM_SUPPLICANT_INTERFACE_GROUP_FINISHED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_LAST,
-	                  0,
-	                  NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1, G_TYPE_STRING);
+nm_supplicant_interface_class_init(NMSupplicantInterfaceClass *klass)
+{
+    GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+    g_type_class_add_private(object_class, sizeof(NMSupplicantInterfacePrivate));
+
+    object_class->constructed  = constructed;
+    object_class->dispose      = dispose;
+    object_class->set_property = set_property;
+    object_class->get_property = get_property;
+
+    obj_properties[PROP_SUPPLICANT_MANAGER] =
+        g_param_spec_pointer(NM_SUPPLICANT_INTERFACE_SUPPLICANT_MANAGER,
+                             "",
+                             "",
+                             G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+    obj_properties[PROP_DBUS_OBJECT_PATH] =
+        g_param_spec_pointer(NM_SUPPLICANT_INTERFACE_DBUS_OBJECT_PATH,
+                             "",
+                             "",
+                             G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+    obj_properties[PROP_IFINDEX] =
+        g_param_spec_int(NM_SUPPLICANT_INTERFACE_IFINDEX,
+                         "",
+                         "",
+                         0,
+                         G_MAXINT,
+                         0,
+                         G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+    obj_properties[PROP_DRIVER] =
+        g_param_spec_uint(NM_SUPPLICANT_INTERFACE_DRIVER,
+                          "",
+                          "",
+                          0,
+                          G_MAXUINT,
+                          NM_SUPPLICANT_DRIVER_WIRELESS,
+                          G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_SCANNING] = g_param_spec_boolean(NM_SUPPLICANT_INTERFACE_SCANNING,
+                                                         "",
+                                                         "",
+                                                         FALSE,
+                                                         G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+    obj_properties[PROP_CURRENT_BSS] =
+        g_param_spec_string(NM_SUPPLICANT_INTERFACE_CURRENT_BSS,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+    obj_properties[PROP_P2P_GROUP_JOINED] =
+        g_param_spec_boolean(NM_SUPPLICANT_INTERFACE_P2P_GROUP_JOINED,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+    obj_properties[PROP_P2P_GROUP_PATH] =
+        g_param_spec_string(NM_SUPPLICANT_INTERFACE_P2P_GROUP_PATH,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+    obj_properties[PROP_P2P_GROUP_OWNER] =
+        g_param_spec_boolean(NM_SUPPLICANT_INTERFACE_P2P_GROUP_OWNER,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+    obj_properties[PROP_P2P_AVAILABLE] =
+        g_param_spec_boolean(NM_SUPPLICANT_INTERFACE_P2P_AVAILABLE,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+    obj_properties[PROP_AUTH_STATE] = g_param_spec_uint(NM_SUPPLICANT_INTERFACE_AUTH_STATE,
+                                                        "",
+                                                        "",
+                                                        NM_SUPPLICANT_AUTH_STATE_UNKNOWN,
+                                                        _NM_SUPPLICANT_AUTH_STATE_NUM - 1,
+                                                        NM_SUPPLICANT_AUTH_STATE_UNKNOWN,
+                                                        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);
+
+    signals[STATE] = g_signal_new(NM_SUPPLICANT_INTERFACE_STATE,
+                                  G_OBJECT_CLASS_TYPE(object_class),
+                                  G_SIGNAL_RUN_LAST,
+                                  0,
+                                  NULL,
+                                  NULL,
+                                  NULL,
+                                  G_TYPE_NONE,
+                                  3,
+                                  G_TYPE_INT,
+                                  G_TYPE_INT,
+                                  G_TYPE_INT);
+
+    signals[BSS_CHANGED] = g_signal_new(NM_SUPPLICANT_INTERFACE_BSS_CHANGED,
+                                        G_OBJECT_CLASS_TYPE(object_class),
+                                        G_SIGNAL_RUN_LAST,
+                                        0,
+                                        NULL,
+                                        NULL,
+                                        NULL,
+                                        G_TYPE_NONE,
+                                        2,
+                                        G_TYPE_POINTER,
+                                        G_TYPE_BOOLEAN);
+
+    signals[PEER_CHANGED] = g_signal_new(NM_SUPPLICANT_INTERFACE_PEER_CHANGED,
+                                         G_OBJECT_CLASS_TYPE(object_class),
+                                         G_SIGNAL_RUN_LAST,
+                                         0,
+                                         NULL,
+                                         NULL,
+                                         NULL,
+                                         G_TYPE_NONE,
+                                         2,
+                                         G_TYPE_POINTER,
+                                         G_TYPE_BOOLEAN);
+
+    signals[WPS_CREDENTIALS] = g_signal_new(NM_SUPPLICANT_INTERFACE_WPS_CREDENTIALS,
+                                            G_OBJECT_CLASS_TYPE(object_class),
+                                            G_SIGNAL_RUN_LAST,
+                                            0,
+                                            NULL,
+                                            NULL,
+                                            NULL,
+                                            G_TYPE_NONE,
+                                            1,
+                                            G_TYPE_VARIANT);
+
+    signals[GROUP_STARTED] = g_signal_new(NM_SUPPLICANT_INTERFACE_GROUP_STARTED,
+                                          G_OBJECT_CLASS_TYPE(object_class),
+                                          G_SIGNAL_RUN_LAST,
+                                          0,
+                                          NULL,
+                                          NULL,
+                                          NULL,
+                                          G_TYPE_NONE,
+                                          1,
+                                          NM_TYPE_SUPPLICANT_INTERFACE);
+
+    signals[GROUP_FINISHED] = g_signal_new(NM_SUPPLICANT_INTERFACE_GROUP_FINISHED,
+                                           G_OBJECT_CLASS_TYPE(object_class),
+                                           G_SIGNAL_RUN_LAST,
+                                           0,
+                                           NULL,
+                                           NULL,
+                                           NULL,
+                                           G_TYPE_NONE,
+                                           1,
+                                           G_TYPE_STRING);
 }
diff --git a/src/supplicant/nm-supplicant-interface.h b/src/supplicant/nm-supplicant-interface.h
index 9ef19816..812ea193 100644
--- a/src/supplicant/nm-supplicant-interface.h
+++ b/src/supplicant/nm-supplicant-interface.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2006 - 2017 Red Hat, Inc.
  * Copyright (C) 2007 - 2008 Novell, Inc.
@@ -16,177 +16,178 @@
  *   A mix of wpa_supplicant interface states and internal states.
  */
 typedef enum {
-	NM_SUPPLICANT_INTERFACE_STATE_INVALID = 0,
-
-	NM_SUPPLICANT_INTERFACE_STATE_STARTING = 1,
-
-	NM_SUPPLICANT_INTERFACE_STATE_DISABLED,
-	NM_SUPPLICANT_INTERFACE_STATE_DISCONNECTED,
-	NM_SUPPLICANT_INTERFACE_STATE_INACTIVE,
-	NM_SUPPLICANT_INTERFACE_STATE_SCANNING,
-	NM_SUPPLICANT_INTERFACE_STATE_AUTHENTICATING,
-	NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATING,
-	NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATED,
-	NM_SUPPLICANT_INTERFACE_STATE_4WAY_HANDSHAKE,
-	NM_SUPPLICANT_INTERFACE_STATE_GROUP_HANDSHAKE,
-	NM_SUPPLICANT_INTERFACE_STATE_COMPLETED,
-
-	NM_SUPPLICANT_INTERFACE_STATE_DOWN,
+    NM_SUPPLICANT_INTERFACE_STATE_INVALID = 0,
+
+    NM_SUPPLICANT_INTERFACE_STATE_STARTING = 1,
+
+    NM_SUPPLICANT_INTERFACE_STATE_DISABLED,
+    NM_SUPPLICANT_INTERFACE_STATE_DISCONNECTED,
+    NM_SUPPLICANT_INTERFACE_STATE_INACTIVE,
+    NM_SUPPLICANT_INTERFACE_STATE_SCANNING,
+    NM_SUPPLICANT_INTERFACE_STATE_AUTHENTICATING,
+    NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATING,
+    NM_SUPPLICANT_INTERFACE_STATE_ASSOCIATED,
+    NM_SUPPLICANT_INTERFACE_STATE_4WAY_HANDSHAKE,
+    NM_SUPPLICANT_INTERFACE_STATE_GROUP_HANDSHAKE,
+    NM_SUPPLICANT_INTERFACE_STATE_COMPLETED,
+
+    NM_SUPPLICANT_INTERFACE_STATE_DOWN,
 } NMSupplicantInterfaceState;
 
 static inline gboolean
-nm_supplicant_interface_state_is_operational (NMSupplicantInterfaceState state)
+nm_supplicant_interface_state_is_operational(NMSupplicantInterfaceState state)
 {
-	return    state > NM_SUPPLICANT_INTERFACE_STATE_STARTING
-	       && state < NM_SUPPLICANT_INTERFACE_STATE_DOWN;
+    return state > NM_SUPPLICANT_INTERFACE_STATE_STARTING
+           && state < NM_SUPPLICANT_INTERFACE_STATE_DOWN;
 }
 
 static inline gboolean
-nm_supplicant_interface_state_is_associated (NMSupplicantInterfaceState state)
+nm_supplicant_interface_state_is_associated(NMSupplicantInterfaceState state)
 {
-	return    state >= NM_SUPPLICANT_INTERFACE_STATE_AUTHENTICATING
-	       && state <= NM_SUPPLICANT_INTERFACE_STATE_COMPLETED;
+    return state >= NM_SUPPLICANT_INTERFACE_STATE_AUTHENTICATING
+           && state <= NM_SUPPLICANT_INTERFACE_STATE_COMPLETED;
 }
 
 typedef enum {
-	NM_SUPPLICANT_AUTH_STATE_UNKNOWN,
-	NM_SUPPLICANT_AUTH_STATE_STARTED,
-	NM_SUPPLICANT_AUTH_STATE_SUCCESS,
-	NM_SUPPLICANT_AUTH_STATE_FAILURE,
-	_NM_SUPPLICANT_AUTH_STATE_NUM,
+    NM_SUPPLICANT_AUTH_STATE_UNKNOWN,
+    NM_SUPPLICANT_AUTH_STATE_STARTED,
+    NM_SUPPLICANT_AUTH_STATE_SUCCESS,
+    NM_SUPPLICANT_AUTH_STATE_FAILURE,
+    _NM_SUPPLICANT_AUTH_STATE_NUM,
 } NMSupplicantAuthState;
 
-#define NM_TYPE_SUPPLICANT_INTERFACE            (nm_supplicant_interface_get_type ())
-#define NM_SUPPLICANT_INTERFACE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SUPPLICANT_INTERFACE, NMSupplicantInterface))
-#define NM_SUPPLICANT_INTERFACE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  NM_TYPE_SUPPLICANT_INTERFACE, NMSupplicantInterfaceClass))
-#define NM_IS_SUPPLICANT_INTERFACE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SUPPLICANT_INTERFACE))
-#define NM_IS_SUPPLICANT_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),  NM_TYPE_SUPPLICANT_INTERFACE))
-#define NM_SUPPLICANT_INTERFACE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),  NM_TYPE_SUPPLICANT_INTERFACE, NMSupplicantInterfaceClass))
-
-#define NM_SUPPLICANT_INTERFACE_SUPPLICANT_MANAGER  "supplicant-manager"
-#define NM_SUPPLICANT_INTERFACE_DBUS_OBJECT_PATH    "dbus-object-path"
-#define NM_SUPPLICANT_INTERFACE_IFINDEX             "ifindex"
-#define NM_SUPPLICANT_INTERFACE_SCANNING            "scanning"
-#define NM_SUPPLICANT_INTERFACE_CURRENT_BSS         "current-bss"
-#define NM_SUPPLICANT_INTERFACE_P2P_GROUP_JOINED    "p2p-group-joined"
-#define NM_SUPPLICANT_INTERFACE_P2P_GROUP_PATH      "p2p-group-path"
-#define NM_SUPPLICANT_INTERFACE_P2P_GROUP_OWNER     "p2p-group-owner"
-#define NM_SUPPLICANT_INTERFACE_DRIVER              "driver"
-#define NM_SUPPLICANT_INTERFACE_P2P_AVAILABLE       "p2p-available"
-#define NM_SUPPLICANT_INTERFACE_AUTH_STATE          "auth-state"
-
-#define NM_SUPPLICANT_INTERFACE_STATE                   "state"
-#define NM_SUPPLICANT_INTERFACE_BSS_CHANGED             "bss-changed"
-#define NM_SUPPLICANT_INTERFACE_PEER_CHANGED            "peer-changed"
-#define NM_SUPPLICANT_INTERFACE_WPS_CREDENTIALS         "wps-credentials"
-#define NM_SUPPLICANT_INTERFACE_GROUP_STARTED           "group-started"
-#define NM_SUPPLICANT_INTERFACE_GROUP_FINISHED          "group-finished"
+#define NM_TYPE_SUPPLICANT_INTERFACE (nm_supplicant_interface_get_type())
+#define NM_SUPPLICANT_INTERFACE(obj) \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_SUPPLICANT_INTERFACE, NMSupplicantInterface))
+#define NM_SUPPLICANT_INTERFACE_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_SUPPLICANT_INTERFACE, NMSupplicantInterfaceClass))
+#define NM_IS_SUPPLICANT_INTERFACE(obj) \
+    (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_SUPPLICANT_INTERFACE))
+#define NM_IS_SUPPLICANT_INTERFACE_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_SUPPLICANT_INTERFACE))
+#define NM_SUPPLICANT_INTERFACE_GET_CLASS(obj) \
+    (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_SUPPLICANT_INTERFACE, NMSupplicantInterfaceClass))
+
+#define NM_SUPPLICANT_INTERFACE_SUPPLICANT_MANAGER "supplicant-manager"
+#define NM_SUPPLICANT_INTERFACE_DBUS_OBJECT_PATH   "dbus-object-path"
+#define NM_SUPPLICANT_INTERFACE_IFINDEX            "ifindex"
+#define NM_SUPPLICANT_INTERFACE_SCANNING           "scanning"
+#define NM_SUPPLICANT_INTERFACE_CURRENT_BSS        "current-bss"
+#define NM_SUPPLICANT_INTERFACE_P2P_GROUP_JOINED   "p2p-group-joined"
+#define NM_SUPPLICANT_INTERFACE_P2P_GROUP_PATH     "p2p-group-path"
+#define NM_SUPPLICANT_INTERFACE_P2P_GROUP_OWNER    "p2p-group-owner"
+#define NM_SUPPLICANT_INTERFACE_DRIVER             "driver"
+#define NM_SUPPLICANT_INTERFACE_P2P_AVAILABLE      "p2p-available"
+#define NM_SUPPLICANT_INTERFACE_AUTH_STATE         "auth-state"
+
+#define NM_SUPPLICANT_INTERFACE_STATE           "state"
+#define NM_SUPPLICANT_INTERFACE_BSS_CHANGED     "bss-changed"
+#define NM_SUPPLICANT_INTERFACE_PEER_CHANGED    "peer-changed"
+#define NM_SUPPLICANT_INTERFACE_WPS_CREDENTIALS "wps-credentials"
+#define NM_SUPPLICANT_INTERFACE_GROUP_STARTED   "group-started"
+#define NM_SUPPLICANT_INTERFACE_GROUP_FINISHED  "group-finished"
 
 typedef struct _NMSupplicantInterfaceClass NMSupplicantInterfaceClass;
 
 struct _NMSupplicantInterfacePrivate;
 
 struct _NMSupplicantInterface {
-	GObject parent;
-	CList supp_lst;
-	struct _NMSupplicantInterfacePrivate *_priv;
+    GObject                               parent;
+    CList                                 supp_lst;
+    struct _NMSupplicantInterfacePrivate *_priv;
 };
 
-GType nm_supplicant_interface_get_type (void);
+GType nm_supplicant_interface_get_type(void);
 
-NMSupplicantInterface *nm_supplicant_interface_new (NMSupplicantManager *supplicant_manager,
-                                                    NMRefString *object_path,
-                                                    int ifindex,
-                                                    NMSupplicantDriver driver);
+NMSupplicantInterface *nm_supplicant_interface_new(NMSupplicantManager *supplicant_manager,
+                                                   NMRefString *        object_path,
+                                                   int                  ifindex,
+                                                   NMSupplicantDriver   driver);
 
-NMRefString *nm_supplicant_interface_get_name_owner (NMSupplicantInterface *self);
-NMRefString *nm_supplicant_interface_get_object_path (NMSupplicantInterface * iface);
+NMRefString *nm_supplicant_interface_get_name_owner(NMSupplicantInterface *self);
+NMRefString *nm_supplicant_interface_get_object_path(NMSupplicantInterface *iface);
 
-void _nm_supplicant_interface_set_state_down (NMSupplicantInterface * self,
-                                              gboolean force_remove_from_supplicant,
-                                              const char *reason);
+void _nm_supplicant_interface_set_state_down(NMSupplicantInterface *self,
+                                             gboolean               force_remove_from_supplicant,
+                                             const char *           reason);
 
-typedef void (*NMSupplicantInterfaceAssocCb) (NMSupplicantInterface *iface,
-                                              GError *error,
-                                              gpointer user_data);
+typedef void (*NMSupplicantInterfaceAssocCb)(NMSupplicantInterface *iface,
+                                             GError *               error,
+                                             gpointer               user_data);
 
-void
-nm_supplicant_interface_assoc (NMSupplicantInterface *self,
-                               NMSupplicantConfig *cfg,
-                               NMSupplicantInterfaceAssocCb callback,
-                               gpointer user_data);
+void nm_supplicant_interface_assoc(NMSupplicantInterface *      self,
+                                   NMSupplicantConfig *         cfg,
+                                   NMSupplicantInterfaceAssocCb callback,
+                                   gpointer                     user_data);
 
-void nm_supplicant_interface_disconnect (NMSupplicantInterface * iface);
+void nm_supplicant_interface_disconnect(NMSupplicantInterface *iface);
 
-typedef void (*NMSupplicantInterfaceDisconnectCb) (NMSupplicantInterface *iface,
-                                                   GError *error,
-                                                   gpointer user_data);
+typedef void (*NMSupplicantInterfaceDisconnectCb)(NMSupplicantInterface *iface,
+                                                  GError *               error,
+                                                  gpointer               user_data);
 
-void
-nm_supplicant_interface_disconnect_async (NMSupplicantInterface * self,
-                                          GCancellable * cancellable,
-                                          NMSupplicantInterfaceDisconnectCb callback,
-                                          gpointer user_data);
+void nm_supplicant_interface_disconnect_async(NMSupplicantInterface *           self,
+                                              GCancellable *                    cancellable,
+                                              NMSupplicantInterfaceDisconnectCb callback,
+                                              gpointer                          user_data);
 
-typedef void (*NMSupplicantInterfaceRequestScanCallback) (NMSupplicantInterface *self,
-                                                          GCancellable *cancellable,
-                                                          gpointer user_data);
+typedef void (*NMSupplicantInterfaceRequestScanCallback)(NMSupplicantInterface *self,
+                                                         GCancellable *         cancellable,
+                                                         gpointer               user_data);
 
-void nm_supplicant_interface_request_scan (NMSupplicantInterface *self,
-                                           GBytes *const*ssids,
-                                           guint ssids_len,
-                                           GCancellable *cancellable,
-                                           NMSupplicantInterfaceRequestScanCallback callback,
-                                           gpointer user_data);
+void nm_supplicant_interface_request_scan(NMSupplicantInterface *                  self,
+                                          GBytes *const *                          ssids,
+                                          guint                                    ssids_len,
+                                          GCancellable *                           cancellable,
+                                          NMSupplicantInterfaceRequestScanCallback callback,
+                                          gpointer                                 user_data);
 
-NMSupplicantInterfaceState nm_supplicant_interface_get_state (NMSupplicantInterface * self);
+NMSupplicantInterfaceState nm_supplicant_interface_get_state(NMSupplicantInterface *self);
 
-const char *nm_supplicant_interface_state_to_string (NMSupplicantInterfaceState state);
+const char *nm_supplicant_interface_state_to_string(NMSupplicantInterfaceState state);
 
-gboolean nm_supplicant_interface_get_scanning (NMSupplicantInterface *self);
+gboolean nm_supplicant_interface_get_scanning(NMSupplicantInterface *self);
 
-NMRefString *nm_supplicant_interface_get_current_bss (NMSupplicantInterface *self);
+NMRefString *nm_supplicant_interface_get_current_bss(NMSupplicantInterface *self);
 
-gint64 nm_supplicant_interface_get_last_scan (NMSupplicantInterface *self);
+gint64 nm_supplicant_interface_get_last_scan(NMSupplicantInterface *self);
 
-const char *nm_supplicant_interface_get_ifname (NMSupplicantInterface *self);
+const char *nm_supplicant_interface_get_ifname(NMSupplicantInterface *self);
 
-guint nm_supplicant_interface_get_max_scan_ssids (NMSupplicantInterface *self);
+guint nm_supplicant_interface_get_max_scan_ssids(NMSupplicantInterface *self);
 
-gboolean nm_supplicant_interface_get_p2p_available (NMSupplicantInterface *self);
+gboolean nm_supplicant_interface_get_p2p_available(NMSupplicantInterface *self);
 
-gboolean nm_supplicant_interface_get_p2p_group_joined (NMSupplicantInterface *self);
+gboolean nm_supplicant_interface_get_p2p_group_joined(NMSupplicantInterface *self);
 
-const char* nm_supplicant_interface_get_p2p_group_path (NMSupplicantInterface *self);
+const char *nm_supplicant_interface_get_p2p_group_path(NMSupplicantInterface *self);
 
-gboolean nm_supplicant_interface_get_p2p_group_owner (NMSupplicantInterface *self);
+gboolean nm_supplicant_interface_get_p2p_group_owner(NMSupplicantInterface *self);
 
-void nm_supplicant_interface_p2p_start_find (NMSupplicantInterface *self,
-                                             guint timeout);
-void nm_supplicant_interface_p2p_stop_find (NMSupplicantInterface *self);
+void nm_supplicant_interface_p2p_start_find(NMSupplicantInterface *self, guint timeout);
+void nm_supplicant_interface_p2p_stop_find(NMSupplicantInterface *self);
 
-void nm_supplicant_interface_p2p_connect (NMSupplicantInterface * self,
-                                          const char * peer,
-                                          const char * wps_method,
-                                          const char * wps_pin);
-void nm_supplicant_interface_p2p_cancel_connect (NMSupplicantInterface * self);
-void nm_supplicant_interface_p2p_disconnect (NMSupplicantInterface * self);
+void nm_supplicant_interface_p2p_connect(NMSupplicantInterface *self,
+                                         const char *           peer,
+                                         const char *           wps_method,
+                                         const char *           wps_pin);
+void nm_supplicant_interface_p2p_cancel_connect(NMSupplicantInterface *self);
+void nm_supplicant_interface_p2p_disconnect(NMSupplicantInterface *self);
 
-void nm_supplicant_interface_set_global_capabilities (NMSupplicantInterface *self,
-                                                      NMSupplCapMask value);
+void nm_supplicant_interface_set_global_capabilities(NMSupplicantInterface *self,
+                                                     NMSupplCapMask         value);
 
-NMTernary nm_supplicant_interface_get_capability (NMSupplicantInterface *self,
-                                                  NMSupplCapType type);
+NMTernary nm_supplicant_interface_get_capability(NMSupplicantInterface *self, NMSupplCapType type);
 
-NMSupplCapMask nm_supplicant_interface_get_capabilities (NMSupplicantInterface *self);
+NMSupplCapMask nm_supplicant_interface_get_capabilities(NMSupplicantInterface *self);
 
-void nm_supplicant_interface_enroll_wps (NMSupplicantInterface *self,
-                                         const char *const type,
-                                         const char *bssid,
-                                         const char *pin);
+void nm_supplicant_interface_enroll_wps(NMSupplicantInterface *self,
+                                        const char *const      type,
+                                        const char *           bssid,
+                                        const char *           pin);
 
-void nm_supplicant_interface_cancel_wps (NMSupplicantInterface *self);
+void nm_supplicant_interface_cancel_wps(NMSupplicantInterface *self);
 
-NMSupplicantAuthState nm_supplicant_interface_get_auth_state (NMSupplicantInterface *self);
+NMSupplicantAuthState nm_supplicant_interface_get_auth_state(NMSupplicantInterface *self);
 
 #endif /* __NM_SUPPLICANT_INTERFACE_H__ */
diff --git a/src/supplicant/nm-supplicant-manager.c b/src/supplicant/nm-supplicant-manager.c
index b1a2dea8..a166f619 100644
--- a/src/supplicant/nm-supplicant-manager.c
+++ b/src/supplicant/nm-supplicant-manager.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2006 - 2010 Red Hat, Inc.
  * Copyright (C) 2007 - 2008 Novell, Inc.
@@ -21,213 +21,212 @@
 #define CREATE_IFACE_TRY_COUNT_MAX 7u
 
 struct _NMSupplMgrCreateIfaceHandle {
-	NMSupplicantManager *self;
-	CList create_iface_lst;
-	GCancellable *cancellable;
-	NMSupplicantManagerCreateInterfaceCb callback;
-	gpointer callback_user_data;
-	NMShutdownWaitObjHandle *shutdown_handle;
-	NMRefString *name_owner;
-	GError *fail_on_idle_error;
-	NMSupplicantDriver driver;
-	int ifindex;
-	guint fail_on_idle_id;
-	guint create_iface_try_count:5;
+    NMSupplicantManager *                self;
+    CList                                create_iface_lst;
+    GCancellable *                       cancellable;
+    NMSupplicantManagerCreateInterfaceCb callback;
+    gpointer                             callback_user_data;
+    NMShutdownWaitObjHandle *            shutdown_handle;
+    NMRefString *                        name_owner;
+    GError *                             fail_on_idle_error;
+    NMSupplicantDriver                   driver;
+    int                                  ifindex;
+    guint                                fail_on_idle_id;
+    guint                                create_iface_try_count : 5;
 };
 
 enum {
-	AVAILABLE_CHANGED,
-	LAST_SIGNAL,
+    AVAILABLE_CHANGED,
+    LAST_SIGNAL,
 };
 
-static guint signals[LAST_SIGNAL] = { 0 };
+static guint signals[LAST_SIGNAL] = {0};
 
 typedef struct {
-	GDBusConnection *dbus_connection;
+    GDBusConnection *dbus_connection;
 
-	NMRefString *name_owner;
+    NMRefString *name_owner;
 
-	GCancellable *get_name_owner_cancellable;
-	GCancellable *get_capabilities_cancellable;
-	GCancellable *poke_name_owner_cancellable;
+    GCancellable *get_name_owner_cancellable;
+    GCancellable *get_capabilities_cancellable;
+    GCancellable *poke_name_owner_cancellable;
 
-	GHashTable *supp_ifaces;
-	CList supp_lst_head;
+    GHashTable *supp_ifaces;
+    CList       supp_lst_head;
 
-	CList create_iface_lst_head;
+    CList create_iface_lst_head;
 
-	NMSupplCapMask capabilities;
+    NMSupplCapMask capabilities;
 
-	guint name_owner_changed_id;
-	guint interface_removed_id;
-	guint poke_name_owner_timeout_id;
-	guint available_reset_id;
+    guint name_owner_changed_id;
+    guint interface_removed_id;
+    guint poke_name_owner_timeout_id;
+    guint available_reset_id;
 
-	/* see nm_supplicant_manager_get_available(). */
-	NMTernary available:2;
+    /* see nm_supplicant_manager_get_available(). */
+    NMTernary available : 2;
 
 } NMSupplicantManagerPrivate;
 
 struct _NMSupplicantManager {
-	GObject parent;
-	NMSupplicantManagerPrivate _priv;
+    GObject                    parent;
+    NMSupplicantManagerPrivate _priv;
 };
 
 struct _NMSupplicantManagerClass {
-	GObjectClass parent;
+    GObjectClass parent;
 };
 
-G_DEFINE_TYPE (NMSupplicantManager, nm_supplicant_manager, G_TYPE_OBJECT)
+G_DEFINE_TYPE(NMSupplicantManager, nm_supplicant_manager, G_TYPE_OBJECT)
 
-#define NM_SUPPLICANT_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMSupplicantManager, NM_IS_SUPPLICANT_MANAGER)
+#define NM_SUPPLICANT_MANAGER_GET_PRIVATE(self) \
+    _NM_GET_PRIVATE(self, NMSupplicantManager, NM_IS_SUPPLICANT_MANAGER)
 
-NM_DEFINE_SINGLETON_GETTER (NMSupplicantManager, nm_supplicant_manager_get, NM_TYPE_SUPPLICANT_MANAGER);
+NM_DEFINE_SINGLETON_GETTER(NMSupplicantManager,
+                           nm_supplicant_manager_get,
+                           NM_TYPE_SUPPLICANT_MANAGER);
 
 /*****************************************************************************/
 
 #define _NMLOG_DOMAIN      LOGD_SUPPLICANT
-#define _NMLOG(level, ...) __NMLOG_DEFAULT (level, _NMLOG_DOMAIN, "supplicant", __VA_ARGS__)
+#define _NMLOG(level, ...) __NMLOG_DEFAULT(level, _NMLOG_DOMAIN, "supplicant", __VA_ARGS__)
 
 /*****************************************************************************/
 
-NM_CACHED_QUARK_FCN ("nm-supplicant-error-quark", nm_supplicant_error_quark)
+NM_CACHED_QUARK_FCN("nm-supplicant-error-quark", nm_supplicant_error_quark);
 
 /*****************************************************************************/
 
-static void _create_iface_proceed_all (NMSupplicantManager *self,
-                                       GError *error);
-static void _supp_iface_add (NMSupplicantManager *self,
-                             NMRefString *iface_path,
-                             NMSupplicantInterface *supp_iface);
-static void _supp_iface_remove_one (NMSupplicantManager *self,
-                                    NMSupplicantInterface *supp_iface,
-                                    gboolean force_remove_from_supplicant,
-                                    const char *reason);
-static void _create_iface_dbus_call_get_interface (NMSupplicantManager *self,
-                                                   NMSupplMgrCreateIfaceHandle *handle,
-                                                   const char *ifname);
-static void _create_iface_dbus_call_create_interface (NMSupplicantManager *self,
+static void     _create_iface_proceed_all(NMSupplicantManager *self, GError *error);
+static void     _supp_iface_add(NMSupplicantManager *  self,
+                                NMRefString *          iface_path,
+                                NMSupplicantInterface *supp_iface);
+static void     _supp_iface_remove_one(NMSupplicantManager *  self,
+                                       NMSupplicantInterface *supp_iface,
+                                       gboolean               force_remove_from_supplicant,
+                                       const char *           reason);
+static void     _create_iface_dbus_call_get_interface(NMSupplicantManager *        self,
                                                       NMSupplMgrCreateIfaceHandle *handle,
-                                                      const char *ifname);
-static gboolean _create_iface_fail_on_idle_cb (gpointer user_data);
+                                                      const char *                 ifname);
+static void     _create_iface_dbus_call_create_interface(NMSupplicantManager *        self,
+                                                         NMSupplMgrCreateIfaceHandle *handle,
+                                                         const char *                 ifname);
+static gboolean _create_iface_fail_on_idle_cb(gpointer user_data);
 
-static gboolean _available_reset_cb (gpointer user_data);
+static gboolean _available_reset_cb(gpointer user_data);
 
 /*****************************************************************************/
 
-NM_UTILS_LOOKUP_STR_DEFINE (nm_supplicant_driver_to_string, NMSupplicantDriver,
-	NM_UTILS_LOOKUP_DEFAULT_WARN (NULL),
-	NM_UTILS_LOOKUP_ITEM    (NM_SUPPLICANT_DRIVER_UNKNOWN,  "???"),
-	NM_UTILS_LOOKUP_ITEM    (NM_SUPPLICANT_DRIVER_WIRELESS, NM_WPAS_DEFAULT_WIFI_DRIVER),
-	NM_UTILS_LOOKUP_ITEM    (NM_SUPPLICANT_DRIVER_WIRED,    "wired"),
-	NM_UTILS_LOOKUP_ITEM    (NM_SUPPLICANT_DRIVER_MACSEC,   "macsec_linux"),
-);
+NM_UTILS_LOOKUP_STR_DEFINE(nm_supplicant_driver_to_string,
+                           NMSupplicantDriver,
+                           NM_UTILS_LOOKUP_DEFAULT_WARN(NULL),
+                           NM_UTILS_LOOKUP_ITEM(NM_SUPPLICANT_DRIVER_UNKNOWN, "???"),
+                           NM_UTILS_LOOKUP_ITEM(NM_SUPPLICANT_DRIVER_WIRELESS,
+                                                NM_WPAS_DEFAULT_WIFI_DRIVER),
+                           NM_UTILS_LOOKUP_ITEM(NM_SUPPLICANT_DRIVER_WIRED, "wired"),
+                           NM_UTILS_LOOKUP_ITEM(NM_SUPPLICANT_DRIVER_MACSEC, "macsec_linux"), );
 
 /*****************************************************************************/
 
 NMTernary
-nm_supplicant_manager_is_available (NMSupplicantManager *self)
+nm_supplicant_manager_is_available(NMSupplicantManager *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_MANAGER (self), NM_TERNARY_FALSE);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_MANAGER(self), NM_TERNARY_FALSE);
 
-	return NM_SUPPLICANT_MANAGER_GET_PRIVATE (self)->available;
+    return NM_SUPPLICANT_MANAGER_GET_PRIVATE(self)->available;
 }
 
 NMRefString *
-nm_supplicant_manager_get_dbus_name_owner (NMSupplicantManager *self)
+nm_supplicant_manager_get_dbus_name_owner(NMSupplicantManager *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_MANAGER (self), NULL);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_MANAGER(self), NULL);
 
-	return NM_SUPPLICANT_MANAGER_GET_PRIVATE (self)->name_owner;
+    return NM_SUPPLICANT_MANAGER_GET_PRIVATE(self)->name_owner;
 }
 
-GDBusConnection *nm_supplicant_manager_get_dbus_connection (NMSupplicantManager *self)
+GDBusConnection *
+nm_supplicant_manager_get_dbus_connection(NMSupplicantManager *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_MANAGER (self), NULL);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_MANAGER(self), NULL);
 
-	return NM_SUPPLICANT_MANAGER_GET_PRIVATE (self)->dbus_connection;
+    return NM_SUPPLICANT_MANAGER_GET_PRIVATE(self)->dbus_connection;
 }
 
 NMSupplCapMask
-nm_supplicant_manager_get_global_capabilities (NMSupplicantManager *self)
+nm_supplicant_manager_get_global_capabilities(NMSupplicantManager *self)
 {
-	g_return_val_if_fail (NM_IS_SUPPLICANT_MANAGER (self), NM_SUPPL_CAP_MASK_NONE);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_MANAGER(self), NM_SUPPL_CAP_MASK_NONE);
 
-	return NM_SUPPLICANT_MANAGER_GET_PRIVATE (self)->capabilities;
+    return NM_SUPPLICANT_MANAGER_GET_PRIVATE(self)->capabilities;
 }
 
 /*****************************************************************************/
 
 static void
-_caps_set (NMSupplicantManagerPrivate *priv,
-           NMSupplCapType type,
-           NMTernary value)
+_caps_set(NMSupplicantManagerPrivate *priv, NMSupplCapType type, NMTernary value)
 {
-	priv->capabilities = NM_SUPPL_CAP_MASK_SET (priv->capabilities, type, value);
+    priv->capabilities = NM_SUPPL_CAP_MASK_SET(priv->capabilities, type, value);
 }
 
 static char
-_caps_to_char (NMSupplicantManagerPrivate *priv,
-               NMSupplCapType type)
+_caps_to_char(NMSupplicantManagerPrivate *priv, NMSupplCapType type)
 {
-	NMTernary val;
-
-	val = NM_SUPPL_CAP_MASK_GET (priv->capabilities, type);
-	if (val == NM_TERNARY_TRUE)
-		return '+';
-	if (val == NM_TERNARY_FALSE)
-		return '-';
-	return '?';
+    NMTernary val;
+
+    val = NM_SUPPL_CAP_MASK_GET(priv->capabilities, type);
+    if (val == NM_TERNARY_TRUE)
+        return '+';
+    if (val == NM_TERNARY_FALSE)
+        return '-';
+    return '?';
 }
 
 /*****************************************************************************/
 
 static void
-_dbus_call_remove_interface (GDBusConnection *dbus_connection,
-                             const char *name_owner,
-                             const char *iface_path)
+_dbus_call_remove_interface(GDBusConnection *dbus_connection,
+                            const char *     name_owner,
+                            const char *     iface_path)
 {
-	nm_assert (G_IS_DBUS_CONNECTION (dbus_connection));
-	nm_assert (name_owner);
-	nm_assert (iface_path);
-
-	g_dbus_connection_call (dbus_connection,
-	                        name_owner,
-	                        NM_WPAS_DBUS_PATH,
-	                        NM_WPAS_DBUS_INTERFACE,
-	                        "RemoveInterface",
-	                        g_variant_new ("(o)", iface_path),
-	                        G_VARIANT_TYPE ("()"),
-	                        G_DBUS_CALL_FLAGS_NO_AUTO_START,
-	                        10000,
-	                        NULL,
-	                        NULL,
-	                        NULL);
+    nm_assert(G_IS_DBUS_CONNECTION(dbus_connection));
+    nm_assert(name_owner);
+    nm_assert(iface_path);
+
+    g_dbus_connection_call(dbus_connection,
+                           name_owner,
+                           NM_WPAS_DBUS_PATH,
+                           NM_WPAS_DBUS_INTERFACE,
+                           "RemoveInterface",
+                           g_variant_new("(o)", iface_path),
+                           G_VARIANT_TYPE("()"),
+                           G_DBUS_CALL_FLAGS_NO_AUTO_START,
+                           10000,
+                           NULL,
+                           NULL,
+                           NULL);
 }
 
 void
-_nm_supplicant_manager_dbus_call_remove_interface (NMSupplicantManager *self,
-                                                   const char *name_owner,
-                                                   const char *iface_path)
+_nm_supplicant_manager_dbus_call_remove_interface(NMSupplicantManager *self,
+                                                  const char *         name_owner,
+                                                  const char *         iface_path)
 {
-	_dbus_call_remove_interface (NM_SUPPLICANT_MANAGER_GET_PRIVATE (self)->dbus_connection,
-	                             name_owner,
-	                             iface_path);
+    _dbus_call_remove_interface(NM_SUPPLICANT_MANAGER_GET_PRIVATE(self)->dbus_connection,
+                                name_owner,
+                                iface_path);
 }
 
 /*****************************************************************************/
 
 static void
-on_supplicant_wfd_ies_set (GObject *source_object,
-                           GAsyncResult *result,
-                           gpointer user_data)
+on_supplicant_wfd_ies_set(GObject *source_object, GAsyncResult *result, gpointer user_data)
 {
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
 
-	res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source_object), result, &error);
-	if (!res)
-		_LOGD ("failed to set WFD IEs on wpa_supplicant: %s", error->message);
+    res = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source_object), result, &error);
+    if (!res)
+        _LOGD("failed to set WFD IEs on wpa_supplicant: %s", error->message);
 }
 
 /**
@@ -240,1133 +239,1115 @@ on_supplicant_wfd_ies_set (GObject *source_object,
  * simply does not work that way.
  * */
 void
-nm_supplicant_manager_set_wfd_ies (NMSupplicantManager *self,
-                                   GBytes *wfd_ies)
+nm_supplicant_manager_set_wfd_ies(NMSupplicantManager *self, GBytes *wfd_ies)
 {
-	NMSupplicantManagerPrivate *priv;
-	GVariantBuilder params;
+    NMSupplicantManagerPrivate *priv;
+    GVariantBuilder             params;
 
-	g_return_if_fail (NM_IS_SUPPLICANT_MANAGER (self));
+    g_return_if_fail(NM_IS_SUPPLICANT_MANAGER(self));
 
-	priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
+    priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
 
-	if (!priv->name_owner)
-		return;
+    if (!priv->name_owner)
+        return;
 
-	_LOGD ("setting WFD IEs for P2P operation on %s", priv->name_owner->str);
+    _LOGD("setting WFD IEs for P2P operation on %s", priv->name_owner->str);
 
-	g_variant_builder_init (&params, G_VARIANT_TYPE ("(ssv)"));
+    g_variant_builder_init(&params, G_VARIANT_TYPE("(ssv)"));
 
-	g_variant_builder_add (&params, "s", NM_WPAS_DBUS_INTERFACE);
-	g_variant_builder_add (&params, "s", "WFDIEs");
-	g_variant_builder_add_value (&params,
-	                             g_variant_new_variant (nm_utils_gbytes_to_variant_ay (wfd_ies)));
+    g_variant_builder_add(&params, "s", NM_WPAS_DBUS_INTERFACE);
+    g_variant_builder_add(&params, "s", "WFDIEs");
+    g_variant_builder_add_value(&params,
+                                g_variant_new_variant(nm_utils_gbytes_to_variant_ay(wfd_ies)));
 
-	g_dbus_connection_call (priv->dbus_connection,
-	                        priv->name_owner->str,
-	                        NM_WPAS_DBUS_PATH,
-	                        DBUS_INTERFACE_PROPERTIES,
-	                        "Set",
-	                        g_variant_builder_end (&params),
-	                        G_VARIANT_TYPE ("()"),
-	                        G_DBUS_CALL_FLAGS_NO_AUTO_START,
-	                        3000,
-	                        NULL,
-	                        on_supplicant_wfd_ies_set,
-	                        NULL);
+    g_dbus_connection_call(priv->dbus_connection,
+                           priv->name_owner->str,
+                           NM_WPAS_DBUS_PATH,
+                           DBUS_INTERFACE_PROPERTIES,
+                           "Set",
+                           g_variant_builder_end(&params),
+                           G_VARIANT_TYPE("()"),
+                           G_DBUS_CALL_FLAGS_NO_AUTO_START,
+                           3000,
+                           NULL,
+                           on_supplicant_wfd_ies_set,
+                           NULL);
 }
 
 /*****************************************************************************/
 
 static gboolean
-_poke_name_owner_timeout_cb (gpointer user_data)
+_poke_name_owner_timeout_cb(gpointer user_data)
 {
-	NMSupplicantManager *self = user_data;
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-	gs_free_error GError *error = NULL;
-	gboolean available_changed = FALSE;
-
-	nm_assert (!priv->name_owner);
-
-	priv->poke_name_owner_timeout_id = 0;
-	nm_clear_g_cancellable (&priv->poke_name_owner_cancellable);
-
-	_LOGT ("poke service \"%s\" failed for good with timeout%s",
-	       NM_WPAS_DBUS_SERVICE,
-	         (priv->available == NM_TERNARY_DEFAULT)
-	       ? " (set as not available)"
-	       : "");
-
-	if (priv->available == NM_TERNARY_DEFAULT) {
-		/* the available flag usually only changes together with the name-owner.
-		 * However, if we tries to poke the service but failed to start it (with
-		 * timeout), was also set it as (hard) not available. */
-		priv->available = NM_TERNARY_FALSE;
-		nm_clear_g_source (&priv->available_reset_id);
-		priv->available_reset_id = g_timeout_add_seconds (60,
-		                                                  _available_reset_cb,
-		                                                  self);
-		available_changed = TRUE;
-	}
-
-	nm_utils_error_set (&error,
-	                    NM_UTILS_ERROR_UNKNOWN,
-	                    "Failed to D-Bus activate wpa_supplicant service");
-
-	_create_iface_proceed_all (self, error);
-
-	if (available_changed) {
-		/* We delay the emitting of the notification after aborting all
-		 * create-iface handles. */
-		g_signal_emit (self, signals[AVAILABLE_CHANGED], 0);
-	}
-
-	return G_SOURCE_REMOVE;
+    NMSupplicantManager *       self        = user_data;
+    NMSupplicantManagerPrivate *priv        = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+    gs_free_error GError *error             = NULL;
+    gboolean              available_changed = FALSE;
+
+    nm_assert(!priv->name_owner);
+
+    priv->poke_name_owner_timeout_id = 0;
+    nm_clear_g_cancellable(&priv->poke_name_owner_cancellable);
+
+    _LOGT("poke service \"%s\" failed for good with timeout%s",
+          NM_WPAS_DBUS_SERVICE,
+          (priv->available == NM_TERNARY_DEFAULT) ? " (set as not available)" : "");
+
+    if (priv->available == NM_TERNARY_DEFAULT) {
+        /* the available flag usually only changes together with the name-owner.
+         * However, if we tries to poke the service but failed to start it (with
+         * timeout), was also set it as (hard) not available. */
+        priv->available = NM_TERNARY_FALSE;
+        nm_clear_g_source(&priv->available_reset_id);
+        priv->available_reset_id = g_timeout_add_seconds(60, _available_reset_cb, self);
+        available_changed        = TRUE;
+    }
+
+    nm_utils_error_set(&error,
+                       NM_UTILS_ERROR_UNKNOWN,
+                       "Failed to D-Bus activate wpa_supplicant service");
+
+    _create_iface_proceed_all(self, error);
+
+    if (available_changed) {
+        /* We delay the emitting of the notification after aborting all
+         * create-iface handles. */
+        g_signal_emit(self, signals[AVAILABLE_CHANGED], 0);
+    }
+
+    return G_SOURCE_REMOVE;
 }
 
 static void
-_poke_name_owner_cb (GObject *source,
-                     GAsyncResult *result,
-                     gpointer user_data)
+_poke_name_owner_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
 
-	res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-	if (nm_utils_error_is_cancelled (error))
-		return;
+    res = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+    if (nm_utils_error_is_cancelled(error))
+        return;
 
-	if (!res)
-		_LOGT ("poke service \"%s\" failed: %s", NM_WPAS_DBUS_SERVICE, error->message);
-	else
-		_LOGT ("poke service \"%s\" succeeded", NM_WPAS_DBUS_SERVICE);
+    if (!res)
+        _LOGT("poke service \"%s\" failed: %s", NM_WPAS_DBUS_SERVICE, error->message);
+    else
+        _LOGT("poke service \"%s\" succeeded", NM_WPAS_DBUS_SERVICE);
 
-	/* in both cases, we react the same: we wait for the name owner to appear
-	 * or hit the timeout. */
+    /* in both cases, we react the same: we wait for the name owner to appear
+     * or hit the timeout. */
 }
 
 static void
-_poke_name_owner (NMSupplicantManager *self)
+_poke_name_owner(NMSupplicantManager *self)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-
-	if (priv->poke_name_owner_cancellable)
-		return;
-
-	_LOGT ("poke service \"%s\"...", NM_WPAS_DBUS_SERVICE);
-
-	priv->poke_name_owner_cancellable = g_cancellable_new ();
-	priv->poke_name_owner_timeout_id = g_timeout_add (3000,
-	                                                  _poke_name_owner_timeout_cb,
-	                                                  self);
-	nm_dbus_connection_call_start_service_by_name (priv->dbus_connection,
-	                                               NM_WPAS_DBUS_SERVICE,
-	                                               5000,
-	                                               priv->poke_name_owner_cancellable,
-	                                               _poke_name_owner_cb,
-	                                               self);
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+
+    if (priv->poke_name_owner_cancellable)
+        return;
+
+    _LOGT("poke service \"%s\"...", NM_WPAS_DBUS_SERVICE);
+
+    priv->poke_name_owner_cancellable = g_cancellable_new();
+    priv->poke_name_owner_timeout_id  = g_timeout_add(3000, _poke_name_owner_timeout_cb, self);
+    nm_dbus_connection_call_start_service_by_name(priv->dbus_connection,
+                                                  NM_WPAS_DBUS_SERVICE,
+                                                  5000,
+                                                  priv->poke_name_owner_cancellable,
+                                                  _poke_name_owner_cb,
+                                                  self);
 }
 
 /*****************************************************************************/
 
 static void
-_create_iface_complete (NMSupplMgrCreateIfaceHandle *handle,
-                        NMSupplicantInterface *supp_iface,
-                        GError *error)
+_create_iface_complete(NMSupplMgrCreateIfaceHandle *handle,
+                       NMSupplicantInterface *      supp_iface,
+                       GError *                     error)
 {
-	nm_assert (!supp_iface || NM_IS_SUPPLICANT_INTERFACE (supp_iface));
-	nm_assert ((!!supp_iface) != (!!error));
+    nm_assert(!supp_iface || NM_IS_SUPPLICANT_INTERFACE(supp_iface));
+    nm_assert((!!supp_iface) != (!!error));
 
-	c_list_unlink (&handle->create_iface_lst);
+    c_list_unlink(&handle->create_iface_lst);
 
-	nm_clear_g_source (&handle->fail_on_idle_id);
+    nm_clear_g_source(&handle->fail_on_idle_id);
 
-	if (handle->callback) {
-		NMSupplicantManagerCreateInterfaceCb callback;
+    if (handle->callback) {
+        NMSupplicantManagerCreateInterfaceCb callback;
 
-		nm_assert (NM_IS_SUPPLICANT_MANAGER (handle->self));
+        nm_assert(NM_IS_SUPPLICANT_MANAGER(handle->self));
 
-		callback = handle->callback;
-		handle->callback = NULL;
-		callback (handle->self,
-		          handle,
-		          supp_iface,
-		          error,
-		          handle->callback_user_data);
-	}
+        callback         = handle->callback;
+        handle->callback = NULL;
+        callback(handle->self, handle, supp_iface, error, handle->callback_user_data);
+    }
 
-	g_clear_error (&handle->fail_on_idle_error);
+    g_clear_error(&handle->fail_on_idle_error);
 
-	g_clear_object (&handle->self);
+    g_clear_object(&handle->self);
 
-	if (handle->shutdown_handle) {
-		/* we have a pending CreateInterface request. We keep the handle
-		 * instance alive. This is to remove the device again, once the
-		 * request completes. */
-		return;
-	}
+    if (handle->shutdown_handle) {
+        /* we have a pending CreateInterface request. We keep the handle
+         * instance alive. This is to remove the device again, once the
+         * request completes. */
+        return;
+    }
 
-	nm_clear_g_cancellable (&handle->cancellable);
-	nm_ref_string_unref (handle->name_owner);
+    nm_clear_g_cancellable(&handle->cancellable);
+    nm_ref_string_unref(handle->name_owner);
 
-	nm_g_slice_free_fcn (handle);
+    nm_g_slice_free_fcn(handle);
 }
 
 static void
-_create_iface_add (NMSupplicantManager *self,
-                   NMSupplMgrCreateIfaceHandle *handle,
-                   const char *iface_path_str,
-                   gboolean created_by_us)
+_create_iface_add(NMSupplicantManager *        self,
+                  NMSupplMgrCreateIfaceHandle *handle,
+                  const char *                 iface_path_str,
+                  gboolean                     created_by_us)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-	nm_auto_ref_string NMRefString *iface_path = NULL;
-	gs_unref_object NMSupplicantInterface *supp_iface = NULL;
-
-	iface_path = nm_ref_string_new (iface_path_str);
-
-	supp_iface = g_hash_table_lookup (priv->supp_ifaces, iface_path);
-	if (supp_iface) {
-		/* Now this is odd... Reuse the same interface. */
-		g_object_ref (supp_iface);
-		_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: interface %s on %s created (already existing)",
-		       NM_HASH_OBFUSCATE_PTR (handle),
-		       iface_path_str,
-		       priv->name_owner->str);
-		_create_iface_complete (handle, supp_iface, NULL);
-		return;
-	}
-
-	_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: interface %s on %s created%s",
-	       NM_HASH_OBFUSCATE_PTR (handle),
-	       iface_path_str,
-	       priv->name_owner->str,
-	       created_by_us ? " (created by us)" : "");
-
-	supp_iface = nm_supplicant_interface_new (self,
-	                                          iface_path,
-	                                          handle->ifindex,
-	                                          handle->driver);
-
-	_supp_iface_add (self, iface_path, supp_iface);
-
-	_create_iface_complete (handle, supp_iface, NULL);
+    NMSupplicantManagerPrivate *priv                  = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+    nm_auto_ref_string NMRefString *iface_path        = NULL;
+    gs_unref_object NMSupplicantInterface *supp_iface = NULL;
+
+    iface_path = nm_ref_string_new(iface_path_str);
+
+    supp_iface = g_hash_table_lookup(priv->supp_ifaces, iface_path);
+    if (supp_iface) {
+        /* Now this is odd... Reuse the same interface. */
+        g_object_ref(supp_iface);
+        _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT
+              "]: interface %s on %s created (already existing)",
+              NM_HASH_OBFUSCATE_PTR(handle),
+              iface_path_str,
+              priv->name_owner->str);
+        _create_iface_complete(handle, supp_iface, NULL);
+        return;
+    }
+
+    _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT "]: interface %s on %s created%s",
+          NM_HASH_OBFUSCATE_PTR(handle),
+          iface_path_str,
+          priv->name_owner->str,
+          created_by_us ? " (created by us)" : "");
+
+    supp_iface = nm_supplicant_interface_new(self, iface_path, handle->ifindex, handle->driver);
+
+    _supp_iface_add(self, iface_path, supp_iface);
+
+    _create_iface_complete(handle, supp_iface, NULL);
 }
 
 static void
-_create_iface_dbus_call_get_interface_cb (GObject *source,
-                                          GAsyncResult *result,
-                                          gpointer user_data)
+_create_iface_dbus_call_get_interface_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	GDBusConnection *dbus_connection = G_DBUS_CONNECTION (source);
-	NMSupplMgrCreateIfaceHandle *handle;
-	NMSupplicantManager *self;
-	NMSupplicantManagerPrivate *priv;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
-	const char *iface_path_str;
-
-	res = g_dbus_connection_call_finish (dbus_connection, result, &error);
-
-	if (nm_utils_error_is_cancelled (error))
-		return;
-
-	handle = user_data;
-	nm_assert (handle->callback);
-
-	self = handle->self;
-	priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-
-	nm_assert (handle->name_owner == priv->name_owner);
-
-	if (!res) {
-		char ifname[NMP_IFNAMSIZ];
-
-		if (   handle->create_iface_try_count < CREATE_IFACE_TRY_COUNT_MAX
-		    && _nm_dbus_error_has_name (error, NM_WPAS_ERROR_UNKNOWN_IFACE)
-		    && nm_platform_if_indextoname (NM_PLATFORM_GET, handle->ifindex, ifname)) {
-			/* Before, supplicant told us the interface existed. Was there a race?
-			 * Try again. */
-			_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: D-Bus call failed to get interface. Try to create it again (ifname \"%s\")",
-			       NM_HASH_OBFUSCATE_PTR (handle),
-			       ifname);
-			_create_iface_dbus_call_create_interface (self, handle, ifname);
-			return;
-		}
-
-		g_clear_object (&handle->cancellable);
-		_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: D-Bus call to get interface failed: %s",
-		       NM_HASH_OBFUSCATE_PTR (handle),
-		       error->message);
-		_create_iface_complete (handle, NULL, error);
-		return;
-	}
-
-	g_clear_object (&handle->cancellable);
-
-	g_variant_get (res, "(&o)", &iface_path_str);
-
-	_create_iface_add (self, handle, iface_path_str, FALSE);
+    GDBusConnection *            dbus_connection = G_DBUS_CONNECTION(source);
+    NMSupplMgrCreateIfaceHandle *handle;
+    NMSupplicantManager *        self;
+    NMSupplicantManagerPrivate * priv;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
+    const char *          iface_path_str;
+
+    res = g_dbus_connection_call_finish(dbus_connection, result, &error);
+
+    if (nm_utils_error_is_cancelled(error))
+        return;
+
+    handle = user_data;
+    nm_assert(handle->callback);
+
+    self = handle->self;
+    priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+
+    nm_assert(handle->name_owner == priv->name_owner);
+
+    if (!res) {
+        char ifname[NMP_IFNAMSIZ];
+
+        if (handle->create_iface_try_count < CREATE_IFACE_TRY_COUNT_MAX
+            && _nm_dbus_error_has_name(error, NM_WPAS_ERROR_UNKNOWN_IFACE)
+            && nm_platform_if_indextoname(NM_PLATFORM_GET, handle->ifindex, ifname)) {
+            /* Before, supplicant told us the interface existed. Was there a race?
+             * Try again. */
+            _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT
+                  "]: D-Bus call failed to get interface. Try to create it again (ifname \"%s\")",
+                  NM_HASH_OBFUSCATE_PTR(handle),
+                  ifname);
+            _create_iface_dbus_call_create_interface(self, handle, ifname);
+            return;
+        }
+
+        g_clear_object(&handle->cancellable);
+        _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT "]: D-Bus call to get interface failed: %s",
+              NM_HASH_OBFUSCATE_PTR(handle),
+              error->message);
+        _create_iface_complete(handle, NULL, error);
+        return;
+    }
+
+    g_clear_object(&handle->cancellable);
+
+    g_variant_get(res, "(&o)", &iface_path_str);
+
+    _create_iface_add(self, handle, iface_path_str, FALSE);
 }
 
 static void
-_create_iface_dbus_call_create_interface_cb (GObject *source,
-                                             GAsyncResult *result,
-                                             gpointer user_data)
+_create_iface_dbus_call_create_interface_cb(GObject *     source,
+                                            GAsyncResult *result,
+                                            gpointer      user_data)
 {
-	GDBusConnection *dbus_connection = G_DBUS_CONNECTION (source);
-	NMSupplMgrCreateIfaceHandle *handle = user_data;
-	NMSupplicantManager *self;
-	NMSupplicantManagerPrivate *priv;
-	gs_unref_variant GVariant *res = NULL;
-	gs_free_error GError *error = NULL;
-	const char *iface_path_str;
-	char ifname[NMP_IFNAMSIZ];
-
-	res = g_dbus_connection_call_finish (dbus_connection, result, &error);
-
-	nm_shutdown_wait_obj_unregister (g_steal_pointer (&handle->shutdown_handle));
-
-	if (!res) {
-		if (   handle->callback
-		    && ({ nm_assert (handle->self); TRUE; })
-		    && _nm_dbus_error_has_name (error, NM_WPAS_ERROR_EXISTS_ERROR)
-		    && nm_platform_if_indextoname (NM_PLATFORM_GET, handle->ifindex, ifname)) {
-			self = handle->self;
-			_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: D-Bus call failed to create interface. Try to get existing interface (ifname \"%s\")",
-			       NM_HASH_OBFUSCATE_PTR (handle),
-			       ifname);
-			_create_iface_dbus_call_get_interface (self, handle, ifname);
-			return;
-		}
-		g_clear_object (&handle->cancellable);
-		_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: D-Bus call failed: %s",
-		       NM_HASH_OBFUSCATE_PTR (handle),
-		       error->message);
-		_create_iface_complete (handle, NULL, error);
-		return;
-	}
-
-	g_clear_object (&handle->cancellable);
-
-	self = handle->self;
-	priv =   self
-	       ? NM_SUPPLICANT_MANAGER_GET_PRIVATE (self)
-	       : NULL;
-
-	g_variant_get (res, "(&o)", &iface_path_str);
-
-	if (   !handle->callback
-	    || priv->name_owner != handle->name_owner) {
-		if (!handle->callback) {
-			_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: request already cancelled but still remove interface %s in %s",
-			       NM_HASH_OBFUSCATE_PTR (handle),
-			       iface_path_str,
-			       handle->name_owner->str);
-			nm_utils_error_set (&error,
-			                    NM_UTILS_ERROR_UNKNOWN,
-			                    "Request already cancelled");
-		} else {
-			_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: name owner changed, still remove interface %s in %s",
-			       NM_HASH_OBFUSCATE_PTR (handle),
-			       iface_path_str,
-			       handle->name_owner->str);
-			nm_utils_error_set (&error,
-			                    NM_UTILS_ERROR_UNKNOWN,
-			                    "The name owner changed since creating the interface");
-		}
-		_dbus_call_remove_interface (dbus_connection,
-		                             handle->name_owner->str,
-		                             iface_path_str);
-		_create_iface_complete (handle, NULL, error);
-		return;
-	}
-
-	_create_iface_add (self, handle, iface_path_str, TRUE);
+    GDBusConnection *            dbus_connection = G_DBUS_CONNECTION(source);
+    NMSupplMgrCreateIfaceHandle *handle          = user_data;
+    NMSupplicantManager *        self;
+    NMSupplicantManagerPrivate * priv;
+    gs_unref_variant GVariant *res = NULL;
+    gs_free_error GError *error    = NULL;
+    const char *          iface_path_str;
+    char                  ifname[NMP_IFNAMSIZ];
+
+    res = g_dbus_connection_call_finish(dbus_connection, result, &error);
+
+    nm_shutdown_wait_obj_unregister(g_steal_pointer(&handle->shutdown_handle));
+
+    if (!res) {
+        if (handle->callback && ({
+                nm_assert(handle->self);
+                TRUE;
+            })
+            && _nm_dbus_error_has_name(error, NM_WPAS_ERROR_EXISTS_ERROR)
+            && nm_platform_if_indextoname(NM_PLATFORM_GET, handle->ifindex, ifname)) {
+            self = handle->self;
+            _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT
+                  "]: D-Bus call failed to create interface. Try to get existing interface (ifname "
+                  "\"%s\")",
+                  NM_HASH_OBFUSCATE_PTR(handle),
+                  ifname);
+            _create_iface_dbus_call_get_interface(self, handle, ifname);
+            return;
+        }
+        g_clear_object(&handle->cancellable);
+        _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT "]: D-Bus call failed: %s",
+              NM_HASH_OBFUSCATE_PTR(handle),
+              error->message);
+        _create_iface_complete(handle, NULL, error);
+        return;
+    }
+
+    g_clear_object(&handle->cancellable);
+
+    self = handle->self;
+    priv = self ? NM_SUPPLICANT_MANAGER_GET_PRIVATE(self) : NULL;
+
+    g_variant_get(res, "(&o)", &iface_path_str);
+
+    if (!handle->callback || priv->name_owner != handle->name_owner) {
+        if (!handle->callback) {
+            _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT
+                  "]: request already cancelled but still remove interface %s in %s",
+                  NM_HASH_OBFUSCATE_PTR(handle),
+                  iface_path_str,
+                  handle->name_owner->str);
+            nm_utils_error_set(&error, NM_UTILS_ERROR_UNKNOWN, "Request already cancelled");
+        } else {
+            _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT
+                  "]: name owner changed, still remove interface %s in %s",
+                  NM_HASH_OBFUSCATE_PTR(handle),
+                  iface_path_str,
+                  handle->name_owner->str);
+            nm_utils_error_set(&error,
+                               NM_UTILS_ERROR_UNKNOWN,
+                               "The name owner changed since creating the interface");
+        }
+        _dbus_call_remove_interface(dbus_connection, handle->name_owner->str, iface_path_str);
+        _create_iface_complete(handle, NULL, error);
+        return;
+    }
+
+    _create_iface_add(self, handle, iface_path_str, TRUE);
 }
 
 static void
-_create_iface_dbus_call_get_interface (NMSupplicantManager *self,
-                                       NMSupplMgrCreateIfaceHandle *handle,
-                                       const char *ifname)
+_create_iface_dbus_call_get_interface(NMSupplicantManager *        self,
+                                      NMSupplMgrCreateIfaceHandle *handle,
+                                      const char *                 ifname)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-
-	nm_assert (handle->cancellable);
-	nm_assert (!handle->shutdown_handle);
-
-	g_dbus_connection_call (priv->dbus_connection,
-	                        priv->name_owner->str,
-	                        NM_WPAS_DBUS_PATH,
-	                        NM_WPAS_DBUS_INTERFACE,
-	                        "GetInterface",
-	                        g_variant_new ("(s)", ifname),
-	                        G_VARIANT_TYPE ("(o)"),
-	                        G_DBUS_CALL_FLAGS_NONE,
-	                        5000,
-	                        handle->cancellable,
-	                        _create_iface_dbus_call_get_interface_cb,
-	                        handle);
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+
+    nm_assert(handle->cancellable);
+    nm_assert(!handle->shutdown_handle);
+
+    g_dbus_connection_call(priv->dbus_connection,
+                           priv->name_owner->str,
+                           NM_WPAS_DBUS_PATH,
+                           NM_WPAS_DBUS_INTERFACE,
+                           "GetInterface",
+                           g_variant_new("(s)", ifname),
+                           G_VARIANT_TYPE("(o)"),
+                           G_DBUS_CALL_FLAGS_NONE,
+                           5000,
+                           handle->cancellable,
+                           _create_iface_dbus_call_get_interface_cb,
+                           handle);
 }
 
 static void
-_create_iface_dbus_call_create_interface (NMSupplicantManager *self,
-                                          NMSupplMgrCreateIfaceHandle *handle,
-                                          const char *ifname)
+_create_iface_dbus_call_create_interface(NMSupplicantManager *        self,
+                                         NMSupplMgrCreateIfaceHandle *handle,
+                                         const char *                 ifname)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-	GVariantBuilder builder;
-
-	nm_assert (priv->name_owner == handle->name_owner);
-	nm_assert (handle->cancellable);
-	nm_assert (!handle->shutdown_handle);
-	nm_assert (handle->create_iface_try_count <= CREATE_IFACE_TRY_COUNT_MAX);
-
-	g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT);
-	g_variant_builder_add (&builder,
-	                       "{sv}",
-	                       "Driver",
-	                       g_variant_new_string (nm_supplicant_driver_to_string (handle->driver)));
-	g_variant_builder_add (&builder,
-	                       "{sv}",
-	                       "Ifname",
-	                       g_variant_new_string (ifname));
-
-	handle->shutdown_handle = nm_shutdown_wait_obj_register_cancellable_full (handle->cancellable,
-	                                                                          g_strdup_printf ("wpas-create-" NM_HASH_OBFUSCATE_PTR_FMT,
-	                                                                                           NM_HASH_OBFUSCATE_PTR (handle)),
-	                                                                          TRUE);
-	handle->create_iface_try_count++;
-	g_dbus_connection_call (priv->dbus_connection,
-	                        handle->name_owner->str,
-	                        NM_WPAS_DBUS_PATH,
-	                        NM_WPAS_DBUS_INTERFACE,
-	                        "CreateInterface",
-	                        g_variant_new ("(a{sv})", &builder),
-	                        G_VARIANT_TYPE ("(o)"),
-	                        G_DBUS_CALL_FLAGS_NONE,
-	                        5000,
-	                        handle->cancellable,
-	                        _create_iface_dbus_call_create_interface_cb,
-	                        handle);
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+    GVariantBuilder             builder;
+
+    nm_assert(priv->name_owner == handle->name_owner);
+    nm_assert(handle->cancellable);
+    nm_assert(!handle->shutdown_handle);
+    nm_assert(handle->create_iface_try_count <= CREATE_IFACE_TRY_COUNT_MAX);
+
+    g_variant_builder_init(&builder, G_VARIANT_TYPE_VARDICT);
+    g_variant_builder_add(&builder,
+                          "{sv}",
+                          "Driver",
+                          g_variant_new_string(nm_supplicant_driver_to_string(handle->driver)));
+    g_variant_builder_add(&builder, "{sv}", "Ifname", g_variant_new_string(ifname));
+
+    handle->shutdown_handle = nm_shutdown_wait_obj_register_cancellable_full(
+        handle->cancellable,
+        g_strdup_printf("wpas-create-" NM_HASH_OBFUSCATE_PTR_FMT, NM_HASH_OBFUSCATE_PTR(handle)),
+        TRUE);
+    handle->create_iface_try_count++;
+    g_dbus_connection_call(priv->dbus_connection,
+                           handle->name_owner->str,
+                           NM_WPAS_DBUS_PATH,
+                           NM_WPAS_DBUS_INTERFACE,
+                           "CreateInterface",
+                           g_variant_new("(a{sv})", &builder),
+                           G_VARIANT_TYPE("(o)"),
+                           G_DBUS_CALL_FLAGS_NONE,
+                           5000,
+                           handle->cancellable,
+                           _create_iface_dbus_call_create_interface_cb,
+                           handle);
 }
 
 static void
-_create_iface_dbus_start (NMSupplicantManager *self,
-                          NMSupplMgrCreateIfaceHandle *handle)
+_create_iface_dbus_start(NMSupplicantManager *self, NMSupplMgrCreateIfaceHandle *handle)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-	char ifname[NMP_IFNAMSIZ];
-
-	nm_assert (priv->name_owner);
-	nm_assert (!handle->cancellable);
-
-	if (!nm_platform_if_indextoname (NM_PLATFORM_GET, handle->ifindex, ifname)) {
-		nm_utils_error_set (&handle->fail_on_idle_error,
-		                    NM_UTILS_ERROR_UNKNOWN,
-		                    "Cannot find interface %d",
-		                    handle->ifindex);
-		_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: creating interface fails to find interface name for ifindex %d",
-		       NM_HASH_OBFUSCATE_PTR (handle),
-		       handle->ifindex);
-		handle->fail_on_idle_id = g_idle_add (_create_iface_fail_on_idle_cb, handle);
-		return;
-	}
-
-	/* Our handle keeps @self alive. That means, when NetworkManager shall shut
-	 * down, it's the responsibility of the callers to cancel the handles,
-	 * to initiate coordinated shutdown.
-	 *
-	 * However, we now issue a CreateInterface call. Even if the handle gets cancelled
-	 * (because of shutdown, or because the caller is no longer interested in the
-	 * result), we don't want to cancel this request. Instead, we want to get
-	 * the interface path and remove it right away.
-	 *
-	 * That means, the D-Bus call cannot be cancelled (because we always care about
-	 * the result). Only the @handle can be cancelled, but parts of the handle will
-	 * stick around to complete the task.
-	 *
-	 * See also handle->shutdown_handle.
-	 */
-	handle->name_owner = nm_ref_string_ref (priv->name_owner);
-	handle->cancellable = g_cancellable_new ();
-	_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: creating interface (ifname \"%s\")...",
-	       NM_HASH_OBFUSCATE_PTR (handle),
-	       ifname);
-	_create_iface_dbus_call_create_interface (self, handle, ifname);
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+    char                        ifname[NMP_IFNAMSIZ];
+
+    nm_assert(priv->name_owner);
+    nm_assert(!handle->cancellable);
+
+    if (!nm_platform_if_indextoname(NM_PLATFORM_GET, handle->ifindex, ifname)) {
+        nm_utils_error_set(&handle->fail_on_idle_error,
+                           NM_UTILS_ERROR_UNKNOWN,
+                           "Cannot find interface %d",
+                           handle->ifindex);
+        _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT
+              "]: creating interface fails to find interface name for ifindex %d",
+              NM_HASH_OBFUSCATE_PTR(handle),
+              handle->ifindex);
+        handle->fail_on_idle_id = g_idle_add(_create_iface_fail_on_idle_cb, handle);
+        return;
+    }
+
+    /* Our handle keeps @self alive. That means, when NetworkManager shall shut
+     * down, it's the responsibility of the callers to cancel the handles,
+     * to initiate coordinated shutdown.
+     *
+     * However, we now issue a CreateInterface call. Even if the handle gets cancelled
+     * (because of shutdown, or because the caller is no longer interested in the
+     * result), we don't want to cancel this request. Instead, we want to get
+     * the interface path and remove it right away.
+     *
+     * That means, the D-Bus call cannot be cancelled (because we always care about
+     * the result). Only the @handle can be cancelled, but parts of the handle will
+     * stick around to complete the task.
+     *
+     * See also handle->shutdown_handle.
+     */
+    handle->name_owner  = nm_ref_string_ref(priv->name_owner);
+    handle->cancellable = g_cancellable_new();
+    _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT "]: creating interface (ifname \"%s\")...",
+          NM_HASH_OBFUSCATE_PTR(handle),
+          ifname);
+    _create_iface_dbus_call_create_interface(self, handle, ifname);
 }
 
 static gboolean
-_create_iface_fail_on_idle_cb (gpointer user_data)
+_create_iface_fail_on_idle_cb(gpointer user_data)
 {
-	NMSupplMgrCreateIfaceHandle *handle = user_data;
+    NMSupplMgrCreateIfaceHandle *handle = user_data;
 
-	handle->fail_on_idle_id = 0;
+    handle->fail_on_idle_id = 0;
 
-	_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: fail with internal error: %s",
-	       NM_HASH_OBFUSCATE_PTR (handle),
-	       handle->fail_on_idle_error->message);
+    _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT "]: fail with internal error: %s",
+          NM_HASH_OBFUSCATE_PTR(handle),
+          handle->fail_on_idle_error->message);
 
-	_create_iface_complete (handle, NULL, handle->fail_on_idle_error);
-	return G_SOURCE_REMOVE;
+    _create_iface_complete(handle, NULL, handle->fail_on_idle_error);
+    return G_SOURCE_REMOVE;
 }
 
 NMSupplMgrCreateIfaceHandle *
-nm_supplicant_manager_create_interface (NMSupplicantManager *self,
-                                        int ifindex,
-                                        NMSupplicantDriver driver,
-                                        NMSupplicantManagerCreateInterfaceCb callback,
-                                        gpointer user_data)
+nm_supplicant_manager_create_interface(NMSupplicantManager *                self,
+                                       int                                  ifindex,
+                                       NMSupplicantDriver                   driver,
+                                       NMSupplicantManagerCreateInterfaceCb callback,
+                                       gpointer                             user_data)
 {
-	NMSupplicantManagerPrivate *priv;
-	NMSupplMgrCreateIfaceHandle *handle;
-
-	g_return_val_if_fail (NM_IS_SUPPLICANT_MANAGER (self), NULL);
-	g_return_val_if_fail (ifindex > 0, NULL);
-	g_return_val_if_fail (callback, NULL);
-	nm_assert (nm_supplicant_driver_to_string (driver));
-
-	priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-
-	handle = g_slice_new (NMSupplMgrCreateIfaceHandle);
-	*handle = (NMSupplMgrCreateIfaceHandle) {
-		.self               = g_object_ref (self),
-		.callback           = callback,
-		.callback_user_data = user_data,
-		.driver             = driver,
-		.ifindex            = ifindex,
-	};
-	c_list_link_tail (&priv->create_iface_lst_head, &handle->create_iface_lst);
-
-	if (!priv->dbus_connection) {
-		_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: new request interface %d (driver %s). Fail bacause no D-Bus connection to talk to wpa_supplicant...",
-		       NM_HASH_OBFUSCATE_PTR (handle),
-		       ifindex,
-		       nm_supplicant_driver_to_string (driver));
-		nm_utils_error_set (&handle->fail_on_idle_error,
-		                    NM_UTILS_ERROR_UNKNOWN,
-		                    "No D-Bus connection to talk to wpa_supplicant");
-		handle->fail_on_idle_id = g_idle_add (_create_iface_fail_on_idle_cb, handle);
-		return handle;
-	}
-
-	if (!priv->name_owner) {
-		_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: new request interface %d (driver %s). %s",
-		       NM_HASH_OBFUSCATE_PTR (handle),
-		       ifindex,
-		       nm_supplicant_driver_to_string (driver),
-		         priv->poke_name_owner_cancellable
-		       ? "Waiting for supplicant..."
-		       : "Poke supplicant...");
-		_poke_name_owner (self);
-		return handle;
-	}
-
-	if (priv->get_capabilities_cancellable) {
-		_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: new request interface %d (driver %s). Waiting to fetch capabilities for %s...",
-		       NM_HASH_OBFUSCATE_PTR (handle),
-		       ifindex,
-		       nm_supplicant_driver_to_string (driver),
-		       priv->name_owner->str);
-		return handle;
-	}
-
-	_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: new request interface %d (driver %s). create interface on %s...",
-	       NM_HASH_OBFUSCATE_PTR (handle),
-	       ifindex,
-	       nm_supplicant_driver_to_string (driver),
-	       priv->name_owner->str);
-
-	_create_iface_dbus_start (self, handle);
-	return handle;
+    NMSupplicantManagerPrivate * priv;
+    NMSupplMgrCreateIfaceHandle *handle;
+
+    g_return_val_if_fail(NM_IS_SUPPLICANT_MANAGER(self), NULL);
+    g_return_val_if_fail(ifindex > 0, NULL);
+    g_return_val_if_fail(callback, NULL);
+    nm_assert(nm_supplicant_driver_to_string(driver));
+
+    priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+
+    handle  = g_slice_new(NMSupplMgrCreateIfaceHandle);
+    *handle = (NMSupplMgrCreateIfaceHandle){
+        .self               = g_object_ref(self),
+        .callback           = callback,
+        .callback_user_data = user_data,
+        .driver             = driver,
+        .ifindex            = ifindex,
+    };
+    c_list_link_tail(&priv->create_iface_lst_head, &handle->create_iface_lst);
+
+    if (!priv->dbus_connection) {
+        _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT
+              "]: new request interface %d (driver %s). Fail because no D-Bus connection to talk "
+              "to wpa_supplicant...",
+              NM_HASH_OBFUSCATE_PTR(handle),
+              ifindex,
+              nm_supplicant_driver_to_string(driver));
+        nm_utils_error_set(&handle->fail_on_idle_error,
+                           NM_UTILS_ERROR_UNKNOWN,
+                           "No D-Bus connection to talk to wpa_supplicant");
+        handle->fail_on_idle_id = g_idle_add(_create_iface_fail_on_idle_cb, handle);
+        return handle;
+    }
+
+    if (!priv->name_owner) {
+        _LOGT(
+            "create-iface[" NM_HASH_OBFUSCATE_PTR_FMT "]: new request interface %d (driver %s). %s",
+            NM_HASH_OBFUSCATE_PTR(handle),
+            ifindex,
+            nm_supplicant_driver_to_string(driver),
+            priv->poke_name_owner_cancellable ? "Waiting for supplicant..." : "Poke supplicant...");
+        _poke_name_owner(self);
+        return handle;
+    }
+
+    if (priv->get_capabilities_cancellable) {
+        _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT
+              "]: new request interface %d (driver %s). Waiting to fetch capabilities for %s...",
+              NM_HASH_OBFUSCATE_PTR(handle),
+              ifindex,
+              nm_supplicant_driver_to_string(driver),
+              priv->name_owner->str);
+        return handle;
+    }
+
+    _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT
+          "]: new request interface %d (driver %s). create interface on %s...",
+          NM_HASH_OBFUSCATE_PTR(handle),
+          ifindex,
+          nm_supplicant_driver_to_string(driver),
+          priv->name_owner->str);
+
+    _create_iface_dbus_start(self, handle);
+    return handle;
 }
 
 static void
-_create_iface_proceed_all (NMSupplicantManager *self,
-                           GError *error)
+_create_iface_proceed_all(NMSupplicantManager *self, GError *error)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-	NMSupplMgrCreateIfaceHandle *handle;
-
-	nm_assert (error || priv->name_owner);
-	nm_assert (error || !priv->get_capabilities_cancellable);
-
-	if (c_list_is_empty (&priv->create_iface_lst_head))
-		return;
-
-	if (error) {
-		CList alt_list;
-
-		/* we move the handles we want to proceed to a alternative list.
-		 * That is, because we invoke callbacks to the caller, who might
-		 * create another request right away. We don't want to proceed
-		 * that one. */
-		c_list_init (&alt_list);
-		c_list_splice (&alt_list, &priv->create_iface_lst_head);
-
-		while ((handle = c_list_last_entry (&alt_list, NMSupplMgrCreateIfaceHandle, create_iface_lst))) {
-			/* We don't need to keep @self alive. Every handle holds a reference already. */
-			_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: create interface failed: %s",
-			       NM_HASH_OBFUSCATE_PTR (handle),
-			       error->message);
-			_create_iface_complete (handle, NULL, error);
-		}
-		return;
-	}
-
-	/* start all the handles. This does not invoke callbacks, so the list of handles
-	 * cannot be modified while we iterate it. */
-	c_list_for_each_entry (handle, &priv->create_iface_lst_head, create_iface_lst) {
-		_LOGT ("create-iface["NM_HASH_OBFUSCATE_PTR_FMT"]: create interface on %s...",
-		       NM_HASH_OBFUSCATE_PTR (handle),
-		       priv->name_owner->str);
-		_create_iface_dbus_start (self, handle);
-	}
+    NMSupplicantManagerPrivate * priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+    NMSupplMgrCreateIfaceHandle *handle;
+
+    nm_assert(error || priv->name_owner);
+    nm_assert(error || !priv->get_capabilities_cancellable);
+
+    if (c_list_is_empty(&priv->create_iface_lst_head))
+        return;
+
+    if (error) {
+        CList alt_list;
+
+        /* we move the handles we want to proceed to a alternative list.
+         * That is, because we invoke callbacks to the caller, who might
+         * create another request right away. We don't want to proceed
+         * that one. */
+        c_list_init(&alt_list);
+        c_list_splice(&alt_list, &priv->create_iface_lst_head);
+
+        while ((handle =
+                    c_list_last_entry(&alt_list, NMSupplMgrCreateIfaceHandle, create_iface_lst))) {
+            /* We don't need to keep @self alive. Every handle holds a reference already. */
+            _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT "]: create interface failed: %s",
+                  NM_HASH_OBFUSCATE_PTR(handle),
+                  error->message);
+            _create_iface_complete(handle, NULL, error);
+        }
+        return;
+    }
+
+    /* start all the handles. This does not invoke callbacks, so the list of handles
+     * cannot be modified while we iterate it. */
+    c_list_for_each_entry (handle, &priv->create_iface_lst_head, create_iface_lst) {
+        _LOGT("create-iface[" NM_HASH_OBFUSCATE_PTR_FMT "]: create interface on %s...",
+              NM_HASH_OBFUSCATE_PTR(handle),
+              priv->name_owner->str);
+        _create_iface_dbus_start(self, handle);
+    }
 }
 
 void
-nm_supplicant_manager_create_interface_cancel (NMSupplMgrCreateIfaceHandle *handle)
+nm_supplicant_manager_create_interface_cancel(NMSupplMgrCreateIfaceHandle *handle)
 {
-	gs_free_error GError *error = NULL;
+    gs_free_error GError *error = NULL;
 
-	if (!handle)
-		return;
+    if (!handle)
+        return;
 
-	g_return_if_fail (NM_IS_SUPPLICANT_MANAGER (handle->self));
-	g_return_if_fail (handle->callback);
-	nm_assert (!c_list_is_empty (&handle->create_iface_lst));
+    g_return_if_fail(NM_IS_SUPPLICANT_MANAGER(handle->self));
+    g_return_if_fail(handle->callback);
+    nm_assert(!c_list_is_empty(&handle->create_iface_lst));
 
-	nm_utils_error_set_cancelled (&error, FALSE, NULL);
-	_create_iface_complete (handle, NULL, error);
+    nm_utils_error_set_cancelled(&error, FALSE, NULL);
+    _create_iface_complete(handle, NULL, error);
 }
 
 NMSupplicantInterface *
-nm_supplicant_manager_create_interface_from_path (NMSupplicantManager *self,
-                                                  const char *object_path)
+nm_supplicant_manager_create_interface_from_path(NMSupplicantManager *self, const char *object_path)
 {
-	NMSupplicantManagerPrivate *priv;
-	NMSupplicantInterface *supp_iface;
-	nm_auto_ref_string NMRefString *iface_path = NULL;
+    NMSupplicantManagerPrivate *priv;
+    NMSupplicantInterface *     supp_iface;
+    nm_auto_ref_string NMRefString *iface_path = NULL;
 
-	g_return_val_if_fail (NM_IS_SUPPLICANT_MANAGER (self), NULL);
-	g_return_val_if_fail (object_path, NULL);
+    g_return_val_if_fail(NM_IS_SUPPLICANT_MANAGER(self), NULL);
+    g_return_val_if_fail(object_path, NULL);
 
-	priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
+    priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
 
-	iface_path = nm_ref_string_new (object_path);
+    iface_path = nm_ref_string_new(object_path);
 
-	supp_iface = g_hash_table_lookup (priv->supp_ifaces, iface_path);
+    supp_iface = g_hash_table_lookup(priv->supp_ifaces, iface_path);
 
-	if (supp_iface)
-		return g_object_ref (supp_iface);
+    if (supp_iface)
+        return g_object_ref(supp_iface);
 
-	supp_iface = nm_supplicant_interface_new (self,
-	                                          iface_path,
-	                                          0,
-	                                          NM_SUPPLICANT_DRIVER_UNKNOWN);
+    supp_iface = nm_supplicant_interface_new(self, iface_path, 0, NM_SUPPLICANT_DRIVER_UNKNOWN);
 
-	_supp_iface_add (self, iface_path, supp_iface);
+    _supp_iface_add(self, iface_path, supp_iface);
 
-	return supp_iface;
+    return supp_iface;
 }
 
 /*****************************************************************************/
 
 static void
-_dbus_interface_removed_cb (GDBusConnection *connection,
-                            const char *sender_name,
-                            const char *object_path,
-                            const char *signal_interface_name,
-                            const char *signal_name,
-                            GVariant *parameters,
-                            gpointer user_data)
+_dbus_interface_removed_cb(GDBusConnection *connection,
+                           const char *     sender_name,
+                           const char *     object_path,
+                           const char *     signal_interface_name,
+                           const char *     signal_name,
+                           GVariant *       parameters,
+                           gpointer         user_data)
 {
-	NMSupplicantManager *self = user_data;
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-	NMSupplicantInterface *supp_iface;
-	const char *iface_path_str;
-	nm_auto_ref_string NMRefString *iface_path = NULL;
+    NMSupplicantManager *       self = user_data;
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+    NMSupplicantInterface *     supp_iface;
+    const char *                iface_path_str;
+    nm_auto_ref_string NMRefString *iface_path = NULL;
 
-	nm_assert (nm_streq (sender_name, priv->name_owner->str));
+    nm_assert(nm_streq(sender_name, priv->name_owner->str));
 
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(o)")))
-		return;
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(o)")))
+        return;
 
-	g_variant_get (parameters, "(&o)", &iface_path_str);
+    g_variant_get(parameters, "(&o)", &iface_path_str);
 
-	iface_path = nm_ref_string_new (iface_path_str);
+    iface_path = nm_ref_string_new(iface_path_str);
 
-	supp_iface = g_hash_table_lookup (priv->supp_ifaces, iface_path);
-	if (!supp_iface)
-		return;
+    supp_iface = g_hash_table_lookup(priv->supp_ifaces, iface_path);
+    if (!supp_iface)
+        return;
 
-	_supp_iface_remove_one (self, supp_iface, FALSE, "InterfaceRemoved signal from wpa_supplicant");
+    _supp_iface_remove_one(self, supp_iface, FALSE, "InterfaceRemoved signal from wpa_supplicant");
 }
 
 /*****************************************************************************/
 
 static void
-_dbus_get_capabilities_cb (GVariant *res,
-                           GError *error,
-                           gpointer user_data)
+_dbus_get_capabilities_cb(GVariant *res, GError *error, gpointer user_data)
 {
-	NMSupplicantManager *self;
-	NMSupplicantManagerPrivate *priv;
-
-	if (nm_utils_error_is_cancelled (error))
-		return;
-
-	self = user_data;
-	priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-
-	g_clear_object (&priv->get_capabilities_cancellable);
-
-	/* The supplicant only advertises global capabilities if the following
-	 * commit has been applied:
-	 *
-	 * commit 1634ac0654eba8d458640a115efc0a6cde3bac4d
-	 * Author: Dan Williams <dcbw@redhat.com>
-	 * Date:   Sat Sep 29 19:06:30 2012 +0300
-	 *
-	 * dbus: Add global capabilities property
-	 */
-	_caps_set (priv, NM_SUPPL_CAP_TYPE_AP,     NM_TERNARY_DEFAULT);
-	_caps_set (priv, NM_SUPPL_CAP_TYPE_PMF,    NM_TERNARY_DEFAULT);
-	_caps_set (priv, NM_SUPPL_CAP_TYPE_FILS,   NM_TERNARY_DEFAULT);
-
-	/* Support for the following is newer than the capabilities property */
-	_caps_set (priv, NM_SUPPL_CAP_TYPE_P2P,    NM_TERNARY_FALSE);
-	_caps_set (priv, NM_SUPPL_CAP_TYPE_FT,     NM_TERNARY_FALSE);
-	_caps_set (priv, NM_SUPPL_CAP_TYPE_SHA384, NM_TERNARY_FALSE);
-	_caps_set (priv, NM_SUPPL_CAP_TYPE_MESH,   NM_TERNARY_FALSE);
-	_caps_set (priv, NM_SUPPL_CAP_TYPE_FAST,   NM_TERNARY_FALSE);
-	_caps_set (priv, NM_SUPPL_CAP_TYPE_WFD,    NM_TERNARY_FALSE);
-
-	if (res) {
-		nm_auto_free_variant_iter GVariantIter *res_iter = NULL;
-		const char *res_key;
-		GVariant *res_val;
-
-		g_variant_get (res, "(a{sv})", &res_iter);
-		while (g_variant_iter_loop (res_iter, "{&sv}", &res_key, &res_val)) {
-			if (nm_streq (res_key, "Capabilities")) {
-				if (g_variant_is_of_type (res_val, G_VARIANT_TYPE_STRING_ARRAY)) {
-					gs_free const char **array = NULL;
-					const char **a;
-
-					array = g_variant_get_strv (res_val, NULL);
-					_caps_set (priv, NM_SUPPL_CAP_TYPE_AP,   NM_TERNARY_FALSE);
-					_caps_set (priv, NM_SUPPL_CAP_TYPE_PMF,  NM_TERNARY_FALSE);
-					_caps_set (priv, NM_SUPPL_CAP_TYPE_FILS, NM_TERNARY_FALSE);
-					if (array) {
-						for (a = array; *a; a++) {
-							if (nm_streq (*a, "ap"))     { _caps_set (priv, NM_SUPPL_CAP_TYPE_AP,     NM_TERNARY_TRUE); continue; }
-							if (nm_streq (*a, "pmf"))    { _caps_set (priv, NM_SUPPL_CAP_TYPE_PMF,    NM_TERNARY_TRUE); continue; }
-							if (nm_streq (*a, "fils"))   { _caps_set (priv, NM_SUPPL_CAP_TYPE_FILS,   NM_TERNARY_TRUE); continue; }
-							if (nm_streq (*a, "p2p"))    { _caps_set (priv, NM_SUPPL_CAP_TYPE_P2P,    NM_TERNARY_TRUE); continue; }
-							if (nm_streq (*a, "ft"))     { _caps_set (priv, NM_SUPPL_CAP_TYPE_FT,     NM_TERNARY_TRUE); continue; }
-							if (nm_streq (*a, "sha384")) { _caps_set (priv, NM_SUPPL_CAP_TYPE_SHA384, NM_TERNARY_TRUE); continue; }
-							if (nm_streq (*a, "mesh"))   { _caps_set (priv, NM_SUPPL_CAP_TYPE_MESH,   NM_TERNARY_TRUE); continue; }
-						}
-					}
-				}
-				continue;
-			}
-			if (nm_streq (res_key, "EapMethods")) {
-				if (g_variant_is_of_type (res_val, G_VARIANT_TYPE_STRING_ARRAY)) {
-					gs_free const char **array = NULL;
-					const char **a;
-
-					array = g_variant_get_strv (res_val, NULL);
-					if (array) {
-						for (a = array; *a; a++) {
-							if (g_ascii_strcasecmp (*a, "FAST") == 0) {
-								_caps_set (priv, NM_SUPPL_CAP_TYPE_FAST, NM_TERNARY_TRUE);
-								break;
-							}
-						}
-					}
-				}
-				continue;
-			}
-			if (nm_streq (res_key, "WFDIEs")) {
-				_caps_set (priv, NM_SUPPL_CAP_TYPE_WFD, NM_TERNARY_TRUE);
-				continue;
-			}
-		}
-	}
-
-	_LOGD ("supported features:"
-	       " AP%c"
-	       " PMF%c"
-	       " FILS%c"
-	       " P2P%c"
-	       " FT%c"
-	       " SHA384%c"
-	       " MESH%c"
-	       " FAST%c"
-	       " WFD%c"
-	       "",
-	       _caps_to_char (priv, NM_SUPPL_CAP_TYPE_AP),
-	       _caps_to_char (priv, NM_SUPPL_CAP_TYPE_PMF),
-	       _caps_to_char (priv, NM_SUPPL_CAP_TYPE_FILS),
-	       _caps_to_char (priv, NM_SUPPL_CAP_TYPE_P2P),
-	       _caps_to_char (priv, NM_SUPPL_CAP_TYPE_FT),
-	       _caps_to_char (priv, NM_SUPPL_CAP_TYPE_SHA384),
-	       _caps_to_char (priv, NM_SUPPL_CAP_TYPE_MESH),
-	       _caps_to_char (priv, NM_SUPPL_CAP_TYPE_FAST),
-	       _caps_to_char (priv, NM_SUPPL_CAP_TYPE_WFD));
-
-	nm_assert (g_hash_table_size (priv->supp_ifaces) == 0);
-	nm_assert (c_list_is_empty (&priv->supp_lst_head));
-
-	_create_iface_proceed_all (self, NULL);
+    NMSupplicantManager *       self;
+    NMSupplicantManagerPrivate *priv;
+
+    if (nm_utils_error_is_cancelled(error))
+        return;
+
+    self = user_data;
+    priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+
+    g_clear_object(&priv->get_capabilities_cancellable);
+
+    /* The supplicant only advertises global capabilities if the following
+     * commit has been applied:
+     *
+     * commit 1634ac0654eba8d458640a115efc0a6cde3bac4d
+     * Author: Dan Williams <dcbw@redhat.com>
+     * Date:   Sat Sep 29 19:06:30 2012 +0300
+     *
+     * dbus: Add global capabilities property
+     */
+    _caps_set(priv, NM_SUPPL_CAP_TYPE_AP, NM_TERNARY_DEFAULT);
+    _caps_set(priv, NM_SUPPL_CAP_TYPE_PMF, NM_TERNARY_DEFAULT);
+    _caps_set(priv, NM_SUPPL_CAP_TYPE_FILS, NM_TERNARY_DEFAULT);
+
+    /* Support for the following is newer than the capabilities property */
+    _caps_set(priv, NM_SUPPL_CAP_TYPE_P2P, NM_TERNARY_FALSE);
+    _caps_set(priv, NM_SUPPL_CAP_TYPE_FT, NM_TERNARY_FALSE);
+    _caps_set(priv, NM_SUPPL_CAP_TYPE_SHA384, NM_TERNARY_FALSE);
+    _caps_set(priv, NM_SUPPL_CAP_TYPE_MESH, NM_TERNARY_FALSE);
+    _caps_set(priv, NM_SUPPL_CAP_TYPE_FAST, NM_TERNARY_FALSE);
+    _caps_set(priv, NM_SUPPL_CAP_TYPE_WFD, NM_TERNARY_FALSE);
+
+    if (res) {
+        nm_auto_free_variant_iter GVariantIter *res_iter = NULL;
+        const char *                            res_key;
+        GVariant *                              res_val;
+
+        g_variant_get(res, "(a{sv})", &res_iter);
+        while (g_variant_iter_loop(res_iter, "{&sv}", &res_key, &res_val)) {
+            if (nm_streq(res_key, "Capabilities")) {
+                if (g_variant_is_of_type(res_val, G_VARIANT_TYPE_STRING_ARRAY)) {
+                    gs_free const char **array = NULL;
+                    const char **        a;
+
+                    array = g_variant_get_strv(res_val, NULL);
+                    _caps_set(priv, NM_SUPPL_CAP_TYPE_AP, NM_TERNARY_FALSE);
+                    _caps_set(priv, NM_SUPPL_CAP_TYPE_PMF, NM_TERNARY_FALSE);
+                    _caps_set(priv, NM_SUPPL_CAP_TYPE_FILS, NM_TERNARY_FALSE);
+                    if (array) {
+                        for (a = array; *a; a++) {
+                            if (nm_streq(*a, "ap")) {
+                                _caps_set(priv, NM_SUPPL_CAP_TYPE_AP, NM_TERNARY_TRUE);
+                                continue;
+                            }
+                            if (nm_streq(*a, "pmf")) {
+                                _caps_set(priv, NM_SUPPL_CAP_TYPE_PMF, NM_TERNARY_TRUE);
+                                continue;
+                            }
+                            if (nm_streq(*a, "fils")) {
+                                _caps_set(priv, NM_SUPPL_CAP_TYPE_FILS, NM_TERNARY_TRUE);
+                                continue;
+                            }
+                            if (nm_streq(*a, "p2p")) {
+                                _caps_set(priv, NM_SUPPL_CAP_TYPE_P2P, NM_TERNARY_TRUE);
+                                continue;
+                            }
+                            if (nm_streq(*a, "ft")) {
+                                _caps_set(priv, NM_SUPPL_CAP_TYPE_FT, NM_TERNARY_TRUE);
+                                continue;
+                            }
+                            if (nm_streq(*a, "sha384")) {
+                                _caps_set(priv, NM_SUPPL_CAP_TYPE_SHA384, NM_TERNARY_TRUE);
+                                continue;
+                            }
+                            if (nm_streq(*a, "mesh")) {
+                                _caps_set(priv, NM_SUPPL_CAP_TYPE_MESH, NM_TERNARY_TRUE);
+                                continue;
+                            }
+                        }
+                    }
+                }
+                continue;
+            }
+            if (nm_streq(res_key, "EapMethods")) {
+                if (g_variant_is_of_type(res_val, G_VARIANT_TYPE_STRING_ARRAY)) {
+                    gs_free const char **array = NULL;
+                    const char **        a;
+
+                    array = g_variant_get_strv(res_val, NULL);
+                    if (array) {
+                        for (a = array; *a; a++) {
+                            if (g_ascii_strcasecmp(*a, "FAST") == 0) {
+                                _caps_set(priv, NM_SUPPL_CAP_TYPE_FAST, NM_TERNARY_TRUE);
+                                break;
+                            }
+                        }
+                    }
+                }
+                continue;
+            }
+            if (nm_streq(res_key, "WFDIEs")) {
+                _caps_set(priv, NM_SUPPL_CAP_TYPE_WFD, NM_TERNARY_TRUE);
+                continue;
+            }
+        }
+    }
+
+    _LOGD("supported features:"
+          " AP%c"
+          " PMF%c"
+          " FILS%c"
+          " P2P%c"
+          " FT%c"
+          " SHA384%c"
+          " MESH%c"
+          " FAST%c"
+          " WFD%c"
+          "",
+          _caps_to_char(priv, NM_SUPPL_CAP_TYPE_AP),
+          _caps_to_char(priv, NM_SUPPL_CAP_TYPE_PMF),
+          _caps_to_char(priv, NM_SUPPL_CAP_TYPE_FILS),
+          _caps_to_char(priv, NM_SUPPL_CAP_TYPE_P2P),
+          _caps_to_char(priv, NM_SUPPL_CAP_TYPE_FT),
+          _caps_to_char(priv, NM_SUPPL_CAP_TYPE_SHA384),
+          _caps_to_char(priv, NM_SUPPL_CAP_TYPE_MESH),
+          _caps_to_char(priv, NM_SUPPL_CAP_TYPE_FAST),
+          _caps_to_char(priv, NM_SUPPL_CAP_TYPE_WFD));
+
+    nm_assert(g_hash_table_size(priv->supp_ifaces) == 0);
+    nm_assert(c_list_is_empty(&priv->supp_lst_head));
+
+    _create_iface_proceed_all(self, NULL);
 }
 
 /*****************************************************************************/
 
 void
-_nm_supplicant_manager_unregister_interface (NMSupplicantManager *self,
-                                             NMSupplicantInterface *supp_iface)
+_nm_supplicant_manager_unregister_interface(NMSupplicantManager *  self,
+                                            NMSupplicantInterface *supp_iface)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
 
-	nm_assert (NM_IS_SUPPLICANT_INTERFACE (supp_iface));
-	nm_assert (c_list_contains (&NM_SUPPLICANT_MANAGER_GET_PRIVATE (self)->supp_lst_head, &supp_iface->supp_lst));
+    nm_assert(NM_IS_SUPPLICANT_INTERFACE(supp_iface));
+    nm_assert(c_list_contains(&NM_SUPPLICANT_MANAGER_GET_PRIVATE(self)->supp_lst_head,
+                              &supp_iface->supp_lst));
 
-	c_list_unlink (&supp_iface->supp_lst);
-	if (!g_hash_table_remove (priv->supp_ifaces, nm_supplicant_interface_get_object_path (supp_iface)))
-		nm_assert_not_reached ();
+    c_list_unlink(&supp_iface->supp_lst);
+    if (!g_hash_table_remove(priv->supp_ifaces,
+                             nm_supplicant_interface_get_object_path(supp_iface)))
+        nm_assert_not_reached();
 }
 
 static void
-_supp_iface_add (NMSupplicantManager *self,
-                 NMRefString *iface_path,
-                 NMSupplicantInterface *supp_iface)
+_supp_iface_add(NMSupplicantManager *  self,
+                NMRefString *          iface_path,
+                NMSupplicantInterface *supp_iface)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
 
-	c_list_link_tail (&priv->supp_lst_head, &supp_iface->supp_lst);
-	if (!g_hash_table_insert (priv->supp_ifaces, iface_path, supp_iface))
-		nm_assert_not_reached ();
+    c_list_link_tail(&priv->supp_lst_head, &supp_iface->supp_lst);
+    if (!g_hash_table_insert(priv->supp_ifaces, iface_path, supp_iface))
+        nm_assert_not_reached();
 }
 
 static void
-_supp_iface_remove_one (NMSupplicantManager *self,
-                        NMSupplicantInterface *supp_iface,
-                        gboolean force_remove_from_supplicant,
-                        const char *reason)
+_supp_iface_remove_one(NMSupplicantManager *  self,
+                       NMSupplicantInterface *supp_iface,
+                       gboolean               force_remove_from_supplicant,
+                       const char *           reason)
 {
 #if NM_MORE_ASSERTS
-	_nm_unused gs_unref_object NMSupplicantInterface *supp_iface_keep_alive = g_object_ref (supp_iface);
+    _nm_unused gs_unref_object NMSupplicantInterface *supp_iface_keep_alive =
+        g_object_ref(supp_iface);
 #endif
 
-	nm_assert (NM_IS_SUPPLICANT_MANAGER (self));
-	nm_assert (NM_IS_SUPPLICANT_INTERFACE (supp_iface));
-	nm_assert (c_list_contains (&NM_SUPPLICANT_MANAGER_GET_PRIVATE (self)->supp_lst_head, &supp_iface->supp_lst));
+    nm_assert(NM_IS_SUPPLICANT_MANAGER(self));
+    nm_assert(NM_IS_SUPPLICANT_INTERFACE(supp_iface));
+    nm_assert(c_list_contains(&NM_SUPPLICANT_MANAGER_GET_PRIVATE(self)->supp_lst_head,
+                              &supp_iface->supp_lst));
 
-	_nm_supplicant_interface_set_state_down (supp_iface, force_remove_from_supplicant, reason);
+    _nm_supplicant_interface_set_state_down(supp_iface, force_remove_from_supplicant, reason);
 
-	nm_assert (c_list_is_empty (&supp_iface->supp_lst));
+    nm_assert(c_list_is_empty(&supp_iface->supp_lst));
 }
 
 static void
-_supp_iface_remove_all (NMSupplicantManager *self,
-                        gboolean force_remove_from_supplicant,
-                        const char *reason)
+_supp_iface_remove_all(NMSupplicantManager *self,
+                       gboolean             force_remove_from_supplicant,
+                       const char *         reason)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-	NMSupplicantInterface *supp_iface;
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+    NMSupplicantInterface *     supp_iface;
 
-	while ((supp_iface = c_list_first_entry (&priv->supp_lst_head, NMSupplicantInterface, supp_lst)))
-		_supp_iface_remove_one (self, supp_iface, force_remove_from_supplicant, reason);
+    while ((supp_iface = c_list_first_entry(&priv->supp_lst_head, NMSupplicantInterface, supp_lst)))
+        _supp_iface_remove_one(self, supp_iface, force_remove_from_supplicant, reason);
 }
 
 /*****************************************************************************/
 
 static gboolean
-_available_reset_cb (gpointer user_data)
+_available_reset_cb(gpointer user_data)
 {
-	NMSupplicantManager *self = user_data;
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-
-	priv->available_reset_id = 0;
-	nm_assert (priv->available == NM_TERNARY_FALSE);
-	priv->available = NM_TERNARY_DEFAULT;
-	g_signal_emit (self, signals[AVAILABLE_CHANGED], 0);
-	return G_SOURCE_REMOVE;
+    NMSupplicantManager *       self = user_data;
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+
+    priv->available_reset_id = 0;
+    nm_assert(priv->available == NM_TERNARY_FALSE);
+    priv->available = NM_TERNARY_DEFAULT;
+    g_signal_emit(self, signals[AVAILABLE_CHANGED], 0);
+    return G_SOURCE_REMOVE;
 }
 
 /*****************************************************************************/
 
 static void
-name_owner_changed (NMSupplicantManager *self,
-                    const char *name_owner,
-                    gboolean first_time)
+name_owner_changed(NMSupplicantManager *self, const char *name_owner, gboolean first_time)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-	NMTernary available;
-	gboolean available_changed = FALSE;
-
-	nm_assert (!priv->get_name_owner_cancellable);
-	nm_assert (   !name_owner
-	           || name_owner[0]);
-	nm_assert (   (   first_time
-	               && !priv->name_owner)
-	           || (   !first_time
-	               && (!!priv->name_owner) != (!!name_owner)));
-
-	if (first_time) {
-		_LOGD ("wpa_supplicant name owner %s%s%s (%srunning)",
-		       NM_PRINT_FMT_QUOTE_STRING (name_owner),
-		       name_owner ? "" : "not ");
-	} else {
-		_LOGD ("wpa_supplicant name owner \"%s\" %s (%srunning)",
-		       name_owner ?: priv->name_owner->str,
-		       name_owner ? "disappeared" : "appeared",
-		       name_owner ? "" : "not ");
-	}
-
-	nm_ref_string_unref (priv->name_owner);
-	priv->name_owner = nm_ref_string_new (name_owner);
-
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->interface_removed_id);
-
-	if (name_owner) {
-		if (nm_clear_g_source (&priv->poke_name_owner_timeout_id))
-			_LOGT ("poke service \"%s\" completed with name owner change", NM_WPAS_DBUS_SERVICE);
-		nm_clear_g_cancellable (&priv->poke_name_owner_cancellable);
-	}
-
-	nm_clear_g_cancellable (&priv->get_capabilities_cancellable);
-
-	priv->capabilities = NM_SUPPL_CAP_MASK_NONE;
-	if (priv->name_owner) {
-		priv->get_capabilities_cancellable = g_cancellable_new ();
-		nm_dbus_connection_call_get_all (priv->dbus_connection,
-		                                 priv->name_owner->str,
-		                                 NM_WPAS_DBUS_PATH,
-		                                 NM_WPAS_DBUS_INTERFACE,
-		                                 5000,
-		                                 priv->get_capabilities_cancellable,
-		                                 _dbus_get_capabilities_cb,
-		                                 self);
-		priv->interface_removed_id = g_dbus_connection_signal_subscribe (priv->dbus_connection,
-		                                                                 priv->name_owner->str,
-		                                                                 NM_WPAS_DBUS_INTERFACE,
-		                                                                 "InterfaceRemoved",
-		                                                                 NULL,
-		                                                                 NULL,
-		                                                                 G_DBUS_SIGNAL_FLAGS_NONE,
-		                                                                 _dbus_interface_removed_cb,
-		                                                                 self,
-		                                                                 NULL);
-	}
-
-	/* if supplicant is running (has a name owner), we may use it.
-	 * If this is the first time, and supplicant is not running, we
-	 * may also use it (and assume that we probably could D-Bus activate
-	 * it).
-	 *
-	 * Otherwise, somebody else stopped supplicant. It's no longer useable to
-	 * us and we block auto starting it. The user has to start the service...
-	 *
-	 * Actually, below we reset the hard block after a short timeout. This
-	 * causes the caller to notify that supplicant may now by around and
-	 * retry to D-Bus activate it. */
-	if (priv->name_owner)
-		available = NM_TERNARY_TRUE;
-	else if (first_time)
-		available = NM_TERNARY_DEFAULT;
-	else
-		available = NM_TERNARY_FALSE;
-
-	if (priv->available != available) {
-		priv->available = available;
-		_LOGD ("supplicant is now %savailable",
-		         available == FALSE
-		       ? "not "
-		       : (  available == TRUE
-		          ? ""
-		          : "maybe "));
-		available_changed = TRUE;
-
-		nm_clear_g_source (&priv->available_reset_id);
-		if (available == NM_TERNARY_FALSE) {
-			/* reset the availability from a hard "no" to a "maybe" in a bit. */
-			priv->available_reset_id = g_timeout_add_seconds (60,
-			                                                  _available_reset_cb,
-			                                                  self);
-		}
-	}
-
-	_supp_iface_remove_all (self, TRUE, "name-owner changed");
-
-	if (!priv->name_owner) {
-		if (priv->poke_name_owner_timeout_id) {
-			/* we are still poking for the service to start. Don't cancel
-			 * the pending create requests just yet. */
-		} else {
-			gs_free_error GError *local_error = NULL;
-
-			/* When we loose the name owner, we fail all pending creation requests. */
-			nm_utils_error_set (&local_error,
-			                    NM_UTILS_ERROR_UNKNOWN,
-			                    "Name owner lost");
-			_create_iface_proceed_all (self, local_error);
-		}
-	} else {
-		/* We got a name-owner, but we don't do anything. Instead let
-		 * _dbus_get_capabilities_cb() complete and kick of the create-iface
-		 * handles.
-		 *
-		 * Note that before the first name-owner change, all create-iface
-		 * requests fail right away. So we don't have to handle them here
-		 * (by starting to poke the service). */
-	}
-
-	if (available_changed)
-		g_signal_emit (self, signals[AVAILABLE_CHANGED], 0);
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+    NMTernary                   available;
+    gboolean                    available_changed = FALSE;
+
+    nm_assert(!priv->get_name_owner_cancellable);
+    nm_assert(!name_owner || name_owner[0]);
+    nm_assert((first_time && !priv->name_owner)
+              || (!first_time && (!!priv->name_owner) != (!!name_owner)));
+
+    if (first_time) {
+        _LOGD("wpa_supplicant name owner %s%s%s (%srunning)",
+              NM_PRINT_FMT_QUOTE_STRING(name_owner),
+              name_owner ? "" : "not ");
+    } else {
+        _LOGD("wpa_supplicant name owner \"%s\" %s (%srunning)",
+              name_owner ?: priv->name_owner->str,
+              name_owner ? "disappeared" : "appeared",
+              name_owner ? "" : "not ");
+    }
+
+    nm_ref_string_unref(priv->name_owner);
+    priv->name_owner = nm_ref_string_new(name_owner);
+
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->interface_removed_id);
+
+    if (name_owner) {
+        if (nm_clear_g_source(&priv->poke_name_owner_timeout_id))
+            _LOGT("poke service \"%s\" completed with name owner change", NM_WPAS_DBUS_SERVICE);
+        nm_clear_g_cancellable(&priv->poke_name_owner_cancellable);
+    }
+
+    nm_clear_g_cancellable(&priv->get_capabilities_cancellable);
+
+    priv->capabilities = NM_SUPPL_CAP_MASK_NONE;
+    if (priv->name_owner) {
+        priv->get_capabilities_cancellable = g_cancellable_new();
+        nm_dbus_connection_call_get_all(priv->dbus_connection,
+                                        priv->name_owner->str,
+                                        NM_WPAS_DBUS_PATH,
+                                        NM_WPAS_DBUS_INTERFACE,
+                                        5000,
+                                        priv->get_capabilities_cancellable,
+                                        _dbus_get_capabilities_cb,
+                                        self);
+        priv->interface_removed_id = g_dbus_connection_signal_subscribe(priv->dbus_connection,
+                                                                        priv->name_owner->str,
+                                                                        NM_WPAS_DBUS_INTERFACE,
+                                                                        "InterfaceRemoved",
+                                                                        NULL,
+                                                                        NULL,
+                                                                        G_DBUS_SIGNAL_FLAGS_NONE,
+                                                                        _dbus_interface_removed_cb,
+                                                                        self,
+                                                                        NULL);
+    }
+
+    /* if supplicant is running (has a name owner), we may use it.
+     * If this is the first time, and supplicant is not running, we
+     * may also use it (and assume that we probably could D-Bus activate
+     * it).
+     *
+     * Otherwise, somebody else stopped supplicant. It's no longer useable to
+     * us and we block auto starting it. The user has to start the service...
+     *
+     * Actually, below we reset the hard block after a short timeout. This
+     * causes the caller to notify that supplicant may now by around and
+     * retry to D-Bus activate it. */
+    if (priv->name_owner)
+        available = NM_TERNARY_TRUE;
+    else if (first_time)
+        available = NM_TERNARY_DEFAULT;
+    else
+        available = NM_TERNARY_FALSE;
+
+    if (priv->available != available) {
+        priv->available = available;
+        _LOGD("supplicant is now %savailable",
+              available == FALSE ? "not " : (available == TRUE ? "" : "maybe "));
+        available_changed = TRUE;
+
+        nm_clear_g_source(&priv->available_reset_id);
+        if (available == NM_TERNARY_FALSE) {
+            /* reset the availability from a hard "no" to a "maybe" in a bit. */
+            priv->available_reset_id = g_timeout_add_seconds(60, _available_reset_cb, self);
+        }
+    }
+
+    _supp_iface_remove_all(self, TRUE, "name-owner changed");
+
+    if (!priv->name_owner) {
+        if (priv->poke_name_owner_timeout_id) {
+            /* we are still poking for the service to start. Don't cancel
+             * the pending create requests just yet. */
+        } else {
+            gs_free_error GError *local_error = NULL;
+
+            /* When we loose the name owner, we fail all pending creation requests. */
+            nm_utils_error_set(&local_error, NM_UTILS_ERROR_UNKNOWN, "Name owner lost");
+            _create_iface_proceed_all(self, local_error);
+        }
+    } else {
+        /* We got a name-owner, but we don't do anything. Instead let
+         * _dbus_get_capabilities_cb() complete and kick of the create-iface
+         * handles.
+         *
+         * Note that before the first name-owner change, all create-iface
+         * requests fail right away. So we don't have to handle them here
+         * (by starting to poke the service). */
+    }
+
+    if (available_changed)
+        g_signal_emit(self, signals[AVAILABLE_CHANGED], 0);
 }
 
 static void
-name_owner_changed_cb (GDBusConnection *connection,
-                       const char *sender_name,
-                       const char *object_path,
-                       const char *interface_name,
-                       const char *signal_name,
-                       GVariant *parameters,
-                       gpointer user_data)
+name_owner_changed_cb(GDBusConnection *connection,
+                      const char *     sender_name,
+                      const char *     object_path,
+                      const char *     interface_name,
+                      const char *     signal_name,
+                      GVariant *       parameters,
+                      gpointer         user_data)
 {
-	gs_unref_object NMSupplicantManager *self = g_object_ref (user_data);
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-	const char *name_owner;
-
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sss)")))
-		return;
-
-	if (priv->get_name_owner_cancellable)
-		return;
-
-	g_variant_get (parameters,
-	               "(&s&s&s)",
-	               NULL,
-	               NULL,
-	               &name_owner);
-
-	name_owner = nm_str_not_empty (name_owner);
-
-	if (nm_streq0 (name_owner, nm_ref_string_get_str (priv->name_owner)))
-		return;
-
-	if (   name_owner
-	    && priv->name_owner) {
-		/* odd, we directly switch from one name owner to the next. Can't allow that.
-		 * First clear the name owner before resetting. */
-		name_owner_changed (self, NULL, FALSE);
-	}
-	name_owner_changed (user_data, name_owner, FALSE);
+    gs_unref_object NMSupplicantManager *self = g_object_ref(user_data);
+    NMSupplicantManagerPrivate *         priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+    const char *                         name_owner;
+
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(sss)")))
+        return;
+
+    if (priv->get_name_owner_cancellable)
+        return;
+
+    g_variant_get(parameters, "(&s&s&s)", NULL, NULL, &name_owner);
+
+    name_owner = nm_str_not_empty(name_owner);
+
+    if (nm_streq0(name_owner, nm_ref_string_get_str(priv->name_owner)))
+        return;
+
+    if (name_owner && priv->name_owner) {
+        /* odd, we directly switch from one name owner to the next. Can't allow that.
+         * First clear the name owner before resetting. */
+        name_owner_changed(self, NULL, FALSE);
+    }
+    name_owner_changed(user_data, name_owner, FALSE);
 }
 
 static void
-get_name_owner_cb (const char *name_owner,
-                   GError *error,
-                   gpointer user_data)
+get_name_owner_cb(const char *name_owner, GError *error, gpointer user_data)
 {
-	NMSupplicantManager *self = user_data;
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
+    NMSupplicantManager *       self = user_data;
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
 
-	if (   !name_owner
-	    && nm_utils_error_is_cancelled (error))
-		return;
+    if (!name_owner && nm_utils_error_is_cancelled(error))
+        return;
 
-	self = user_data;
-	priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
+    self = user_data;
+    priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
 
-	g_clear_object (&priv->get_name_owner_cancellable);
+    g_clear_object(&priv->get_name_owner_cancellable);
 
-	name_owner_changed (self, nm_str_not_empty (name_owner), TRUE);
+    name_owner_changed(self, nm_str_not_empty(name_owner), TRUE);
 }
 
 /*****************************************************************************/
 
 static void
-nm_supplicant_manager_init (NMSupplicantManager *self)
+nm_supplicant_manager_init(NMSupplicantManager *self)
 {
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
-
-	nm_assert (priv->capabilities == NM_SUPPL_CAP_MASK_NONE);
-	nm_assert (priv->available == NM_TERNARY_FALSE);
-
-	priv->supp_ifaces = g_hash_table_new (nm_direct_hash, NULL);
-	c_list_init (&priv->supp_lst_head);
-	c_list_init (&priv->create_iface_lst_head);
-
-	priv->dbus_connection = nm_g_object_ref (NM_MAIN_DBUS_CONNECTION_GET);
-
-	if (!priv->dbus_connection) {
-		_LOGI ("no D-Bus connection to talk to wpa_supplicant");
-		return;
-	}
-
-	priv->name_owner_changed_id = nm_dbus_connection_signal_subscribe_name_owner_changed (priv->dbus_connection,
-	                                                                                      NM_WPAS_DBUS_SERVICE,
-	                                                                                      name_owner_changed_cb,
-	                                                                                      self,
-	                                                                                      NULL);
-	priv->get_name_owner_cancellable = g_cancellable_new ();
-	nm_dbus_connection_call_get_name_owner (priv->dbus_connection,
-	                                        NM_WPAS_DBUS_SERVICE,
-	                                        -1,
-	                                        priv->get_name_owner_cancellable,
-	                                        get_name_owner_cb,
-	                                        self);
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
+
+    nm_assert(priv->capabilities == NM_SUPPL_CAP_MASK_NONE);
+    nm_assert(priv->available == NM_TERNARY_FALSE);
+
+    priv->supp_ifaces = g_hash_table_new(nm_direct_hash, NULL);
+    c_list_init(&priv->supp_lst_head);
+    c_list_init(&priv->create_iface_lst_head);
+
+    priv->dbus_connection = nm_g_object_ref(NM_MAIN_DBUS_CONNECTION_GET);
+
+    if (!priv->dbus_connection) {
+        _LOGI("no D-Bus connection to talk to wpa_supplicant");
+        return;
+    }
+
+    priv->name_owner_changed_id =
+        nm_dbus_connection_signal_subscribe_name_owner_changed(priv->dbus_connection,
+                                                               NM_WPAS_DBUS_SERVICE,
+                                                               name_owner_changed_cb,
+                                                               self,
+                                                               NULL);
+    priv->get_name_owner_cancellable = g_cancellable_new();
+    nm_dbus_connection_call_get_name_owner(priv->dbus_connection,
+                                           NM_WPAS_DBUS_SERVICE,
+                                           -1,
+                                           priv->get_name_owner_cancellable,
+                                           get_name_owner_cb,
+                                           self);
 }
 
 static void
-dispose (GObject *object)
+dispose(GObject *object)
 {
-	NMSupplicantManager *self = (NMSupplicantManager *) object;
-	NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self);
+    NMSupplicantManager *       self = (NMSupplicantManager *) object;
+    NMSupplicantManagerPrivate *priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE(self);
 
-	_supp_iface_remove_all (self, TRUE, "NMSupplicantManager is disposing");
+    _supp_iface_remove_all(self, TRUE, "NMSupplicantManager is disposing");
 
-	nm_assert (c_list_is_empty (&priv->create_iface_lst_head));
+    nm_assert(c_list_is_empty(&priv->create_iface_lst_head));
 
-	nm_clear_g_source (&priv->available_reset_id);
+    nm_clear_g_source(&priv->available_reset_id);
 
-	priv->available = NM_TERNARY_FALSE;
-	nm_clear_pointer (&priv->name_owner, nm_ref_string_unref);
+    priv->available = NM_TERNARY_FALSE;
+    nm_clear_pointer(&priv->name_owner, nm_ref_string_unref);
 
-	nm_clear_g_source (&priv->poke_name_owner_timeout_id);
-	nm_clear_g_cancellable (&priv->poke_name_owner_cancellable);
+    nm_clear_g_source(&priv->poke_name_owner_timeout_id);
+    nm_clear_g_cancellable(&priv->poke_name_owner_cancellable);
 
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->interface_removed_id);
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->name_owner_changed_id);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->interface_removed_id);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->name_owner_changed_id);
 
-	nm_clear_g_cancellable (&priv->get_name_owner_cancellable);
-	nm_clear_g_cancellable (&priv->get_capabilities_cancellable);
+    nm_clear_g_cancellable(&priv->get_name_owner_cancellable);
+    nm_clear_g_cancellable(&priv->get_capabilities_cancellable);
 
-	G_OBJECT_CLASS (nm_supplicant_manager_parent_class)->dispose (object);
+    G_OBJECT_CLASS(nm_supplicant_manager_parent_class)->dispose(object);
 
-	g_clear_object (&priv->dbus_connection);
+    g_clear_object(&priv->dbus_connection);
 
-	nm_clear_pointer (&priv->supp_ifaces, g_hash_table_destroy);
+    nm_clear_pointer(&priv->supp_ifaces, g_hash_table_destroy);
 }
 
 static void
-nm_supplicant_manager_class_init (NMSupplicantManagerClass *klass)
+nm_supplicant_manager_class_init(NMSupplicantManagerClass *klass)
 {
-	GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
-	object_class->dispose = dispose;
-
-	signals[AVAILABLE_CHANGED] =
-	    g_signal_new (NM_SUPPLICANT_MANAGER_AVAILABLE_CHANGED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_LAST,
-	                  0, NULL, NULL, NULL,
-	                  G_TYPE_NONE, 0);
+    GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+    object_class->dispose = dispose;
+
+    signals[AVAILABLE_CHANGED] = g_signal_new(NM_SUPPLICANT_MANAGER_AVAILABLE_CHANGED,
+                                              G_OBJECT_CLASS_TYPE(object_class),
+                                              G_SIGNAL_RUN_LAST,
+                                              0,
+                                              NULL,
+                                              NULL,
+                                              NULL,
+                                              G_TYPE_NONE,
+                                              0);
 }
diff --git a/src/supplicant/nm-supplicant-manager.h b/src/supplicant/nm-supplicant-manager.h
index b2b814aa..aaeb41e6 100644
--- a/src/supplicant/nm-supplicant-manager.h
+++ b/src/supplicant/nm-supplicant-manager.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2006 - 2008 Red Hat, Inc.
  * Copyright (C) 2007 - 2008 Novell, Inc.
@@ -10,56 +10,61 @@
 #include "nm-supplicant-types.h"
 #include "devices/nm-device.h"
 
-#define NM_TYPE_SUPPLICANT_MANAGER              (nm_supplicant_manager_get_type ())
-#define NM_SUPPLICANT_MANAGER(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManager))
-#define NM_SUPPLICANT_MANAGER_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass),  NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManagerClass))
-#define NM_IS_SUPPLICANT_MANAGER(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SUPPLICANT_MANAGER))
-#define NM_IS_SUPPLICANT_MANAGER_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass),  NM_TYPE_SUPPLICANT_MANAGER))
-#define NM_SUPPLICANT_MANAGER_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj),  NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManagerClass))
+#define NM_TYPE_SUPPLICANT_MANAGER (nm_supplicant_manager_get_type())
+#define NM_SUPPLICANT_MANAGER(obj) \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManager))
+#define NM_SUPPLICANT_MANAGER_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManagerClass))
+#define NM_IS_SUPPLICANT_MANAGER(obj) \
+    (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_SUPPLICANT_MANAGER))
+#define NM_IS_SUPPLICANT_MANAGER_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_SUPPLICANT_MANAGER))
+#define NM_SUPPLICANT_MANAGER_GET_CLASS(obj) \
+    (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManagerClass))
 
 #define NM_SUPPLICANT_MANAGER_AVAILABLE_CHANGED "available-changed"
 
 typedef struct _NMSupplicantManagerClass NMSupplicantManagerClass;
 
-GType nm_supplicant_manager_get_type (void);
+GType nm_supplicant_manager_get_type(void);
 
-NMSupplicantManager *nm_supplicant_manager_get (void);
+NMSupplicantManager *nm_supplicant_manager_get(void);
 
-NMTernary nm_supplicant_manager_is_available (NMSupplicantManager *self);
+NMTernary nm_supplicant_manager_is_available(NMSupplicantManager *self);
 
-GDBusConnection *nm_supplicant_manager_get_dbus_connection (NMSupplicantManager *self);
-NMRefString *nm_supplicant_manager_get_dbus_name_owner (NMSupplicantManager *self);
-NMSupplCapMask nm_supplicant_manager_get_global_capabilities (NMSupplicantManager *self);
+GDBusConnection *nm_supplicant_manager_get_dbus_connection(NMSupplicantManager *self);
+NMRefString *    nm_supplicant_manager_get_dbus_name_owner(NMSupplicantManager *self);
+NMSupplCapMask   nm_supplicant_manager_get_global_capabilities(NMSupplicantManager *self);
 
-void nm_supplicant_manager_set_wfd_ies (NMSupplicantManager *self,
-                                        GBytes *wfd_ies);
+void nm_supplicant_manager_set_wfd_ies(NMSupplicantManager *self, GBytes *wfd_ies);
 
 typedef struct _NMSupplMgrCreateIfaceHandle NMSupplMgrCreateIfaceHandle;
 
-typedef void (*NMSupplicantManagerCreateInterfaceCb) (NMSupplicantManager *self,
-                                                      NMSupplMgrCreateIfaceHandle *handle,
-                                                      NMSupplicantInterface *iface,
-                                                      GError *error,
-                                                      gpointer user_data);
+typedef void (*NMSupplicantManagerCreateInterfaceCb)(NMSupplicantManager *        self,
+                                                     NMSupplMgrCreateIfaceHandle *handle,
+                                                     NMSupplicantInterface *      iface,
+                                                     GError *                     error,
+                                                     gpointer                     user_data);
 
-NMSupplMgrCreateIfaceHandle *nm_supplicant_manager_create_interface (NMSupplicantManager *self,
-                                                                     int ifindex,
-                                                                     NMSupplicantDriver driver,
-                                                                     NMSupplicantManagerCreateInterfaceCb callback,
-                                                                     gpointer user_data);
+NMSupplMgrCreateIfaceHandle *
+nm_supplicant_manager_create_interface(NMSupplicantManager *                self,
+                                       int                                  ifindex,
+                                       NMSupplicantDriver                   driver,
+                                       NMSupplicantManagerCreateInterfaceCb callback,
+                                       gpointer                             user_data);
 
-void nm_supplicant_manager_create_interface_cancel (NMSupplMgrCreateIfaceHandle *handle);
+void nm_supplicant_manager_create_interface_cancel(NMSupplMgrCreateIfaceHandle *handle);
 
-NMSupplicantInterface *nm_supplicant_manager_create_interface_from_path (NMSupplicantManager *self,
-                                                                         const char *object_path);
+NMSupplicantInterface *nm_supplicant_manager_create_interface_from_path(NMSupplicantManager *self,
+                                                                        const char *object_path);
 
 /*****************************************************************************/
 
-void _nm_supplicant_manager_unregister_interface (NMSupplicantManager *self,
-                                                  NMSupplicantInterface *supp_iface);
+void _nm_supplicant_manager_unregister_interface(NMSupplicantManager *  self,
+                                                 NMSupplicantInterface *supp_iface);
 
-void _nm_supplicant_manager_dbus_call_remove_interface (NMSupplicantManager *self,
-                                                        const char *name_owner,
-                                                        const char *iface_path);
+void _nm_supplicant_manager_dbus_call_remove_interface(NMSupplicantManager *self,
+                                                       const char *         name_owner,
+                                                       const char *         iface_path);
 
 #endif /* __NETWORKMANAGER_SUPPLICANT_MANAGER_H__ */
diff --git a/src/supplicant/nm-supplicant-settings-verify.c b/src/supplicant/nm-supplicant-settings-verify.c
index 954a4649..c7209f5f 100644
--- a/src/supplicant/nm-supplicant-settings-verify.c
+++ b/src/supplicant/nm-supplicant-settings-verify.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2006 - 2012 Red Hat, Inc.
  */
@@ -11,318 +11,289 @@
 #include <stdlib.h>
 
 struct Opt {
-	const char *key;
-	const char *const*str_allowed;
-	const NMSupplOptType type;
-	const guint32 int_low;  /* Inclusive */
-	const guint32 int_high; /* Inclusive; max length for strings */
+    const char *         key;
+    const char *const *  str_allowed;
+    const NMSupplOptType type;
+    const guint32        int_low;  /* Inclusive */
+    const guint32        int_high; /* Inclusive; max length for strings */
 };
 
-typedef gboolean (*validate_func) (const struct Opt *, const char *, const guint32);
-
-#define OPT_INT(    _key, _int_low, _int_high) { .key = _key, .type = NM_SUPPL_OPT_TYPE_INT,     .int_high = _int_high, .int_low = _int_low, }
-#define OPT_BYTES(  _key,           _int_high) { .key = _key, .type = NM_SUPPL_OPT_TYPE_BYTES,   .int_high = _int_high,                      }
-#define OPT_UTF8(   _key,           _int_high) { .key = _key, .type = NM_SUPPL_OPT_TYPE_UTF8,    .int_high = _int_high,                      }
-#define OPT_KEYWORD(_key, _str_allowed)        { .key = _key, .type = NM_SUPPL_OPT_TYPE_KEYWORD, .str_allowed = _str_allowed,                }
+typedef gboolean (*validate_func)(const struct Opt *, const char *, const guint32);
+
+#define OPT_INT(_key, _int_low, _int_high)                                                      \
+    {                                                                                           \
+        .key = _key, .type = NM_SUPPL_OPT_TYPE_INT, .int_high = _int_high, .int_low = _int_low, \
+    }
+#define OPT_BYTES(_key, _int_high)                                           \
+    {                                                                        \
+        .key = _key, .type = NM_SUPPL_OPT_TYPE_BYTES, .int_high = _int_high, \
+    }
+#define OPT_UTF8(_key, _int_high)                                           \
+    {                                                                       \
+        .key = _key, .type = NM_SUPPL_OPT_TYPE_UTF8, .int_high = _int_high, \
+    }
+#define OPT_KEYWORD(_key, _str_allowed)                                              \
+    {                                                                                \
+        .key = _key, .type = NM_SUPPL_OPT_TYPE_KEYWORD, .str_allowed = _str_allowed, \
+    }
 
 static const struct Opt opt_table[] = {
-	OPT_BYTES   ("altsubject_match",      0),
-	OPT_BYTES   ("altsubject_match2",     0),
-	OPT_BYTES   ("anonymous_identity",    0),
-	OPT_KEYWORD ("auth_alg",              NM_MAKE_STRV (
-	                                        "OPEN",
-	                                        "SHARED",
-	                                        "LEAP",
-	                                      )),
-	OPT_BYTES   ("bgscan",                0),
-	OPT_KEYWORD ("bssid",                 NULL),
-	OPT_BYTES   ("ca_cert",               65536),
-	OPT_BYTES   ("ca_cert2",              65536),
-	OPT_BYTES   ("ca_path",               0),
-	OPT_BYTES   ("ca_path2",              0),
-	OPT_BYTES   ("client_cert",           65536),
-	OPT_BYTES   ("client_cert2",          65536),
-	OPT_BYTES   ("domain_match",          0),
-	OPT_BYTES   ("domain_match2",         0),
-	OPT_BYTES   ("domain_suffix_match",   0),
-	OPT_BYTES   ("domain_suffix_match2",  0),
-	OPT_KEYWORD ("eap",                   NM_MAKE_STRV (
-	                                        "LEAP",
-	                                        "MD5",
-	                                        "TLS",
-	                                        "PEAP",
-	                                        "TTLS",
-	                                        "SIM",
-	                                        "PSK",
-	                                        "FAST",
-	                                        "PWD",
-	                                      )),
-	OPT_INT     ("eapol_flags",           0, 3),
-	OPT_BYTES   ("eappsk",                0),
-	OPT_INT     ("engine",                0, 1),
-	OPT_BYTES   ("engine_id",             0),
-	OPT_INT     ("fragment_size",         1, 2000),
-	OPT_KEYWORD ("freq_list",             NULL),
-	OPT_INT     ("frequency",             2412, 5825),
-	OPT_KEYWORD ("group",                 NM_MAKE_STRV (
-	                                        "CCMP",
-	                                        "TKIP",
-	                                        "WEP104",
-	                                        "WEP40",
-	                                      )),
-	OPT_BYTES   ("identity",              0),
-	OPT_INT     ("ieee80211w",            0, 2),
-	OPT_INT     ("ignore_broadcast_ssid", 0, 2),
-	OPT_BYTES   ("key_id",                0),
-	OPT_KEYWORD ("key_mgmt",              NM_MAKE_STRV (
-	                                        "WPA-PSK",
-	                                        "WPA-PSK-SHA256",
-	                                        "FT-PSK",
-	                                        "WPA-EAP",
-	                                        "WPA-EAP-SHA256",
-	                                        "FT-EAP",
-	                                        "FT-EAP-SHA384",
-	                                        "FILS-SHA256",
-	                                        "FILS-SHA384",
-	                                        "FT-FILS-SHA256",
-	                                        "FT-FILS-SHA384",
-	                                        "IEEE8021X",
-	                                        "SAE",
-	                                        "FT-SAE",
-	                                        "OWE",
-	                                        "NONE",
-	                                      )),
-	OPT_INT     ("macsec_integ_only",     0, 1),
-	OPT_INT     ("macsec_policy",         0, 1),
-	OPT_INT     ("macsec_port",           1, 65534),
-	OPT_BYTES   ("mka_cak",               65536),
-	OPT_BYTES   ("mka_ckn",               65536),
-	OPT_BYTES   ("nai",                   0),
-	OPT_BYTES   ("pac_file",              0),
-	OPT_KEYWORD ("pairwise",              NM_MAKE_STRV (
-	                                        "CCMP",
-	                                        "TKIP",
-	                                        "NONE",
-	                                      )),
-	OPT_UTF8    ("password",              0),
-	OPT_BYTES   ("pcsc",                  0),
-	OPT_KEYWORD ("phase1",                NM_MAKE_STRV (
-	                                        "peapver=0",
-	                                        "peapver=1",
-	                                        "peaplabel=1",
-	                                        "peap_outer_success=0",
-	                                        "include_tls_length=1",
-	                                        "sim_min_num_chal=3",
-	                                        "fast_provisioning=0",
-	                                        "fast_provisioning=1",
-	                                        "fast_provisioning=2",
-	                                        "fast_provisioning=3",
-	                                        "tls_disable_tlsv1_0=0",
-	                                        "tls_disable_tlsv1_0=1",
-	                                        "tls_disable_tlsv1_1=0",
-	                                        "tls_disable_tlsv1_1=1",
-	                                        "tls_disable_tlsv1_2=0",
-	                                        "tls_disable_tlsv1_2=1",
-	                                      )),
-	OPT_KEYWORD ("phase2",                NM_MAKE_STRV (
-	                                        "auth=PAP",
-	                                        "auth=CHAP",
-	                                        "auth=MSCHAP",
-	                                        "auth=MSCHAPV2",
-	                                        "auth=GTC",
-	                                        "auth=OTP",
-	                                        "auth=MD5",
-	                                        "auth=TLS",
-	                                        "autheap=MD5",
-	                                        "autheap=MSCHAPV2",
-	                                        "autheap=OTP",
-	                                        "autheap=GTC",
-	                                        "autheap=TLS",
-	                                      )),
-	OPT_BYTES   ("pin",                   0),
-	OPT_BYTES   ("private_key",           65536),
-	OPT_BYTES   ("private_key2",          65536),
-	OPT_BYTES   ("private_key2_passwd",   1024),
-	OPT_BYTES   ("private_key_passwd",    1024),
-	OPT_INT     ("proactive_key_caching", 0, 1),
-	OPT_KEYWORD ("proto",                 NM_MAKE_STRV (
-	                                        "WPA",
-	                                        "RSN",
-	                                      )),
-	OPT_BYTES   ("psk",                   0),
-	OPT_INT     ("scan_ssid",             0, 1),
-	OPT_BYTES   ("ssid",                  32),
-	OPT_BYTES   ("subject_match",         0),
-	OPT_BYTES   ("subject_match2",        0),
-	OPT_BYTES   ("wep_key0",              0),
-	OPT_BYTES   ("wep_key1",              0),
-	OPT_BYTES   ("wep_key2",              0),
-	OPT_BYTES   ("wep_key3",              0),
-	OPT_INT     ("wep_tx_keyidx",         0, 3),
+    OPT_BYTES("altsubject_match", 0),
+    OPT_BYTES("altsubject_match2", 0),
+    OPT_BYTES("anonymous_identity", 0),
+    OPT_KEYWORD("auth_alg", NM_MAKE_STRV("OPEN", "SHARED", "LEAP", )),
+    OPT_BYTES("bgscan", 0),
+    OPT_KEYWORD("bssid", NULL),
+    OPT_BYTES("ca_cert", 65536),
+    OPT_BYTES("ca_cert2", 65536),
+    OPT_BYTES("ca_path", 0),
+    OPT_BYTES("ca_path2", 0),
+    OPT_BYTES("client_cert", 65536),
+    OPT_BYTES("client_cert2", 65536),
+    OPT_BYTES("domain_match", 0),
+    OPT_BYTES("domain_match2", 0),
+    OPT_BYTES("domain_suffix_match", 0),
+    OPT_BYTES("domain_suffix_match2", 0),
+    OPT_KEYWORD("eap",
+                NM_MAKE_STRV("LEAP", "MD5", "TLS", "PEAP", "TTLS", "SIM", "PSK", "FAST", "PWD", )),
+    OPT_INT("eapol_flags", 0, 3),
+    OPT_BYTES("eappsk", 0),
+    OPT_INT("engine", 0, 1),
+    OPT_BYTES("engine_id", 0),
+    OPT_INT("fragment_size", 1, 2000),
+    OPT_KEYWORD("freq_list", NULL),
+    OPT_INT("frequency", 2412, 5825),
+    OPT_KEYWORD("group", NM_MAKE_STRV("CCMP", "TKIP", "WEP104", "WEP40", )),
+    OPT_BYTES("identity", 0),
+    OPT_INT("ieee80211w", 0, 2),
+    OPT_INT("ignore_broadcast_ssid", 0, 2),
+    OPT_BYTES("key_id", 0),
+    OPT_KEYWORD("key_mgmt",
+                NM_MAKE_STRV("WPA-PSK",
+                             "WPA-PSK-SHA256",
+                             "FT-PSK",
+                             "WPA-EAP",
+                             "WPA-EAP-SHA256",
+                             "FT-EAP",
+                             "FT-EAP-SHA384",
+                             "FILS-SHA256",
+                             "FILS-SHA384",
+                             "FT-FILS-SHA256",
+                             "FT-FILS-SHA384",
+                             "IEEE8021X",
+                             "SAE",
+                             "FT-SAE",
+                             "OWE",
+                             "NONE", )),
+    OPT_INT("macsec_integ_only", 0, 1),
+    OPT_INT("macsec_policy", 0, 1),
+    OPT_INT("macsec_port", 1, 65534),
+    OPT_BYTES("mka_cak", 65536),
+    OPT_BYTES("mka_ckn", 65536),
+    OPT_BYTES("nai", 0),
+    OPT_BYTES("pac_file", 0),
+    OPT_KEYWORD("pairwise", NM_MAKE_STRV("CCMP", "TKIP", "NONE", )),
+    OPT_UTF8("password", 0),
+    OPT_BYTES("pcsc", 0),
+    OPT_KEYWORD("phase1",
+                NM_MAKE_STRV("peapver=0",
+                             "peapver=1",
+                             "peaplabel=1",
+                             "peap_outer_success=0",
+                             "include_tls_length=1",
+                             "sim_min_num_chal=3",
+                             "fast_provisioning=0",
+                             "fast_provisioning=1",
+                             "fast_provisioning=2",
+                             "fast_provisioning=3",
+                             "tls_disable_tlsv1_0=0",
+                             "tls_disable_tlsv1_0=1",
+                             "tls_disable_tlsv1_1=0",
+                             "tls_disable_tlsv1_1=1",
+                             "tls_disable_tlsv1_2=0",
+                             "tls_disable_tlsv1_2=1", )),
+    OPT_KEYWORD("phase2",
+                NM_MAKE_STRV("auth=PAP",
+                             "auth=CHAP",
+                             "auth=MSCHAP",
+                             "auth=MSCHAPV2",
+                             "auth=GTC",
+                             "auth=OTP",
+                             "auth=MD5",
+                             "auth=TLS",
+                             "autheap=MD5",
+                             "autheap=MSCHAPV2",
+                             "autheap=OTP",
+                             "autheap=GTC",
+                             "autheap=TLS", )),
+    OPT_BYTES("pin", 0),
+    OPT_BYTES("private_key", 65536),
+    OPT_BYTES("private_key2", 65536),
+    OPT_BYTES("private_key2_passwd", 1024),
+    OPT_BYTES("private_key_passwd", 1024),
+    OPT_INT("proactive_key_caching", 0, 1),
+    OPT_KEYWORD("proto", NM_MAKE_STRV("WPA", "RSN", )),
+    OPT_BYTES("psk", 0),
+    OPT_INT("scan_ssid", 0, 1),
+    OPT_BYTES("ssid", 32),
+    OPT_BYTES("subject_match", 0),
+    OPT_BYTES("subject_match2", 0),
+    OPT_BYTES("wep_key0", 0),
+    OPT_BYTES("wep_key1", 0),
+    OPT_BYTES("wep_key2", 0),
+    OPT_BYTES("wep_key3", 0),
+    OPT_INT("wep_tx_keyidx", 0, 3),
 };
 
 static gboolean
-validate_type_int (const struct Opt * opt,
-                   const char * value,
-                   const guint32 len)
+validate_type_int(const struct Opt *opt, const char *value, const guint32 len)
 {
-	gint64 v;
+    gint64 v;
 
-	nm_assert (opt);
-	nm_assert (value);
+    nm_assert(opt);
+    nm_assert(value);
 
-	v = _nm_utils_ascii_str_to_int64 (value, 10, opt->int_low, opt->int_high, G_MININT64);
-	return v != G_MININT64 || errno == 0;
+    v = _nm_utils_ascii_str_to_int64(value, 10, opt->int_low, opt->int_high, G_MININT64);
+    return v != G_MININT64 || errno == 0;
 }
 
 static gboolean
-validate_type_bytes (const struct Opt * opt,
-                     const char * value,
-                     const guint32 len)
+validate_type_bytes(const struct Opt *opt, const char *value, const guint32 len)
 {
-	guint32 check_len;
+    guint32 check_len;
 
-	nm_assert (opt);
-	nm_assert (value);
+    nm_assert(opt);
+    nm_assert(value);
 
-	check_len = opt->int_high ?: 255;
-	if (len > check_len)
-		return FALSE;
+    check_len = opt->int_high ?: 255;
+    if (len > check_len)
+        return FALSE;
 
-	return TRUE;
+    return TRUE;
 }
 
 static gboolean
-validate_type_utf8 (const struct Opt *opt,
-                    const char * value,
-                    const guint32 len)
+validate_type_utf8(const struct Opt *opt, const char *value, const guint32 len)
 {
-	guint32 check_len;
+    guint32 check_len;
 
-	nm_assert (opt);
-	nm_assert (value);
+    nm_assert(opt);
+    nm_assert(value);
 
-	check_len = opt->int_high ?: 255;
-	/* Note that we deliberately don't validate the UTF-8, because
-	   some "UTF-8" fields, such as 8021x.password, do not actually
-	   have to be valid UTF-8 */
-	if (g_utf8_strlen (value, len) > check_len)
-		return FALSE;
+    check_len = opt->int_high ?: 255;
+    /* Note that we deliberately don't validate the UTF-8, because
+     * some "UTF-8" fields, such as 8021x.password, do not actually
+     * have to be valid UTF-8 */
+    if (g_utf8_strlen(value, len) > check_len)
+        return FALSE;
 
-	return TRUE;
+    return TRUE;
 }
 
 static gboolean
-validate_type_keyword (const struct Opt * opt,
-                       const char * value,
-                       const guint32 len)
+validate_type_keyword(const struct Opt *opt, const char *value, const guint32 len)
 {
-	gs_free char *value_free = NULL;
+    gs_free char *value_free = NULL;
 
-	nm_assert (opt);
-	nm_assert (value);
+    nm_assert(opt);
+    nm_assert(value);
 
-	/* Allow everything */
-	if (!opt->str_allowed)
-		return TRUE;
+    /* Allow everything */
+    if (!opt->str_allowed)
+        return TRUE;
 
-	value = nm_strndup_a (300, value, len, &value_free);
+    value = nm_strndup_a(300, value, len, &value_free);
 
-	/* validate each space-separated word in 'value' */
+    /* validate each space-separated word in 'value' */
 
-	while (TRUE) {
-		char *s;
+    while (TRUE) {
+        char *s;
 
-		while (value[0] == ' ')
-			value++;
+        while (value[0] == ' ')
+            value++;
 
-		if (value[0] == '\0')
-			return TRUE;
+        if (value[0] == '\0')
+            return TRUE;
 
-		s = strchr (value, ' ');
-		if (s) {
-			s[0] = '\0';
-			s++;
-		}
+        s = strchr(value, ' ');
+        if (s) {
+            s[0] = '\0';
+            s++;
+        }
 
-		if (nm_utils_strv_find_first ((char **) opt->str_allowed, -1, value) < 0)
-			return FALSE;
+        if (nm_utils_strv_find_first((char **) opt->str_allowed, -1, value) < 0)
+            return FALSE;
 
-		if (!s)
-			return TRUE;
+        if (!s)
+            return TRUE;
 
-		value = s;
-	}
+        value = s;
+    }
 }
 
 NMSupplOptType
-nm_supplicant_settings_verify_setting (const char *key,
-                                       const char *value,
-                                       const guint32 len)
+nm_supplicant_settings_verify_setting(const char *key, const char *value, const guint32 len)
 {
-	static const validate_func validate_table[_NM_SUPPL_OPT_TYPE_NUM - 1] = {
-		[NM_SUPPL_OPT_TYPE_INT     - 1] = validate_type_int,
-		[NM_SUPPL_OPT_TYPE_BYTES   - 1] = validate_type_bytes,
-		[NM_SUPPL_OPT_TYPE_UTF8    - 1] = validate_type_utf8,
-		[NM_SUPPL_OPT_TYPE_KEYWORD - 1] = validate_type_keyword,
-	};
-	const struct Opt *opt;
-	gssize opt_idx;
-
-	g_return_val_if_fail (key, FALSE);
-	g_return_val_if_fail (value, FALSE);
-
-	if (NM_MORE_ASSERT_ONCE (5)) {
-		gsize i;
-
-		for (i = 0; i < G_N_ELEMENTS (opt_table); i++) {
-			opt = &opt_table[i];
-
-			nm_assert (opt->key);
-			nm_assert (opt->type > NM_SUPPL_OPT_TYPE_INVALID);
-			nm_assert (opt->type < _NM_SUPPL_OPT_TYPE_NUM);
-			if (i > 0)
-				nm_assert (strcmp (opt[-1].key, opt->key) < 0);
-			nm_assert (validate_table[opt->type - 1]);
-
-			nm_assert (   !opt->str_allowed
-			           || (opt->type == NM_SUPPL_OPT_TYPE_KEYWORD));
-			nm_assert (   !opt->str_allowed
-			           || NM_PTRARRAY_LEN (opt->str_allowed) > 0);
-
-			nm_assert (   opt->int_low == 0
-			           || opt->type == NM_SUPPL_OPT_TYPE_INT);
-
-			nm_assert (   opt->int_high == 0
-			           || NM_IN_SET (opt->type, NM_SUPPL_OPT_TYPE_INT,
-			                                    NM_SUPPL_OPT_TYPE_UTF8,
-			                                    NM_SUPPL_OPT_TYPE_BYTES));
-
-			nm_assert (   opt->type != NM_SUPPL_OPT_TYPE_INT
-			           || opt->int_low < opt->int_high);
-		}
-	}
-
-	opt_idx = nm_utils_array_find_binary_search (opt_table,
-	                                             sizeof (opt_table[0]),
-	                                             G_N_ELEMENTS (opt_table),
-	                                             &key,
-	                                             nm_strcmp_p_with_data,
-	                                             NULL);
-	if (opt_idx < 0) {
-		if (nm_streq (key, "mode")) {
-			if (len != 1)
-				return NM_SUPPL_OPT_TYPE_INVALID;
-			if (!NM_IN_SET (value[0], '1', '2', '5'))
-				return NM_SUPPL_OPT_TYPE_INVALID;
-			return NM_SUPPL_OPT_TYPE_INT;
-		}
-		return NM_SUPPL_OPT_TYPE_INVALID;
-	}
-
-	opt = &opt_table[opt_idx];
-	if (!((validate_table[opt->type - 1]) (opt, value, len)))
-		return NM_SUPPL_OPT_TYPE_INVALID;
-
-	return opt->type;
+    static const validate_func validate_table[_NM_SUPPL_OPT_TYPE_NUM - 1] = {
+        [NM_SUPPL_OPT_TYPE_INT - 1]     = validate_type_int,
+        [NM_SUPPL_OPT_TYPE_BYTES - 1]   = validate_type_bytes,
+        [NM_SUPPL_OPT_TYPE_UTF8 - 1]    = validate_type_utf8,
+        [NM_SUPPL_OPT_TYPE_KEYWORD - 1] = validate_type_keyword,
+    };
+    const struct Opt *opt;
+    gssize            opt_idx;
+
+    g_return_val_if_fail(key, FALSE);
+    g_return_val_if_fail(value, FALSE);
+
+    if (NM_MORE_ASSERT_ONCE(5)) {
+        gsize i;
+
+        for (i = 0; i < G_N_ELEMENTS(opt_table); i++) {
+            opt = &opt_table[i];
+
+            nm_assert(opt->key);
+            nm_assert(opt->type > NM_SUPPL_OPT_TYPE_INVALID);
+            nm_assert(opt->type < _NM_SUPPL_OPT_TYPE_NUM);
+            if (i > 0)
+                nm_assert(strcmp(opt[-1].key, opt->key) < 0);
+            nm_assert(validate_table[opt->type - 1]);
+
+            nm_assert(!opt->str_allowed || (opt->type == NM_SUPPL_OPT_TYPE_KEYWORD));
+            nm_assert(!opt->str_allowed || NM_PTRARRAY_LEN(opt->str_allowed) > 0);
+
+            nm_assert(opt->int_low == 0 || opt->type == NM_SUPPL_OPT_TYPE_INT);
+
+            nm_assert(opt->int_high == 0
+                      || NM_IN_SET(opt->type,
+                                   NM_SUPPL_OPT_TYPE_INT,
+                                   NM_SUPPL_OPT_TYPE_UTF8,
+                                   NM_SUPPL_OPT_TYPE_BYTES));
+
+            nm_assert(opt->type != NM_SUPPL_OPT_TYPE_INT || opt->int_low < opt->int_high);
+        }
+    }
+
+    opt_idx = nm_utils_array_find_binary_search(opt_table,
+                                                sizeof(opt_table[0]),
+                                                G_N_ELEMENTS(opt_table),
+                                                &key,
+                                                nm_strcmp_p_with_data,
+                                                NULL);
+    if (opt_idx < 0) {
+        if (nm_streq(key, "mode")) {
+            if (len != 1)
+                return NM_SUPPL_OPT_TYPE_INVALID;
+            if (!NM_IN_SET(value[0], '1', '2', '5'))
+                return NM_SUPPL_OPT_TYPE_INVALID;
+            return NM_SUPPL_OPT_TYPE_INT;
+        }
+        return NM_SUPPL_OPT_TYPE_INVALID;
+    }
+
+    opt = &opt_table[opt_idx];
+    if (!((validate_table[opt->type - 1])(opt, value, len)))
+        return NM_SUPPL_OPT_TYPE_INVALID;
+
+    return opt->type;
 }
diff --git a/src/supplicant/nm-supplicant-settings-verify.h b/src/supplicant/nm-supplicant-settings-verify.h
index d804a97e..8a0c62c2 100644
--- a/src/supplicant/nm-supplicant-settings-verify.h
+++ b/src/supplicant/nm-supplicant-settings-verify.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2006 - 2008 Red Hat, Inc.
  */
@@ -7,17 +7,16 @@
 #define __NETWORKMANAGER_SUPPLICANT_SETTINGS_VERIFY_H__
 
 typedef enum {
-	NM_SUPPL_OPT_TYPE_INVALID = 0,
-	NM_SUPPL_OPT_TYPE_INT,
-	NM_SUPPL_OPT_TYPE_BYTES,
-	NM_SUPPL_OPT_TYPE_UTF8,
-	NM_SUPPL_OPT_TYPE_KEYWORD,
-	NM_SUPPL_OPT_TYPE_STRING,
-	_NM_SUPPL_OPT_TYPE_NUM,
+    NM_SUPPL_OPT_TYPE_INVALID = 0,
+    NM_SUPPL_OPT_TYPE_INT,
+    NM_SUPPL_OPT_TYPE_BYTES,
+    NM_SUPPL_OPT_TYPE_UTF8,
+    NM_SUPPL_OPT_TYPE_KEYWORD,
+    NM_SUPPL_OPT_TYPE_STRING,
+    _NM_SUPPL_OPT_TYPE_NUM,
 } NMSupplOptType;
 
-NMSupplOptType nm_supplicant_settings_verify_setting (const char *key,
-                                                      const char *value,
-                                                      const guint32 len);
+NMSupplOptType
+nm_supplicant_settings_verify_setting(const char *key, const char *value, const guint32 len);
 
 #endif /* __NETWORKMANAGER_SUPPLICANT_SETTINGS_VERIFY_H__ */
diff --git a/src/supplicant/nm-supplicant-types.h b/src/supplicant/nm-supplicant-types.h
index 734ff156..dc1e3c35 100644
--- a/src/supplicant/nm-supplicant-types.h
+++ b/src/supplicant/nm-supplicant-types.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2006 - 2008 Red Hat, Inc.
  */
@@ -8,111 +8,109 @@
 
 #include "c-list/src/c-list.h"
 
-#define NM_WPAS_DBUS_SERVICE       "fi.w1.wpa_supplicant1"
-#define NM_WPAS_DBUS_PATH          "/fi/w1/wpa_supplicant1"
-#define NM_WPAS_DBUS_INTERFACE     "fi.w1.wpa_supplicant1"
+#define NM_WPAS_DBUS_SERVICE   "fi.w1.wpa_supplicant1"
+#define NM_WPAS_DBUS_PATH      "/fi/w1/wpa_supplicant1"
+#define NM_WPAS_DBUS_INTERFACE "fi.w1.wpa_supplicant1"
 
 #if HAVE_WEXT
-#define NM_WPAS_DEFAULT_WIFI_DRIVER "nl80211,wext"
+    #define NM_WPAS_DEFAULT_WIFI_DRIVER "nl80211,wext"
 #else
-#define NM_WPAS_DEFAULT_WIFI_DRIVER "nl80211"
+    #define NM_WPAS_DEFAULT_WIFI_DRIVER "nl80211"
 #endif
 
-#define NM_WPAS_DBUS_IFACE_INTERFACE             NM_WPAS_DBUS_INTERFACE ".Interface"
-#define NM_WPAS_DBUS_IFACE_INTERFACE_WPS         NM_WPAS_DBUS_INTERFACE ".Interface.WPS"
-#define NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE  NM_WPAS_DBUS_INTERFACE ".Interface.P2PDevice"
-#define NM_WPAS_DBUS_IFACE_BSS                   NM_WPAS_DBUS_INTERFACE ".BSS"
-#define NM_WPAS_DBUS_IFACE_PEER                  NM_WPAS_DBUS_INTERFACE ".Peer"
-#define NM_WPAS_DBUS_IFACE_GROUP                 NM_WPAS_DBUS_INTERFACE ".Group"
-#define NM_WPAS_DBUS_IFACE_NETWORK               NM_WPAS_DBUS_INTERFACE ".Network"
-#define NM_WPAS_ERROR_INVALID_IFACE              NM_WPAS_DBUS_INTERFACE ".InvalidInterface"
-#define NM_WPAS_ERROR_EXISTS_ERROR               NM_WPAS_DBUS_INTERFACE ".InterfaceExists"
-#define NM_WPAS_ERROR_UNKNOWN_IFACE              NM_WPAS_DBUS_INTERFACE ".InterfaceUnknown"
-
-typedef struct _NMSupplicantManager NMSupplicantManager;
+#define NM_WPAS_DBUS_IFACE_INTERFACE            NM_WPAS_DBUS_INTERFACE ".Interface"
+#define NM_WPAS_DBUS_IFACE_INTERFACE_WPS        NM_WPAS_DBUS_INTERFACE ".Interface.WPS"
+#define NM_WPAS_DBUS_IFACE_INTERFACE_P2P_DEVICE NM_WPAS_DBUS_INTERFACE ".Interface.P2PDevice"
+#define NM_WPAS_DBUS_IFACE_BSS                  NM_WPAS_DBUS_INTERFACE ".BSS"
+#define NM_WPAS_DBUS_IFACE_PEER                 NM_WPAS_DBUS_INTERFACE ".Peer"
+#define NM_WPAS_DBUS_IFACE_GROUP                NM_WPAS_DBUS_INTERFACE ".Group"
+#define NM_WPAS_DBUS_IFACE_NETWORK              NM_WPAS_DBUS_INTERFACE ".Network"
+#define NM_WPAS_ERROR_INVALID_IFACE             NM_WPAS_DBUS_INTERFACE ".InvalidInterface"
+#define NM_WPAS_ERROR_EXISTS_ERROR              NM_WPAS_DBUS_INTERFACE ".InterfaceExists"
+#define NM_WPAS_ERROR_UNKNOWN_IFACE             NM_WPAS_DBUS_INTERFACE ".InterfaceUnknown"
+
+typedef struct _NMSupplicantManager   NMSupplicantManager;
 typedef struct _NMSupplicantInterface NMSupplicantInterface;
-typedef struct _NMSupplicantConfig NMSupplicantConfig;
+typedef struct _NMSupplicantConfig    NMSupplicantConfig;
 
 /*****************************************************************************/
 
 typedef enum {
-	NM_SUPPL_CAP_TYPE_AP,
-	NM_SUPPL_CAP_TYPE_PMF,
-	NM_SUPPL_CAP_TYPE_FILS,
-	NM_SUPPL_CAP_TYPE_P2P,
-	NM_SUPPL_CAP_TYPE_FT,
-	NM_SUPPL_CAP_TYPE_SHA384,
-	NM_SUPPL_CAP_TYPE_MESH,
-	NM_SUPPL_CAP_TYPE_FAST,
-	NM_SUPPL_CAP_TYPE_WFD,
-	_NM_SUPPL_CAP_TYPE_NUM,
+    NM_SUPPL_CAP_TYPE_AP,
+    NM_SUPPL_CAP_TYPE_PMF,
+    NM_SUPPL_CAP_TYPE_FILS,
+    NM_SUPPL_CAP_TYPE_P2P,
+    NM_SUPPL_CAP_TYPE_FT,
+    NM_SUPPL_CAP_TYPE_SHA384,
+    NM_SUPPL_CAP_TYPE_MESH,
+    NM_SUPPL_CAP_TYPE_FAST,
+    NM_SUPPL_CAP_TYPE_WFD,
+    _NM_SUPPL_CAP_TYPE_NUM,
 } NMSupplCapType;
 
-#define NM_SUPPL_CAP_MASK_NO(type)   ((NMSupplCapMask) (1llu << ((type) * 2u)))
-#define NM_SUPPL_CAP_MASK_YES(type)  ((NMSupplCapMask) (2llu << ((type) * 2u)))
-#define NM_SUPPL_CAP_MASK_MASK(type) ((NMSupplCapMask) (3llu << ((type) * 2u)))
+#define NM_SUPPL_CAP_MASK_NO(type)   ((NMSupplCapMask)(1llu << ((type) *2u)))
+#define NM_SUPPL_CAP_MASK_YES(type)  ((NMSupplCapMask)(2llu << ((type) *2u)))
+#define NM_SUPPL_CAP_MASK_MASK(type) ((NMSupplCapMask)(3llu << ((type) *2u)))
 
 typedef enum {
-	NM_SUPPL_CAP_MASK_NONE = 0,
-	NM_SUPPL_CAP_MASK_ALL = ((1llu << (_NM_SUPPL_CAP_TYPE_NUM * 2)) - 1),
+    NM_SUPPL_CAP_MASK_NONE = 0,
+    NM_SUPPL_CAP_MASK_ALL  = ((1llu << (_NM_SUPPL_CAP_TYPE_NUM * 2)) - 1),
 
 /* usually it's bad to use macros to define enum values (because you cannot find them with ctags/cscope
  * anymore. In this case, still do it because the alternative is ugly too. */
-#define _NM_SUPPL_CAP_MASK_DEFINE(type) \
-	NM_SUPPL_CAP_MASK_T_##type##_NO   =   (1llu << ((NM_SUPPL_CAP_TYPE_##type) * 2u)), \
-	NM_SUPPL_CAP_MASK_T_##type##_YES  =   (2llu << ((NM_SUPPL_CAP_TYPE_##type) * 2u)), \
-	NM_SUPPL_CAP_MASK_T_##type##_MASK =   (3llu << ((NM_SUPPL_CAP_TYPE_##type) * 2u))
-	_NM_SUPPL_CAP_MASK_DEFINE (AP),
-	_NM_SUPPL_CAP_MASK_DEFINE (FAST),
-	_NM_SUPPL_CAP_MASK_DEFINE (PMF),
-	_NM_SUPPL_CAP_MASK_DEFINE (FILS),
-	_NM_SUPPL_CAP_MASK_DEFINE (P2P),
-	_NM_SUPPL_CAP_MASK_DEFINE (MESH),
-	_NM_SUPPL_CAP_MASK_DEFINE (WFD),
-	_NM_SUPPL_CAP_MASK_DEFINE (FT),
-	_NM_SUPPL_CAP_MASK_DEFINE (SHA384),
+#define _NM_SUPPL_CAP_MASK_DEFINE(type)                                              \
+    NM_SUPPL_CAP_MASK_T_##type##_NO   = (1llu << ((NM_SUPPL_CAP_TYPE_##type) * 2u)), \
+    NM_SUPPL_CAP_MASK_T_##type##_YES  = (2llu << ((NM_SUPPL_CAP_TYPE_##type) * 2u)), \
+    NM_SUPPL_CAP_MASK_T_##type##_MASK = (3llu << ((NM_SUPPL_CAP_TYPE_##type) * 2u))
+    _NM_SUPPL_CAP_MASK_DEFINE(AP),
+    _NM_SUPPL_CAP_MASK_DEFINE(FAST),
+    _NM_SUPPL_CAP_MASK_DEFINE(PMF),
+    _NM_SUPPL_CAP_MASK_DEFINE(FILS),
+    _NM_SUPPL_CAP_MASK_DEFINE(P2P),
+    _NM_SUPPL_CAP_MASK_DEFINE(MESH),
+    _NM_SUPPL_CAP_MASK_DEFINE(WFD),
+    _NM_SUPPL_CAP_MASK_DEFINE(FT),
+    _NM_SUPPL_CAP_MASK_DEFINE(SHA384),
 #undef _NM_SUPPL_CAP_MASK_DEFINE
 } NMSupplCapMask;
 
 static inline NMSupplCapMask
-NM_SUPPL_CAP_MASK_SET (NMSupplCapMask features, NMSupplCapType type, NMTernary value)
+NM_SUPPL_CAP_MASK_SET(NMSupplCapMask features, NMSupplCapType type, NMTernary value)
 {
-	nm_assert (_NM_INT_NOT_NEGATIVE (type));
-	nm_assert (type < _NM_SUPPL_CAP_TYPE_NUM);
-	nm_assert (NM_IN_SET (value, NM_TERNARY_DEFAULT,
-	                             NM_TERNARY_TRUE,
-	                             NM_TERNARY_FALSE));
-	nm_assert (!(features & ~NM_SUPPL_CAP_MASK_ALL));
-
-	features &= ~NM_SUPPL_CAP_MASK_MASK (type);
-	switch (value) {
-	case NM_TERNARY_FALSE:
-		features |= NM_SUPPL_CAP_MASK_NO (type);
-		break;
-	case NM_TERNARY_TRUE:
-		features |= NM_SUPPL_CAP_MASK_YES (type);
-		break;
-	case NM_TERNARY_DEFAULT:
-		break;
-	}
-
-	return features;
+    nm_assert(_NM_INT_NOT_NEGATIVE(type));
+    nm_assert(type < _NM_SUPPL_CAP_TYPE_NUM);
+    nm_assert(NM_IN_SET(value, NM_TERNARY_DEFAULT, NM_TERNARY_TRUE, NM_TERNARY_FALSE));
+    nm_assert(!(features & ~NM_SUPPL_CAP_MASK_ALL));
+
+    features &= ~NM_SUPPL_CAP_MASK_MASK(type);
+    switch (value) {
+    case NM_TERNARY_FALSE:
+        features |= NM_SUPPL_CAP_MASK_NO(type);
+        break;
+    case NM_TERNARY_TRUE:
+        features |= NM_SUPPL_CAP_MASK_YES(type);
+        break;
+    case NM_TERNARY_DEFAULT:
+        break;
+    }
+
+    return features;
 }
 
 static inline NMTernary
-NM_SUPPL_CAP_MASK_GET (NMSupplCapMask features, NMSupplCapType type)
+NM_SUPPL_CAP_MASK_GET(NMSupplCapMask features, NMSupplCapType type)
 {
-	int f;
+    int f;
 
-	nm_assert (_NM_INT_NOT_NEGATIVE (type));
-	nm_assert (type < _NM_SUPPL_CAP_TYPE_NUM);
-	nm_assert (!(features & ~NM_SUPPL_CAP_MASK_ALL));
+    nm_assert(_NM_INT_NOT_NEGATIVE(type));
+    nm_assert(type < _NM_SUPPL_CAP_TYPE_NUM);
+    nm_assert(!(features & ~NM_SUPPL_CAP_MASK_ALL));
 
-	f = ((int) (features >> (2 * (int) type))) & 0x3;
+    f = ((int) (features >> (2 * (int) type))) & 0x3;
 
-	nm_assert (NM_IN_SET (f, 0, 1, 2));
+    nm_assert(NM_IN_SET(f, 0, 1, 2));
 
-	return (NMTernary) (f - 1);
+    return (NMTernary)(f - 1);
 }
 
 /*****************************************************************************/
@@ -124,81 +122,81 @@ NM_SUPPL_CAP_MASK_GET (NMSupplCapMask features, NMSupplCapType type)
  *   wpa-supplicant configuration.
  */
 typedef enum {
-	NM_SUPPLICANT_ERROR_UNKNOWN = 0,                    /*< nick=Unknown >*/
-	NM_SUPPLICANT_ERROR_CONFIG = 1,                     /*< nick=Config >*/
+    NM_SUPPLICANT_ERROR_UNKNOWN = 0, /*< nick=Unknown >*/
+    NM_SUPPLICANT_ERROR_CONFIG  = 1, /*< nick=Config >*/
 } NMSupplicantError;
 
 typedef enum {
-	NM_SUPPLICANT_DRIVER_UNKNOWN,
-	NM_SUPPLICANT_DRIVER_WIRELESS,
-	NM_SUPPLICANT_DRIVER_WIRED,
-	NM_SUPPLICANT_DRIVER_MACSEC,
+    NM_SUPPLICANT_DRIVER_UNKNOWN,
+    NM_SUPPLICANT_DRIVER_WIRELESS,
+    NM_SUPPLICANT_DRIVER_WIRED,
+    NM_SUPPLICANT_DRIVER_MACSEC,
 } NMSupplicantDriver;
 
-const char *nm_supplicant_driver_to_string (NMSupplicantDriver driver);
+const char *nm_supplicant_driver_to_string(NMSupplicantDriver driver);
 
-#define NM_SUPPLICANT_ERROR (nm_supplicant_error_quark ())
-GQuark nm_supplicant_error_quark (void);
+#define NM_SUPPLICANT_ERROR (nm_supplicant_error_quark())
+GQuark nm_supplicant_error_quark(void);
 
 typedef struct _NMSupplicantBssInfo {
-	NMRefString *bss_path;
+    NMRefString *bss_path;
 
-	NMSupplicantInterface *_self;
-	CList _bss_lst;
-	GCancellable *_init_cancellable;
+    NMSupplicantInterface *_self;
+    CList                  _bss_lst;
+    GCancellable *         _init_cancellable;
 
-	GBytes *ssid;
+    GBytes *ssid;
 
-	gint64 last_seen_msec;
+    gint64 last_seen_msec;
 
-	NM80211ApSecurityFlags wpa_flags; /* WPA-related flags */
-	NM80211ApSecurityFlags rsn_flags; /* RSN (WPA2) -related flags */
+    NM80211ApSecurityFlags wpa_flags; /* WPA-related flags */
+    NM80211ApSecurityFlags rsn_flags; /* RSN (WPA2) -related flags */
 
-	guint32 frequency;
+    guint32 frequency;
 
-	guint32 max_rate;
+    guint32 max_rate;
 
-	guint8 signal_percent;
+    guint8 signal_percent;
 
-	guint8 bssid[6 /* ETH_ALEN */];
+    guint8 bssid[6 /* ETH_ALEN */];
 
-	NM80211ApFlags ap_flags:5;
+    NM80211ApFlags ap_flags : 5;
 
-	NM80211Mode mode:4;
+    NM80211Mode mode : 4;
 
-	bool bssid_valid:1;
+    bool bssid_valid : 1;
 
-	bool metered:1;
+    bool metered : 1;
 
-	bool _bss_dirty:1;
+    bool _bss_dirty : 1;
 
 } NMSupplicantBssInfo;
 
-typedef struct _NMSupplicantPeerInfo{
-	NMRefString *peer_path;
+typedef struct _NMSupplicantPeerInfo {
+    NMRefString *peer_path;
 
-	CList _peer_lst;
-	NMSupplicantInterface *_self;
-	GCancellable *_init_cancellable;
+    CList                  _peer_lst;
+    NMSupplicantInterface *_self;
+    GCancellable *         _init_cancellable;
 
-	char *device_name;
-	char *manufacturer;
-	char *model;
-	char *model_number;
-	char *serial;
+    char *device_name;
+    char *manufacturer;
+    char *model;
+    char *model_number;
+    char *serial;
 
-	GBytes *ies;
+    GBytes *ies;
 
-	gint64 last_seen_msec;
+    gint64 last_seen_msec;
 
-	guint8 address[6 /* ETH_ALEN */];
+    guint8 address[6 /* ETH_ALEN */];
 
-	gint8 signal_percent;
+    gint8 signal_percent;
 
-	bool address_valid:1;
+    bool address_valid : 1;
 
-	bool _peer_dirty:1;
+    bool _peer_dirty : 1;
 
 } NMSupplicantPeerInfo;
 
-#endif  /* NM_SUPPLICANT_TYPES_H */
+#endif /* NM_SUPPLICANT_TYPES_H */
diff --git a/src/supplicant/tests/test-supplicant-config.c b/src/supplicant/tests/test-supplicant-config.c
index 099af949..6edcd8da 100644
--- a/src/supplicant/tests/test-supplicant-config.c
+++ b/src/supplicant/tests/test-supplicant-config.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2008 - 2011 Red Hat, Inc.
  */
@@ -21,657 +21,803 @@
 
 #include "nm-test-utils-core.h"
 
-#define TEST_CERT_DIR                         NM_BUILD_SRCDIR"/src/supplicant/tests/certs"
+#define TEST_CERT_DIR NM_BUILD_SRCDIR "/src/supplicant/tests/certs"
 
 /*****************************************************************************/
 
 static gboolean
-validate_opt (const char *detail,
-              GVariant *config,
-              const char *key,
-              NMSupplOptType val_type,
-              gconstpointer expected)
+validate_opt(const char *   detail,
+             GVariant *     config,
+             const char *   key,
+             NMSupplOptType val_type,
+             gconstpointer  expected)
 {
-	char *config_key;
-	GVariant *config_value;
-	gboolean found = FALSE;
-	GVariantIter iter;
-
-	g_assert (g_variant_is_of_type (config, G_VARIANT_TYPE_VARDICT));
-
-	g_variant_iter_init (&iter, config);
-	while (g_variant_iter_next (&iter, "{&sv}", (gpointer) &config_key, (gpointer) &config_value)) {
-		if (!strcmp (key, config_key)) {
-			found = TRUE;
-			switch (val_type) {
-			case NM_SUPPL_OPT_TYPE_INT: {
-				g_assert (g_variant_is_of_type (config_value, G_VARIANT_TYPE_INT32));
-				g_assert_cmpint (g_variant_get_int32 (config_value), ==, GPOINTER_TO_INT (expected));
-				break;
-			}
-			case NM_SUPPL_OPT_TYPE_BYTES: {
-				const guint8 *expected_bytes;
-				gsize expected_len = 0;
-				const guint8 *config_bytes;
-				gsize config_len = 0;
-
-				expected_bytes = g_bytes_get_data ((GBytes *) expected, &expected_len);
-				g_assert (g_variant_is_of_type (config_value, G_VARIANT_TYPE_BYTESTRING));
-				config_bytes = g_variant_get_fixed_array (config_value, &config_len, 1);
-				g_assert_cmpmem (config_bytes, config_len, expected_bytes, expected_len);
-				break;
-			}
-			case NM_SUPPL_OPT_TYPE_KEYWORD:
-			case NM_SUPPL_OPT_TYPE_STRING: {
-				const char *expected_str = expected;
-				const char *config_str;
-
-				g_assert (g_variant_is_of_type (config_value, G_VARIANT_TYPE_STRING));
-				config_str = g_variant_get_string (config_value, NULL);
-				g_assert_cmpstr (config_str, ==, expected_str);
-				break;
-			}
-			default:
-				g_assert_not_reached ();
-				break;
-			}
-		}
-		g_variant_unref (config_value);
-	}
-
-	return found;
+    char *       config_key;
+    GVariant *   config_value;
+    gboolean     found = FALSE;
+    GVariantIter iter;
+
+    g_assert(g_variant_is_of_type(config, G_VARIANT_TYPE_VARDICT));
+
+    g_variant_iter_init(&iter, config);
+    while (g_variant_iter_next(&iter, "{&sv}", (gpointer) &config_key, (gpointer) &config_value)) {
+        if (!strcmp(key, config_key)) {
+            found = TRUE;
+            switch (val_type) {
+            case NM_SUPPL_OPT_TYPE_INT:
+            {
+                g_assert(g_variant_is_of_type(config_value, G_VARIANT_TYPE_INT32));
+                g_assert_cmpint(g_variant_get_int32(config_value), ==, GPOINTER_TO_INT(expected));
+                break;
+            }
+            case NM_SUPPL_OPT_TYPE_BYTES:
+            {
+                const guint8 *expected_bytes;
+                gsize         expected_len = 0;
+                const guint8 *config_bytes;
+                gsize         config_len = 0;
+
+                expected_bytes = g_bytes_get_data((GBytes *) expected, &expected_len);
+                g_assert(g_variant_is_of_type(config_value, G_VARIANT_TYPE_BYTESTRING));
+                config_bytes = g_variant_get_fixed_array(config_value, &config_len, 1);
+                g_assert_cmpmem(config_bytes, config_len, expected_bytes, expected_len);
+                break;
+            }
+            case NM_SUPPL_OPT_TYPE_KEYWORD:
+            case NM_SUPPL_OPT_TYPE_STRING:
+            {
+                const char *expected_str = expected;
+                const char *config_str;
+
+                g_assert(g_variant_is_of_type(config_value, G_VARIANT_TYPE_STRING));
+                config_str = g_variant_get_string(config_value, NULL);
+                g_assert_cmpstr(config_str, ==, expected_str);
+                break;
+            }
+            default:
+                g_assert_not_reached();
+                break;
+            }
+        }
+        g_variant_unref(config_value);
+    }
+
+    return found;
 }
 
 static GVariant *
-build_supplicant_config (NMConnection *connection,
-                         guint mtu,
-                         guint fixed_freq,
-                         NMSupplCapMask capabilities)
+build_supplicant_config(NMConnection * connection,
+                        guint          mtu,
+                        guint          fixed_freq,
+                        NMSupplCapMask capabilities)
 {
-	gs_unref_object NMSupplicantConfig *config = NULL;
-	gs_free_error GError *error = NULL;
-	NMSettingWireless *s_wifi;
-	NMSettingWirelessSecurity *s_wsec;
-	NMSetting8021x *s_8021x;
-	gboolean success;
-
-	config = nm_supplicant_config_new (capabilities);
-
-	s_wifi = nm_connection_get_setting_wireless (connection);
-	g_assert (s_wifi);
-	success = nm_supplicant_config_add_setting_wireless (config,
-	                                                     s_wifi,
-	                                                     fixed_freq,
-	                                                     &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	s_wsec = nm_connection_get_setting_wireless_security (connection);
-	if (s_wsec) {
-		NMSettingWirelessSecurityPmf pmf = nm_setting_wireless_security_get_pmf (s_wsec);
-		NMSettingWirelessSecurityFils fils = nm_setting_wireless_security_get_fils (s_wsec);
-		s_8021x = nm_connection_get_setting_802_1x (connection);
-		success = nm_supplicant_config_add_setting_wireless_security (config,
-			                                                          s_wsec,
-			                                                          s_8021x,
-			                                                          nm_connection_get_uuid (connection),
-			                                                          mtu,
-			                                                          pmf,
-			                                                          fils,
-			                                                          &error);
-	} else {
-		success = nm_supplicant_config_add_no_security (config, &error);
-	}
-	g_assert_no_error (error);
-	g_assert (success);
-
-	success = nm_supplicant_config_add_bgscan (config, connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	return nm_supplicant_config_to_variant (config);
+    gs_unref_object NMSupplicantConfig *config = NULL;
+    gs_free_error GError *     error           = NULL;
+    NMSettingWireless *        s_wifi;
+    NMSettingWirelessSecurity *s_wsec;
+    NMSetting8021x *           s_8021x;
+    gboolean                   success;
+
+    config = nm_supplicant_config_new(capabilities);
+
+    s_wifi = nm_connection_get_setting_wireless(connection);
+    g_assert(s_wifi);
+    success = nm_supplicant_config_add_setting_wireless(config, s_wifi, fixed_freq, &error);
+    g_assert_no_error(error);
+    g_assert(success);
+
+    s_wsec = nm_connection_get_setting_wireless_security(connection);
+    if (s_wsec) {
+        NMSettingWirelessSecurityPmf  pmf  = nm_setting_wireless_security_get_pmf(s_wsec);
+        NMSettingWirelessSecurityFils fils = nm_setting_wireless_security_get_fils(s_wsec);
+        s_8021x                            = nm_connection_get_setting_802_1x(connection);
+        success =
+            nm_supplicant_config_add_setting_wireless_security(config,
+                                                               s_wsec,
+                                                               s_8021x,
+                                                               nm_connection_get_uuid(connection),
+                                                               mtu,
+                                                               pmf,
+                                                               fils,
+                                                               &error);
+    } else {
+        success = nm_supplicant_config_add_no_security(config, &error);
+    }
+    g_assert_no_error(error);
+    g_assert(success);
+
+    success = nm_supplicant_config_add_bgscan(config, connection, &error);
+    g_assert_no_error(error);
+    g_assert(success);
+
+    return nm_supplicant_config_to_variant(config);
 }
 
 static NMConnection *
-new_basic_connection (const char *id,
-                      GBytes *ssid,
-                      const char *bssid_str)
+new_basic_connection(const char *id, GBytes *ssid, const char *bssid_str)
 {
-	NMConnection *connection;
-	NMSettingConnection *s_con;
-	NMSettingWireless *s_wifi;
-	NMSettingIPConfig *s_ip4;
-	gs_free char *uuid = nm_utils_uuid_generate ();
-
-	connection = nm_simple_connection_new ();
-
-	/* Connection setting */
-	s_con = (NMSettingConnection *) nm_setting_connection_new ();
-	nm_connection_add_setting (connection, NM_SETTING (s_con));
-	g_object_set (s_con,
-	              NM_SETTING_CONNECTION_ID, id,
-	              NM_SETTING_CONNECTION_UUID, uuid,
-	              NM_SETTING_CONNECTION_AUTOCONNECT, TRUE,
-	              NM_SETTING_CONNECTION_TYPE, NM_SETTING_WIRELESS_SETTING_NAME,
-	              NULL);
-
-	/* Wifi setting */
-	s_wifi = (NMSettingWireless *) nm_setting_wireless_new ();
-	nm_connection_add_setting (connection, NM_SETTING (s_wifi));
-	g_object_set (s_wifi,
-	              NM_SETTING_WIRELESS_SSID, ssid,
-	              NM_SETTING_WIRELESS_BSSID, bssid_str,
-	              NM_SETTING_WIRELESS_MODE, "infrastructure",
-	              NM_SETTING_WIRELESS_BAND, "bg",
-	              NULL);
-
-	/* IP4 setting */
-	s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new ();
-	nm_connection_add_setting (connection, NM_SETTING (s_ip4));
-	g_object_set (s_ip4, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO, NULL);
-
-	return connection;
+    NMConnection *       connection;
+    NMSettingConnection *s_con;
+    NMSettingWireless *  s_wifi;
+    NMSettingIPConfig *  s_ip4;
+    gs_free char *       uuid = nm_utils_uuid_generate();
+
+    connection = nm_simple_connection_new();
+
+    /* Connection setting */
+    s_con = (NMSettingConnection *) nm_setting_connection_new();
+    nm_connection_add_setting(connection, NM_SETTING(s_con));
+    g_object_set(s_con,
+                 NM_SETTING_CONNECTION_ID,
+                 id,
+                 NM_SETTING_CONNECTION_UUID,
+                 uuid,
+                 NM_SETTING_CONNECTION_AUTOCONNECT,
+                 TRUE,
+                 NM_SETTING_CONNECTION_TYPE,
+                 NM_SETTING_WIRELESS_SETTING_NAME,
+                 NULL);
+
+    /* Wifi setting */
+    s_wifi = (NMSettingWireless *) nm_setting_wireless_new();
+    nm_connection_add_setting(connection, NM_SETTING(s_wifi));
+    g_object_set(s_wifi,
+                 NM_SETTING_WIRELESS_SSID,
+                 ssid,
+                 NM_SETTING_WIRELESS_BSSID,
+                 bssid_str,
+                 NM_SETTING_WIRELESS_MODE,
+                 "infrastructure",
+                 NM_SETTING_WIRELESS_BAND,
+                 "bg",
+                 NULL);
+
+    /* IP4 setting */
+    s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new();
+    nm_connection_add_setting(connection, NM_SETTING(s_ip4));
+    g_object_set(s_ip4, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO, NULL);
+
+    return connection;
 }
 
 static void
-test_wifi_open (void)
+test_wifi_open(void)
 {
-	gs_unref_object NMConnection *connection = NULL;
-	gs_unref_variant GVariant *config_dict = NULL;
-	gboolean success;
-	GError *error = NULL;
-	const unsigned char ssid_data[] = { 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44 };
-	gs_unref_bytes GBytes *ssid = g_bytes_new (ssid_data, sizeof (ssid_data));
-	const char *bssid_str = "11:22:33:44:55:66";
-
-	connection = new_basic_connection ("Test Wifi Open", ssid, bssid_str);
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	NMTST_EXPECT_NM_INFO ("Config: added 'ssid' value 'Test SSID'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'scan_ssid' value '1'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'bssid' value '11:22:33:44:55:66'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'freq_list' value *");
-	NMTST_EXPECT_NM_INFO ("Config: added 'key_mgmt' value 'NONE'");
-	config_dict = build_supplicant_config (connection, 1500, 0, NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
-	g_test_assert_expected_messages ();
-	g_assert (config_dict);
-
-	validate_opt ("wifi-open", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER (1));
-	validate_opt ("wifi-open", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
-	validate_opt ("wifi-open", config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
-	validate_opt ("wifi-open", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "NONE");
+    gs_unref_object NMConnection *connection = NULL;
+    gs_unref_variant GVariant *config_dict   = NULL;
+    gboolean                   success;
+    GError *                   error       = NULL;
+    const unsigned char        ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
+    gs_unref_bytes GBytes *ssid            = g_bytes_new(ssid_data, sizeof(ssid_data));
+    const char *           bssid_str       = "11:22:33:44:55:66";
+
+    connection = new_basic_connection("Test Wifi Open", ssid, bssid_str);
+    success    = nm_connection_verify(connection, &error);
+    g_assert_no_error(error);
+    g_assert(success);
+
+    NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'bssid' value '11:22:33:44:55:66'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
+    NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'NONE'");
+    config_dict =
+        build_supplicant_config(connection,
+                                1500,
+                                0,
+                                NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
+    g_test_assert_expected_messages();
+    g_assert(config_dict);
+
+    validate_opt("wifi-open", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
+    validate_opt("wifi-open", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
+    validate_opt("wifi-open", config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
+    validate_opt("wifi-open", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "NONE");
 }
 
 static void
-test_wifi_wep_key (const char *detail,
-                   gboolean test_bssid,
-                   NMWepKeyType wep_type,
-                   const char *key_data,
-                   const unsigned char *expected,
-                   size_t expected_size)
+test_wifi_wep_key(const char *         detail,
+                  gboolean             test_bssid,
+                  NMWepKeyType         wep_type,
+                  const char *         key_data,
+                  const unsigned char *expected,
+                  size_t               expected_size)
 {
-	gs_unref_object NMConnection *connection = NULL;
-	gs_unref_variant GVariant *config_dict = NULL;
-	NMSettingWirelessSecurity *s_wsec;
-	gboolean success;
-	GError *error = NULL;
-	const unsigned char ssid_data[] = { 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44 };
-	gs_unref_bytes GBytes *ssid = g_bytes_new (ssid_data, sizeof (ssid_data));
-	const char *bssid_str = "11:22:33:44:55:66";
-	gs_unref_bytes GBytes *wep_key_bytes = g_bytes_new (expected, expected_size);
-	const char *bgscan_data = "simple:30:-70:86400";
-	gs_unref_bytes GBytes *bgscan = g_bytes_new (bgscan_data, strlen (bgscan_data));
-
-	connection = new_basic_connection ("Test Wifi WEP Key", ssid, test_bssid ? bssid_str : NULL);
-
-	/* Wifi Security setting */
-	s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new ();
-	nm_connection_add_setting (connection, NM_SETTING (s_wsec));
-	g_object_set (s_wsec,
-	              NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "none",
-	              NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE, wep_type,
-	              NULL);
-	nm_setting_wireless_security_set_wep_key (s_wsec, 0, key_data);
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	NMTST_EXPECT_NM_INFO ("Config: added 'ssid' value 'Test SSID'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'scan_ssid' value '1'*");
-	if (test_bssid)
-		NMTST_EXPECT_NM_INFO ("Config: added 'bssid' value '11:22:33:44:55:66'*");
-
-	NMTST_EXPECT_NM_INFO ("Config: added 'freq_list' value *");
-	NMTST_EXPECT_NM_INFO ("Config: added 'key_mgmt' value 'NONE'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'wep_key0' value *");
-	NMTST_EXPECT_NM_INFO ("Config: added 'wep_tx_keyidx' value '0'");
-	if (!test_bssid)
-		NMTST_EXPECT_NM_INFO ("Config: added 'bgscan' value 'simple:30:-70:86400'*");
-
-	config_dict = build_supplicant_config (connection, 1500, 0, NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
-	g_test_assert_expected_messages ();
-	g_assert (config_dict);
-
-	validate_opt (detail, config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER (1));
-	validate_opt (detail, config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
-	if (test_bssid)
-		validate_opt (detail, config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
-	else
-		validate_opt (detail, config_dict, "bgscan", NM_SUPPL_OPT_TYPE_BYTES, bgscan);
-
-	validate_opt (detail, config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "NONE");
-	validate_opt (detail, config_dict, "wep_tx_keyidx", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER (0));
-	validate_opt (detail, config_dict, "wep_key0", NM_SUPPL_OPT_TYPE_BYTES, wep_key_bytes);
+    gs_unref_object NMConnection *connection = NULL;
+    gs_unref_variant GVariant *config_dict   = NULL;
+    NMSettingWirelessSecurity *s_wsec;
+    gboolean                   success;
+    GError *                   error       = NULL;
+    const unsigned char        ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
+    gs_unref_bytes GBytes *ssid            = g_bytes_new(ssid_data, sizeof(ssid_data));
+    const char *           bssid_str       = "11:22:33:44:55:66";
+    gs_unref_bytes GBytes *wep_key_bytes   = g_bytes_new(expected, expected_size);
+    const char *           bgscan_data     = "simple:30:-70:86400";
+    gs_unref_bytes GBytes *bgscan          = g_bytes_new(bgscan_data, strlen(bgscan_data));
+
+    connection = new_basic_connection("Test Wifi WEP Key", ssid, test_bssid ? bssid_str : NULL);
+
+    /* Wifi Security setting */
+    s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new();
+    nm_connection_add_setting(connection, NM_SETTING(s_wsec));
+    g_object_set(s_wsec,
+                 NM_SETTING_WIRELESS_SECURITY_KEY_MGMT,
+                 "none",
+                 NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE,
+                 wep_type,
+                 NULL);
+    nm_setting_wireless_security_set_wep_key(s_wsec, 0, key_data);
+
+    success = nm_connection_verify(connection, &error);
+    g_assert_no_error(error);
+    g_assert(success);
+
+    NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
+    if (test_bssid)
+        NMTST_EXPECT_NM_INFO("Config: added 'bssid' value '11:22:33:44:55:66'*");
+
+    NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
+    NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'NONE'");
+    NMTST_EXPECT_NM_INFO("Config: added 'wep_key0' value *");
+    NMTST_EXPECT_NM_INFO("Config: added 'wep_tx_keyidx' value '0'");
+    if (!test_bssid)
+        NMTST_EXPECT_NM_INFO("Config: added 'bgscan' value 'simple:30:-70:86400'*");
+
+    config_dict =
+        build_supplicant_config(connection,
+                                1500,
+                                0,
+                                NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
+    g_test_assert_expected_messages();
+    g_assert(config_dict);
+
+    validate_opt(detail, config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
+    validate_opt(detail, config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
+    if (test_bssid)
+        validate_opt(detail, config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
+    else
+        validate_opt(detail, config_dict, "bgscan", NM_SUPPL_OPT_TYPE_BYTES, bgscan);
+
+    validate_opt(detail, config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "NONE");
+    validate_opt(detail, config_dict, "wep_tx_keyidx", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(0));
+    validate_opt(detail, config_dict, "wep_key0", NM_SUPPL_OPT_TYPE_BYTES, wep_key_bytes);
 }
 
 static void
-test_wifi_wep (void)
+test_wifi_wep(void)
 {
-	const char *key1 = "12345";
-	const unsigned char key1_expected[] = { 0x31, 0x32, 0x33, 0x34, 0x35 };
-	const char *key2 = "ascii test$$$";
-	const unsigned char key2_expected[] = { 0x61, 0x73, 0x63, 0x69, 0x69, 0x20, 0x74, 0x65, 0x73, 0x74, 0x24, 0x24, 0x24 };
-	const char *key3 = "abcdef1234";
-	const unsigned char key3_expected[] = { 0xab, 0xcd, 0xef, 0x12, 0x34 };
-	const char *key4 = "96aec785c6392675f87f592972";
-	const unsigned char key4_expected[] = { 0x96, 0xae, 0xc7, 0x85, 0xc6, 0x39, 0x26, 0x75, 0xf8, 0x7f, 0x59, 0x29, 0x72 };
-	const char *key5 = "r34lly l33t w3p p4ssphr4s3 for t3st1ng";
-	const unsigned char key5_expected[] = { 0xce, 0x68, 0x8b, 0x35, 0xf6, 0x0a, 0x2b, 0xbf, 0xc9, 0x8f, 0xed, 0x10, 0xda };
-
-	test_wifi_wep_key ("wifi-wep-ascii-40", TRUE, NM_WEP_KEY_TYPE_KEY, key1, key1_expected, sizeof (key1_expected));
-	test_wifi_wep_key ("wifi-wep-ascii-104", TRUE, NM_WEP_KEY_TYPE_KEY, key2, key2_expected, sizeof (key2_expected));
-	test_wifi_wep_key ("wifi-wep-hex-40", TRUE, NM_WEP_KEY_TYPE_KEY, key3, key3_expected, sizeof (key3_expected));
-	test_wifi_wep_key ("wifi-wep-hex-104", TRUE, NM_WEP_KEY_TYPE_KEY, key4, key4_expected, sizeof (key4_expected));
-	test_wifi_wep_key ("wifi-wep-passphrase-104", TRUE, NM_WEP_KEY_TYPE_PASSPHRASE, key5, key5_expected, sizeof (key5_expected));
-
-	test_wifi_wep_key ("wifi-wep-old-hex-104", TRUE, NM_WEP_KEY_TYPE_UNKNOWN, key4, key4_expected, sizeof (key4_expected));
-
-	/* Unlocked BSSID to test bgscan */
-	test_wifi_wep_key ("wifi-wep-hex-40", FALSE, NM_WEP_KEY_TYPE_KEY, key3, key3_expected, sizeof (key3_expected));
+    const char *        key1            = "12345";
+    const unsigned char key1_expected[] = {0x31, 0x32, 0x33, 0x34, 0x35};
+    const char *        key2            = "ascii test$$$";
+    const unsigned char key2_expected[] =
+        {0x61, 0x73, 0x63, 0x69, 0x69, 0x20, 0x74, 0x65, 0x73, 0x74, 0x24, 0x24, 0x24};
+    const char *        key3            = "abcdef1234";
+    const unsigned char key3_expected[] = {0xab, 0xcd, 0xef, 0x12, 0x34};
+    const char *        key4            = "96aec785c6392675f87f592972";
+    const unsigned char key4_expected[] =
+        {0x96, 0xae, 0xc7, 0x85, 0xc6, 0x39, 0x26, 0x75, 0xf8, 0x7f, 0x59, 0x29, 0x72};
+    const char *        key5 = "r34lly l33t w3p p4ssphr4s3 for t3st1ng";
+    const unsigned char key5_expected[] =
+        {0xce, 0x68, 0x8b, 0x35, 0xf6, 0x0a, 0x2b, 0xbf, 0xc9, 0x8f, 0xed, 0x10, 0xda};
+
+    test_wifi_wep_key("wifi-wep-ascii-40",
+                      TRUE,
+                      NM_WEP_KEY_TYPE_KEY,
+                      key1,
+                      key1_expected,
+                      sizeof(key1_expected));
+    test_wifi_wep_key("wifi-wep-ascii-104",
+                      TRUE,
+                      NM_WEP_KEY_TYPE_KEY,
+                      key2,
+                      key2_expected,
+                      sizeof(key2_expected));
+    test_wifi_wep_key("wifi-wep-hex-40",
+                      TRUE,
+                      NM_WEP_KEY_TYPE_KEY,
+                      key3,
+                      key3_expected,
+                      sizeof(key3_expected));
+    test_wifi_wep_key("wifi-wep-hex-104",
+                      TRUE,
+                      NM_WEP_KEY_TYPE_KEY,
+                      key4,
+                      key4_expected,
+                      sizeof(key4_expected));
+    test_wifi_wep_key("wifi-wep-passphrase-104",
+                      TRUE,
+                      NM_WEP_KEY_TYPE_PASSPHRASE,
+                      key5,
+                      key5_expected,
+                      sizeof(key5_expected));
+
+    test_wifi_wep_key("wifi-wep-old-hex-104",
+                      TRUE,
+                      NM_WEP_KEY_TYPE_UNKNOWN,
+                      key4,
+                      key4_expected,
+                      sizeof(key4_expected));
+
+    /* Unlocked BSSID to test bgscan */
+    test_wifi_wep_key("wifi-wep-hex-40",
+                      FALSE,
+                      NM_WEP_KEY_TYPE_KEY,
+                      key3,
+                      key3_expected,
+                      sizeof(key3_expected));
 }
 
 static void
-test_wifi_wpa_psk (const char *detail,
-                   NMSupplOptType key_type,
-                   const char *key_data,
-                   const unsigned char *expected,
-                   size_t expected_size,
-                   NMSettingWirelessSecurityPmf pmf)
+test_wifi_wpa_psk(const char *                 detail,
+                  NMSupplOptType               key_type,
+                  const char *                 key_data,
+                  const unsigned char *        expected,
+                  size_t                       expected_size,
+                  NMSettingWirelessSecurityPmf pmf)
 {
-	gs_unref_object NMConnection *connection = NULL;
-	gs_unref_variant GVariant *config_dict = NULL;
-	NMSettingWirelessSecurity *s_wsec;
-	gboolean success;
-	GError *error = NULL;
-	const unsigned char ssid_data[] = { 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44 };
-	gs_unref_bytes GBytes *ssid = g_bytes_new (ssid_data, sizeof (ssid_data));
-	const char *bssid_str = "11:22:33:44:55:66";
-	gs_unref_bytes GBytes *wpa_psk_bytes = g_bytes_new (expected, expected_size);
-
-	connection = new_basic_connection ("Test Wifi WPA PSK", ssid, bssid_str);
-
-	/* Wifi Security setting */
-	s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new ();
-	nm_connection_add_setting (connection, NM_SETTING (s_wsec));
-	g_object_set (s_wsec,
-	              NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "wpa-psk",
-	              NM_SETTING_WIRELESS_SECURITY_PSK, key_data,
-	              NM_SETTING_WIRELESS_SECURITY_PMF, (int) pmf,
-	              NULL);
-	nm_setting_wireless_security_add_proto (s_wsec, "wpa");
-	nm_setting_wireless_security_add_proto (s_wsec, "rsn");
-	nm_setting_wireless_security_add_pairwise (s_wsec, "tkip");
-	nm_setting_wireless_security_add_pairwise (s_wsec, "ccmp");
-	nm_setting_wireless_security_add_group (s_wsec, "tkip");
-	nm_setting_wireless_security_add_group (s_wsec, "ccmp");
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	NMTST_EXPECT_NM_INFO ("Config: added 'ssid' value 'Test SSID'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'scan_ssid' value '1'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'bssid' value '11:22:33:44:55:66'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'freq_list' value *");
-	NMTST_EXPECT_NM_INFO ("Config: added 'key_mgmt' value 'WPA-PSK WPA-PSK-SHA256'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'psk' value *");
-	NMTST_EXPECT_NM_INFO ("Config: added 'proto' value 'WPA RSN'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'pairwise' value 'TKIP CCMP'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'group' value 'TKIP CCMP'");
-	switch (pmf) {
-	case NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE:
-		NMTST_EXPECT_NM_INFO ("Config: added 'ieee80211w' value '0'");
-		break;
-	case NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED:
-		NMTST_EXPECT_NM_INFO ("Config: added 'ieee80211w' value '2'");
-		break;
-	default:
-		break;
-	}
-	config_dict = build_supplicant_config (connection, 1500, 0, NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
-
-	g_test_assert_expected_messages ();
-	g_assert (config_dict);
-
-	validate_opt (detail, config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER (1));
-	validate_opt (detail, config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
-	validate_opt (detail, config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
-	validate_opt (detail, config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA-PSK WPA-PSK-SHA256");
-	validate_opt (detail, config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
-	validate_opt (detail, config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
-	validate_opt (detail, config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
-	if (key_type == NM_SUPPL_OPT_TYPE_BYTES)
-		validate_opt (detail, config_dict, "psk", key_type, wpa_psk_bytes);
-	else if (key_type == NM_SUPPL_OPT_TYPE_STRING)
-		validate_opt (detail, config_dict, "psk", key_type, expected);
-	else
-		g_assert_not_reached ();
+    gs_unref_object NMConnection *connection = NULL;
+    gs_unref_variant GVariant *config_dict   = NULL;
+    NMSettingWirelessSecurity *s_wsec;
+    gboolean                   success;
+    GError *                   error       = NULL;
+    const unsigned char        ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
+    gs_unref_bytes GBytes *ssid            = g_bytes_new(ssid_data, sizeof(ssid_data));
+    const char *           bssid_str       = "11:22:33:44:55:66";
+    gs_unref_bytes GBytes *wpa_psk_bytes   = g_bytes_new(expected, expected_size);
+
+    connection = new_basic_connection("Test Wifi WPA PSK", ssid, bssid_str);
+
+    /* Wifi Security setting */
+    s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new();
+    nm_connection_add_setting(connection, NM_SETTING(s_wsec));
+    g_object_set(s_wsec,
+                 NM_SETTING_WIRELESS_SECURITY_KEY_MGMT,
+                 "wpa-psk",
+                 NM_SETTING_WIRELESS_SECURITY_PSK,
+                 key_data,
+                 NM_SETTING_WIRELESS_SECURITY_PMF,
+                 (int) pmf,
+                 NULL);
+    nm_setting_wireless_security_add_proto(s_wsec, "wpa");
+    nm_setting_wireless_security_add_proto(s_wsec, "rsn");
+    nm_setting_wireless_security_add_pairwise(s_wsec, "tkip");
+    nm_setting_wireless_security_add_pairwise(s_wsec, "ccmp");
+    nm_setting_wireless_security_add_group(s_wsec, "tkip");
+    nm_setting_wireless_security_add_group(s_wsec, "ccmp");
+
+    success = nm_connection_verify(connection, &error);
+    g_assert_no_error(error);
+    g_assert(success);
+
+    NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'bssid' value '11:22:33:44:55:66'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
+    NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'WPA-PSK WPA-PSK-SHA256'");
+    NMTST_EXPECT_NM_INFO("Config: added 'psk' value *");
+    NMTST_EXPECT_NM_INFO("Config: added 'proto' value 'WPA RSN'");
+    NMTST_EXPECT_NM_INFO("Config: added 'pairwise' value 'TKIP CCMP'");
+    NMTST_EXPECT_NM_INFO("Config: added 'group' value 'TKIP CCMP'");
+    switch (pmf) {
+    case NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE:
+        NMTST_EXPECT_NM_INFO("Config: added 'ieee80211w' value '0'");
+        break;
+    case NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED:
+        NMTST_EXPECT_NM_INFO("Config: added 'ieee80211w' value '2'");
+        break;
+    default:
+        break;
+    }
+    config_dict =
+        build_supplicant_config(connection,
+                                1500,
+                                0,
+                                NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
+
+    g_test_assert_expected_messages();
+    g_assert(config_dict);
+
+    validate_opt(detail, config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
+    validate_opt(detail, config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
+    validate_opt(detail, config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
+    validate_opt(detail,
+                 config_dict,
+                 "key_mgmt",
+                 NM_SUPPL_OPT_TYPE_KEYWORD,
+                 "WPA-PSK WPA-PSK-SHA256");
+    validate_opt(detail, config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
+    validate_opt(detail, config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
+    validate_opt(detail, config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
+    if (key_type == NM_SUPPL_OPT_TYPE_BYTES)
+        validate_opt(detail, config_dict, "psk", key_type, wpa_psk_bytes);
+    else if (key_type == NM_SUPPL_OPT_TYPE_STRING)
+        validate_opt(detail, config_dict, "psk", key_type, expected);
+    else
+        g_assert_not_reached();
 }
 
 static void
-test_wifi_sae_psk (const char *psk)
+test_wifi_sae_psk(const char *psk)
 {
-	gs_unref_object NMConnection *connection = NULL;
-	gs_unref_variant GVariant *config_dict = NULL;
-	NMSettingWirelessSecurity *s_wsec;
-	gboolean success;
-	GError *error = NULL;
-	const unsigned char ssid_data[] = { 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44 };
-	gs_unref_bytes GBytes *ssid = g_bytes_new (ssid_data, sizeof (ssid_data));
-	const char *bssid_str = "11:22:33:44:55:66";
-	int short_psk = strlen (psk) < 8;
-
-	connection = new_basic_connection ("Test Wifi SAE", ssid, bssid_str);
-
-	/* Wifi Security setting */
-	s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new ();
-	nm_connection_add_setting (connection, NM_SETTING (s_wsec));
-	g_object_set (s_wsec,
-	              NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "sae",
-	              NM_SETTING_WIRELESS_SECURITY_PSK, psk,
-	              NULL);
-	nm_setting_wireless_security_add_proto (s_wsec, "rsn");
-	nm_setting_wireless_security_add_pairwise (s_wsec, "tkip");
-	nm_setting_wireless_security_add_pairwise (s_wsec, "ccmp");
-	nm_setting_wireless_security_add_group (s_wsec, "tkip");
-	nm_setting_wireless_security_add_group (s_wsec, "ccmp");
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	NMTST_EXPECT_NM_INFO ("Config: added 'ssid' value 'Test SSID'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'scan_ssid' value '1'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'bssid' value '11:22:33:44:55:66'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'freq_list' value *");
-	NMTST_EXPECT_NM_INFO ("Config: added 'key_mgmt' value 'SAE'");
-	if (short_psk)
-		NMTST_EXPECT_NM_INFO ("Config: added 'sae_password' value *");
-	else
-		NMTST_EXPECT_NM_INFO ("Config: added 'psk' value *");
-	NMTST_EXPECT_NM_INFO ("Config: added 'proto' value 'RSN'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'pairwise' value 'TKIP CCMP'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'group' value 'TKIP CCMP'");
-	config_dict = build_supplicant_config (connection, 1500, 0, NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
-
-	g_test_assert_expected_messages ();
-	g_assert (config_dict);
-
-	validate_opt ("wifi-sae", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER (1));
-	validate_opt ("wifi-sae", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
-	validate_opt ("wifi-sae", config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
-	validate_opt ("wifi-sae", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "SAE");
-	validate_opt ("wifi-sae", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "RSN");
-	validate_opt ("wifi-sae", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
-	validate_opt ("wifi-sae", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
-	if (short_psk)
-		validate_opt ("wifi-sae", config_dict, "sae_password", NM_SUPPL_OPT_TYPE_KEYWORD, psk);
-	else
-		validate_opt ("wifi-sae", config_dict, "psk", NM_SUPPL_OPT_TYPE_KEYWORD, psk);
+    gs_unref_object NMConnection *connection = NULL;
+    gs_unref_variant GVariant *config_dict   = NULL;
+    NMSettingWirelessSecurity *s_wsec;
+    gboolean                   success;
+    GError *                   error       = NULL;
+    const unsigned char        ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
+    gs_unref_bytes GBytes *ssid            = g_bytes_new(ssid_data, sizeof(ssid_data));
+    const char *           bssid_str       = "11:22:33:44:55:66";
+    int                    short_psk       = strlen(psk) < 8;
+
+    connection = new_basic_connection("Test Wifi SAE", ssid, bssid_str);
+
+    /* Wifi Security setting */
+    s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new();
+    nm_connection_add_setting(connection, NM_SETTING(s_wsec));
+    g_object_set(s_wsec,
+                 NM_SETTING_WIRELESS_SECURITY_KEY_MGMT,
+                 "sae",
+                 NM_SETTING_WIRELESS_SECURITY_PSK,
+                 psk,
+                 NULL);
+    nm_setting_wireless_security_add_proto(s_wsec, "rsn");
+    nm_setting_wireless_security_add_pairwise(s_wsec, "tkip");
+    nm_setting_wireless_security_add_pairwise(s_wsec, "ccmp");
+    nm_setting_wireless_security_add_group(s_wsec, "tkip");
+    nm_setting_wireless_security_add_group(s_wsec, "ccmp");
+
+    success = nm_connection_verify(connection, &error);
+    g_assert_no_error(error);
+    g_assert(success);
+
+    NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'bssid' value '11:22:33:44:55:66'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
+    NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'SAE'");
+    if (short_psk)
+        NMTST_EXPECT_NM_INFO("Config: added 'sae_password' value *");
+    else
+        NMTST_EXPECT_NM_INFO("Config: added 'psk' value *");
+    NMTST_EXPECT_NM_INFO("Config: added 'proto' value 'RSN'");
+    NMTST_EXPECT_NM_INFO("Config: added 'pairwise' value 'TKIP CCMP'");
+    NMTST_EXPECT_NM_INFO("Config: added 'group' value 'TKIP CCMP'");
+    config_dict =
+        build_supplicant_config(connection,
+                                1500,
+                                0,
+                                NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
+
+    g_test_assert_expected_messages();
+    g_assert(config_dict);
+
+    validate_opt("wifi-sae", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
+    validate_opt("wifi-sae", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
+    validate_opt("wifi-sae", config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
+    validate_opt("wifi-sae", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "SAE");
+    validate_opt("wifi-sae", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "RSN");
+    validate_opt("wifi-sae", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
+    validate_opt("wifi-sae", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
+    if (short_psk)
+        validate_opt("wifi-sae", config_dict, "sae_password", NM_SUPPL_OPT_TYPE_KEYWORD, psk);
+    else
+        validate_opt("wifi-sae", config_dict, "psk", NM_SUPPL_OPT_TYPE_KEYWORD, psk);
 }
 
 static void
-test_wifi_sae (void)
+test_wifi_sae(void)
 {
-	test_wifi_sae_psk ("Moo");
-	test_wifi_sae_psk ("Hello World!");
+    test_wifi_sae_psk("Moo");
+    test_wifi_sae_psk("Hello World!");
 }
 
 static void
-test_wifi_wpa_psk_types (void)
+test_wifi_wpa_psk_types(void)
 {
-	const char *key1 = "d4721e911461d3cdef9793858e977fcda091779243abb7316c2f11605a160893";
-	const unsigned char key1_expected[] = { 0xd4, 0x72, 0x1e, 0x91, 0x14, 0x61, 0xd3, 0xcd,
-	                                        0xef, 0x97, 0x93, 0x85, 0x8e, 0x97, 0x7f, 0xcd,
-	                                        0xa0, 0x91, 0x77, 0x92, 0x43, 0xab, 0xb7, 0x31,
-	                                        0x6c, 0x2f, 0x11, 0x60, 0x5a, 0x16, 0x08, 0x93 };
-	const char *key2 = "r34lly l33t wp4 p4ssphr4s3 for t3st1ng";
-
-	test_wifi_wpa_psk ("wifi-wpa-psk-hex", NM_SUPPL_OPT_TYPE_BYTES, key1, key1_expected,
-	                   sizeof (key1_expected), NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL);
-	test_wifi_wpa_psk ("wifi-wep-psk-passphrase", NM_SUPPL_OPT_TYPE_STRING, key2,
-	                   (gconstpointer) key2, strlen (key2), NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED);
-	test_wifi_wpa_psk ("pmf-disabled", NM_SUPPL_OPT_TYPE_STRING, key2,
-	                   (gconstpointer) key2, strlen (key2), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE);
+    const char *        key1 = "d4721e911461d3cdef9793858e977fcda091779243abb7316c2f11605a160893";
+    const unsigned char key1_expected[] = {0xd4, 0x72, 0x1e, 0x91, 0x14, 0x61, 0xd3, 0xcd,
+                                           0xef, 0x97, 0x93, 0x85, 0x8e, 0x97, 0x7f, 0xcd,
+                                           0xa0, 0x91, 0x77, 0x92, 0x43, 0xab, 0xb7, 0x31,
+                                           0x6c, 0x2f, 0x11, 0x60, 0x5a, 0x16, 0x08, 0x93};
+    const char *        key2            = "r34lly l33t wp4 p4ssphr4s3 for t3st1ng";
+
+    test_wifi_wpa_psk("wifi-wpa-psk-hex",
+                      NM_SUPPL_OPT_TYPE_BYTES,
+                      key1,
+                      key1_expected,
+                      sizeof(key1_expected),
+                      NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL);
+    test_wifi_wpa_psk("wifi-wep-psk-passphrase",
+                      NM_SUPPL_OPT_TYPE_STRING,
+                      key2,
+                      (gconstpointer) key2,
+                      strlen(key2),
+                      NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED);
+    test_wifi_wpa_psk("pmf-disabled",
+                      NM_SUPPL_OPT_TYPE_STRING,
+                      key2,
+                      (gconstpointer) key2,
+                      strlen(key2),
+                      NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE);
 }
 
 static NMConnection *
-generate_wifi_eap_connection (const char *id, GBytes *ssid, const char *bssid_str, NMSettingWirelessSecurityFils fils)
+generate_wifi_eap_connection(const char *                  id,
+                             GBytes *                      ssid,
+                             const char *                  bssid_str,
+                             NMSettingWirelessSecurityFils fils)
 {
-	NMConnection *connection = NULL;
-	NMSettingWirelessSecurity *s_wsec;
-	NMSetting8021x *s_8021x;
-	gboolean success;
-	GError *error = NULL;
-
-	connection = new_basic_connection (id, ssid, bssid_str);
-
-	/* Wifi Security setting */
-	s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new ();
-	nm_connection_add_setting (connection, NM_SETTING (s_wsec));
-	g_object_set (s_wsec,
-	              NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "wpa-eap",
-	              NM_SETTING_WIRELESS_SECURITY_FILS, (int) fils,
-	              NULL);
-	nm_setting_wireless_security_add_proto (s_wsec, "wpa");
-	nm_setting_wireless_security_add_proto (s_wsec, "rsn");
-	nm_setting_wireless_security_add_pairwise (s_wsec, "tkip");
-	nm_setting_wireless_security_add_pairwise (s_wsec, "ccmp");
-	nm_setting_wireless_security_add_group (s_wsec, "tkip");
-	nm_setting_wireless_security_add_group (s_wsec, "ccmp");
-
-	/* 802-1X setting */
-	s_8021x = (NMSetting8021x *) nm_setting_802_1x_new ();
-	nm_connection_add_setting (connection, NM_SETTING (s_8021x));
-	nm_setting_802_1x_add_eap_method (s_8021x, "tls");
-	nm_setting_802_1x_set_client_cert (s_8021x, TEST_CERT_DIR "/test-cert.p12", NM_SETTING_802_1X_CK_SCHEME_PATH, NULL, NULL);
-	g_assert (nm_setting_802_1x_set_ca_cert (s_8021x, TEST_CERT_DIR "/test-ca-cert.pem", NM_SETTING_802_1X_CK_SCHEME_PATH, NULL, NULL));
-	nm_setting_802_1x_set_private_key (s_8021x, TEST_CERT_DIR "/test-cert.p12", NULL, NM_SETTING_802_1X_CK_SCHEME_PATH, NULL, NULL);
-
-	success = nm_connection_verify (connection, &error);
-	g_assert_no_error (error);
-	g_assert (success);
-
-	return connection;
+    NMConnection *             connection = NULL;
+    NMSettingWirelessSecurity *s_wsec;
+    NMSetting8021x *           s_8021x;
+    gboolean                   success;
+    GError *                   error = NULL;
+
+    connection = new_basic_connection(id, ssid, bssid_str);
+
+    /* Wifi Security setting */
+    s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new();
+    nm_connection_add_setting(connection, NM_SETTING(s_wsec));
+    g_object_set(s_wsec,
+                 NM_SETTING_WIRELESS_SECURITY_KEY_MGMT,
+                 "wpa-eap",
+                 NM_SETTING_WIRELESS_SECURITY_FILS,
+                 (int) fils,
+                 NULL);
+    nm_setting_wireless_security_add_proto(s_wsec, "wpa");
+    nm_setting_wireless_security_add_proto(s_wsec, "rsn");
+    nm_setting_wireless_security_add_pairwise(s_wsec, "tkip");
+    nm_setting_wireless_security_add_pairwise(s_wsec, "ccmp");
+    nm_setting_wireless_security_add_group(s_wsec, "tkip");
+    nm_setting_wireless_security_add_group(s_wsec, "ccmp");
+
+    /* 802-1X setting */
+    s_8021x = (NMSetting8021x *) nm_setting_802_1x_new();
+    nm_connection_add_setting(connection, NM_SETTING(s_8021x));
+    nm_setting_802_1x_add_eap_method(s_8021x, "tls");
+    nm_setting_802_1x_set_client_cert(s_8021x,
+                                      TEST_CERT_DIR "/test-cert.p12",
+                                      NM_SETTING_802_1X_CK_SCHEME_PATH,
+                                      NULL,
+                                      NULL);
+    g_assert(nm_setting_802_1x_set_ca_cert(s_8021x,
+                                           TEST_CERT_DIR "/test-ca-cert.pem",
+                                           NM_SETTING_802_1X_CK_SCHEME_PATH,
+                                           NULL,
+                                           NULL));
+    nm_setting_802_1x_set_private_key(s_8021x,
+                                      TEST_CERT_DIR "/test-cert.p12",
+                                      NULL,
+                                      NM_SETTING_802_1X_CK_SCHEME_PATH,
+                                      NULL,
+                                      NULL);
+
+    success = nm_connection_verify(connection, &error);
+    g_assert_no_error(error);
+    g_assert(success);
+
+    return connection;
 }
 
 static void
-test_wifi_eap_locked_bssid (void)
+test_wifi_eap_locked_bssid(void)
 {
-	gs_unref_object NMConnection *connection = NULL;
-	gs_unref_variant GVariant *config_dict = NULL;
-	const unsigned char ssid_data[] = { 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44 };
-	gs_unref_bytes GBytes *ssid = g_bytes_new (ssid_data, sizeof (ssid_data));
-	const char *bssid_str = "11:22:33:44:55:66";
-	guint32 mtu = 1100;
-
-	connection = generate_wifi_eap_connection ("Test Wifi EAP-TLS Locked", ssid, bssid_str, NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL);
-
-	NMTST_EXPECT_NM_INFO ("Config: added 'ssid' value 'Test SSID'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'scan_ssid' value '1'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'bssid' value '11:22:33:44:55:66'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'freq_list' value *");
-	NMTST_EXPECT_NM_INFO ("Config: added 'key_mgmt' value 'WPA-EAP'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'proto' value 'WPA RSN'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'pairwise' value 'TKIP CCMP'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'group' value 'TKIP CCMP'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'eap' value 'TLS'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'fragment_size' value '1086'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'ca_cert' value '*/test-ca-cert.pem'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'private_key' value '*/test-cert.p12'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'proactive_key_caching' value '1'");
-	config_dict = build_supplicant_config (connection, mtu, 0, NM_SUPPL_CAP_MASK_NONE);
-	g_test_assert_expected_messages ();
-	g_assert (config_dict);
-
-	validate_opt ("wifi-eap", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER (1));
-	validate_opt ("wifi-eap", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
-	validate_opt ("wifi-eap", config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
-	validate_opt ("wifi-eap", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA-EAP");
-	validate_opt ("wifi-eap", config_dict, "eap", NM_SUPPL_OPT_TYPE_KEYWORD, "TLS");
-	validate_opt ("wifi-eap", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
-	validate_opt ("wifi-eap", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
-	validate_opt ("wifi-eap", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
-	validate_opt ("wifi-eap", config_dict, "fragment_size", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(mtu-14));
+    gs_unref_object NMConnection *connection = NULL;
+    gs_unref_variant GVariant *config_dict   = NULL;
+    const unsigned char        ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
+    gs_unref_bytes GBytes *ssid            = g_bytes_new(ssid_data, sizeof(ssid_data));
+    const char *           bssid_str       = "11:22:33:44:55:66";
+    guint32                mtu             = 1100;
+
+    connection = generate_wifi_eap_connection("Test Wifi EAP-TLS Locked",
+                                              ssid,
+                                              bssid_str,
+                                              NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL);
+
+    NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'bssid' value '11:22:33:44:55:66'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
+    NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'WPA-EAP'");
+    NMTST_EXPECT_NM_INFO("Config: added 'proto' value 'WPA RSN'");
+    NMTST_EXPECT_NM_INFO("Config: added 'pairwise' value 'TKIP CCMP'");
+    NMTST_EXPECT_NM_INFO("Config: added 'group' value 'TKIP CCMP'");
+    NMTST_EXPECT_NM_INFO("Config: added 'eap' value 'TLS'");
+    NMTST_EXPECT_NM_INFO("Config: added 'fragment_size' value '1086'");
+    NMTST_EXPECT_NM_INFO("Config: added 'ca_cert' value '*/test-ca-cert.pem'");
+    NMTST_EXPECT_NM_INFO("Config: added 'private_key' value '*/test-cert.p12'");
+    NMTST_EXPECT_NM_INFO("Config: added 'proactive_key_caching' value '1'");
+    config_dict = build_supplicant_config(connection, mtu, 0, NM_SUPPL_CAP_MASK_NONE);
+    g_test_assert_expected_messages();
+    g_assert(config_dict);
+
+    validate_opt("wifi-eap", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
+    validate_opt("wifi-eap", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
+    validate_opt("wifi-eap", config_dict, "bssid", NM_SUPPL_OPT_TYPE_KEYWORD, bssid_str);
+    validate_opt("wifi-eap", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA-EAP");
+    validate_opt("wifi-eap", config_dict, "eap", NM_SUPPL_OPT_TYPE_KEYWORD, "TLS");
+    validate_opt("wifi-eap", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
+    validate_opt("wifi-eap", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
+    validate_opt("wifi-eap", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
+    validate_opt("wifi-eap",
+                 config_dict,
+                 "fragment_size",
+                 NM_SUPPL_OPT_TYPE_INT,
+                 GINT_TO_POINTER(mtu - 14));
 }
 
 static void
-test_wifi_eap_unlocked_bssid (void)
+test_wifi_eap_unlocked_bssid(void)
 {
-	gs_unref_object NMConnection *connection = NULL;
-	gs_unref_variant GVariant *config_dict = NULL;
-	const unsigned char ssid_data[] = { 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44 };
-	gs_unref_bytes GBytes *ssid = g_bytes_new (ssid_data, sizeof (ssid_data));
-	const char *bgscan_data = "simple:30:-65:300";
-	gs_unref_bytes GBytes *bgscan = g_bytes_new (bgscan_data, strlen (bgscan_data));
-	guint32 mtu = 1100;
-
-	connection = generate_wifi_eap_connection ("Test Wifi EAP-TLS Unlocked", ssid, NULL, NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED);
-
-	NMTST_EXPECT_NM_INFO ("Config: added 'ssid' value 'Test SSID'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'scan_ssid' value '1'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'freq_list' value *");
-	NMTST_EXPECT_NM_INFO ("Config: added 'key_mgmt' value 'FILS-SHA256 FILS-SHA384'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'proto' value 'WPA RSN'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'pairwise' value 'TKIP CCMP'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'group' value 'TKIP CCMP'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'eap' value 'TLS'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'fragment_size' value '1086'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'ca_cert' value '*/test-ca-cert.pem'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'private_key' value '*/test-cert.p12'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'proactive_key_caching' value '1'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'bgscan' value 'simple:30:-65:300'");
-	config_dict = build_supplicant_config (connection, mtu, 0, NM_SUPPL_CAP_MASK_T_FILS_YES);
-	g_test_assert_expected_messages ();
-	g_assert (config_dict);
-
-	validate_opt ("wifi-eap", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER (1));
-	validate_opt ("wifi-eap", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
-	validate_opt ("wifi-eap", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "FILS-SHA256 FILS-SHA384");
-	validate_opt ("wifi-eap", config_dict, "eap", NM_SUPPL_OPT_TYPE_KEYWORD, "TLS");
-	validate_opt ("wifi-eap", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
-	validate_opt ("wifi-eap", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
-	validate_opt ("wifi-eap", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
-	validate_opt ("wifi-eap", config_dict, "fragment_size", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(mtu-14));
-	validate_opt ("wifi-eap", config_dict, "bgscan", NM_SUPPL_OPT_TYPE_BYTES, bgscan);
+    gs_unref_object NMConnection *connection = NULL;
+    gs_unref_variant GVariant *config_dict   = NULL;
+    const unsigned char        ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
+    gs_unref_bytes GBytes *ssid            = g_bytes_new(ssid_data, sizeof(ssid_data));
+    const char *           bgscan_data     = "simple:30:-65:300";
+    gs_unref_bytes GBytes *bgscan          = g_bytes_new(bgscan_data, strlen(bgscan_data));
+    guint32                mtu             = 1100;
+
+    connection = generate_wifi_eap_connection("Test Wifi EAP-TLS Unlocked",
+                                              ssid,
+                                              NULL,
+                                              NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED);
+
+    NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
+    NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'FILS-SHA256 FILS-SHA384'");
+    NMTST_EXPECT_NM_INFO("Config: added 'proto' value 'WPA RSN'");
+    NMTST_EXPECT_NM_INFO("Config: added 'pairwise' value 'TKIP CCMP'");
+    NMTST_EXPECT_NM_INFO("Config: added 'group' value 'TKIP CCMP'");
+    NMTST_EXPECT_NM_INFO("Config: added 'eap' value 'TLS'");
+    NMTST_EXPECT_NM_INFO("Config: added 'fragment_size' value '1086'");
+    NMTST_EXPECT_NM_INFO("Config: added 'ca_cert' value '*/test-ca-cert.pem'");
+    NMTST_EXPECT_NM_INFO("Config: added 'private_key' value '*/test-cert.p12'");
+    NMTST_EXPECT_NM_INFO("Config: added 'proactive_key_caching' value '1'");
+    NMTST_EXPECT_NM_INFO("Config: added 'bgscan' value 'simple:30:-65:300'");
+    config_dict = build_supplicant_config(connection, mtu, 0, NM_SUPPL_CAP_MASK_T_FILS_YES);
+    g_test_assert_expected_messages();
+    g_assert(config_dict);
+
+    validate_opt("wifi-eap", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
+    validate_opt("wifi-eap", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
+    validate_opt("wifi-eap",
+                 config_dict,
+                 "key_mgmt",
+                 NM_SUPPL_OPT_TYPE_KEYWORD,
+                 "FILS-SHA256 FILS-SHA384");
+    validate_opt("wifi-eap", config_dict, "eap", NM_SUPPL_OPT_TYPE_KEYWORD, "TLS");
+    validate_opt("wifi-eap", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
+    validate_opt("wifi-eap", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
+    validate_opt("wifi-eap", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
+    validate_opt("wifi-eap",
+                 config_dict,
+                 "fragment_size",
+                 NM_SUPPL_OPT_TYPE_INT,
+                 GINT_TO_POINTER(mtu - 14));
+    validate_opt("wifi-eap", config_dict, "bgscan", NM_SUPPL_OPT_TYPE_BYTES, bgscan);
 }
 
 static void
-test_wifi_eap_fils_disabled (void)
+test_wifi_eap_fils_disabled(void)
 {
-	gs_unref_object NMConnection *connection = NULL;
-	gs_unref_variant GVariant *config_dict = NULL;
-	const unsigned char ssid_data[] = { 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44 };
-	gs_unref_bytes GBytes *ssid = g_bytes_new (ssid_data, sizeof (ssid_data));
-	const char *bgscan_data = "simple:30:-65:300";
-	gs_unref_bytes GBytes *bgscan = g_bytes_new (bgscan_data, strlen (bgscan_data));
-	guint32 mtu = 1100;
-
-	connection = generate_wifi_eap_connection ("Test Wifi FILS disabled", ssid, NULL, NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE);
-
-	NMTST_EXPECT_NM_INFO ("Config: added 'ssid' value 'Test SSID'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'scan_ssid' value '1'*");
-	NMTST_EXPECT_NM_INFO ("Config: added 'freq_list' value *");
-	NMTST_EXPECT_NM_INFO ("Config: added 'key_mgmt' value 'WPA-EAP WPA-EAP-SHA256'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'proto' value 'WPA RSN'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'pairwise' value 'TKIP CCMP'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'group' value 'TKIP CCMP'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'eap' value 'TLS'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'fragment_size' value '1086'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'ca_cert' value '*/test-ca-cert.pem'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'private_key' value '*/test-cert.p12'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'proactive_key_caching' value '1'");
-	NMTST_EXPECT_NM_INFO ("Config: added 'bgscan' value 'simple:30:-65:300'");
-	config_dict = build_supplicant_config (connection, mtu, 0, NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
-	g_test_assert_expected_messages ();
-	g_assert (config_dict);
-
-	validate_opt ("wifi-eap", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER (1));
-	validate_opt ("wifi-eap", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
-	validate_opt ("wifi-eap", config_dict, "key_mgmt", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA-EAP WPA-EAP-SHA256");
-	validate_opt ("wifi-eap", config_dict, "eap", NM_SUPPL_OPT_TYPE_KEYWORD, "TLS");
-	validate_opt ("wifi-eap", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
-	validate_opt ("wifi-eap", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
-	validate_opt ("wifi-eap", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
-	validate_opt ("wifi-eap", config_dict, "fragment_size", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(mtu-14));
-	validate_opt ("wifi-eap", config_dict, "bgscan", NM_SUPPL_OPT_TYPE_BYTES, bgscan);
+    gs_unref_object NMConnection *connection = NULL;
+    gs_unref_variant GVariant *config_dict   = NULL;
+    const unsigned char        ssid_data[] = {0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x53, 0x49, 0x44};
+    gs_unref_bytes GBytes *ssid            = g_bytes_new(ssid_data, sizeof(ssid_data));
+    const char *           bgscan_data     = "simple:30:-65:300";
+    gs_unref_bytes GBytes *bgscan          = g_bytes_new(bgscan_data, strlen(bgscan_data));
+    guint32                mtu             = 1100;
+
+    connection = generate_wifi_eap_connection("Test Wifi FILS disabled",
+                                              ssid,
+                                              NULL,
+                                              NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE);
+
+    NMTST_EXPECT_NM_INFO("Config: added 'ssid' value 'Test SSID'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'scan_ssid' value '1'*");
+    NMTST_EXPECT_NM_INFO("Config: added 'freq_list' value *");
+    NMTST_EXPECT_NM_INFO("Config: added 'key_mgmt' value 'WPA-EAP WPA-EAP-SHA256'");
+    NMTST_EXPECT_NM_INFO("Config: added 'proto' value 'WPA RSN'");
+    NMTST_EXPECT_NM_INFO("Config: added 'pairwise' value 'TKIP CCMP'");
+    NMTST_EXPECT_NM_INFO("Config: added 'group' value 'TKIP CCMP'");
+    NMTST_EXPECT_NM_INFO("Config: added 'eap' value 'TLS'");
+    NMTST_EXPECT_NM_INFO("Config: added 'fragment_size' value '1086'");
+    NMTST_EXPECT_NM_INFO("Config: added 'ca_cert' value '*/test-ca-cert.pem'");
+    NMTST_EXPECT_NM_INFO("Config: added 'private_key' value '*/test-cert.p12'");
+    NMTST_EXPECT_NM_INFO("Config: added 'proactive_key_caching' value '1'");
+    NMTST_EXPECT_NM_INFO("Config: added 'bgscan' value 'simple:30:-65:300'");
+    config_dict =
+        build_supplicant_config(connection,
+                                mtu,
+                                0,
+                                NM_SUPPL_CAP_MASK_T_PMF_YES | NM_SUPPL_CAP_MASK_T_FILS_YES);
+    g_test_assert_expected_messages();
+    g_assert(config_dict);
+
+    validate_opt("wifi-eap", config_dict, "scan_ssid", NM_SUPPL_OPT_TYPE_INT, GINT_TO_POINTER(1));
+    validate_opt("wifi-eap", config_dict, "ssid", NM_SUPPL_OPT_TYPE_BYTES, ssid);
+    validate_opt("wifi-eap",
+                 config_dict,
+                 "key_mgmt",
+                 NM_SUPPL_OPT_TYPE_KEYWORD,
+                 "WPA-EAP WPA-EAP-SHA256");
+    validate_opt("wifi-eap", config_dict, "eap", NM_SUPPL_OPT_TYPE_KEYWORD, "TLS");
+    validate_opt("wifi-eap", config_dict, "proto", NM_SUPPL_OPT_TYPE_KEYWORD, "WPA RSN");
+    validate_opt("wifi-eap", config_dict, "pairwise", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
+    validate_opt("wifi-eap", config_dict, "group", NM_SUPPL_OPT_TYPE_KEYWORD, "TKIP CCMP");
+    validate_opt("wifi-eap",
+                 config_dict,
+                 "fragment_size",
+                 NM_SUPPL_OPT_TYPE_INT,
+                 GINT_TO_POINTER(mtu - 14));
+    validate_opt("wifi-eap", config_dict, "bgscan", NM_SUPPL_OPT_TYPE_BYTES, bgscan);
 }
 
 /*****************************************************************************/
 
 static void
-test_suppl_cap_mask (void)
+test_suppl_cap_mask(void)
 {
-	NMSupplCapType type;
-
-	g_assert_cmpint (NM_SUPPL_CAP_MASK_GET (NM_SUPPL_CAP_MASK_T_AP_NO,  NM_SUPPL_CAP_TYPE_AP), ==, NM_TERNARY_FALSE);
-	g_assert_cmpint (NM_SUPPL_CAP_MASK_GET (NM_SUPPL_CAP_MASK_T_AP_YES, NM_SUPPL_CAP_TYPE_AP), ==, NM_TERNARY_TRUE);
-	g_assert_cmpint (NM_SUPPL_CAP_MASK_GET (NM_SUPPL_CAP_MASK_NONE,     NM_SUPPL_CAP_TYPE_AP), ==, NM_TERNARY_DEFAULT);
-
-	g_assert_cmpint (NM_SUPPL_CAP_MASK_GET (NM_SUPPL_CAP_MASK_T_FILS_NO,  NM_SUPPL_CAP_TYPE_FILS), ==, NM_TERNARY_FALSE);
-	g_assert_cmpint (NM_SUPPL_CAP_MASK_GET (NM_SUPPL_CAP_MASK_T_FILS_YES, NM_SUPPL_CAP_TYPE_FILS), ==, NM_TERNARY_TRUE);
-	g_assert_cmpint (NM_SUPPL_CAP_MASK_GET (NM_SUPPL_CAP_MASK_NONE,       NM_SUPPL_CAP_TYPE_FILS), ==, NM_TERNARY_DEFAULT);
-
-	for (type = 0; type < _NM_SUPPL_CAP_TYPE_NUM; type++) {
-		NMTernary value;
-		NMSupplCapMask feature;
-		NMSupplCapMask feature2;
-
-		feature =   nmtst_get_rand_bool ()
-		          ? 0u
-		          : nmtst_get_rand_uint64 ();
-		feature &= NM_SUPPL_CAP_MASK_ALL;
-
-		value = nmtst_rand_select (NM_TERNARY_DEFAULT,
-		                           NM_TERNARY_FALSE,
-		                           NM_TERNARY_TRUE);
-
-		feature2 = NM_SUPPL_CAP_MASK_SET (feature, type, value);
-
-		g_assert_cmpint (NM_SUPPL_CAP_MASK_GET (feature2, type), ==, value);
-		g_assert_cmpint (feature & ~NM_SUPPL_CAP_MASK_MASK (type), ==, feature2 & ~NM_SUPPL_CAP_MASK_MASK (type));
-	}
+    NMSupplCapType type;
+
+    g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_T_AP_NO, NM_SUPPL_CAP_TYPE_AP),
+                    ==,
+                    NM_TERNARY_FALSE);
+    g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_T_AP_YES, NM_SUPPL_CAP_TYPE_AP),
+                    ==,
+                    NM_TERNARY_TRUE);
+    g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_NONE, NM_SUPPL_CAP_TYPE_AP),
+                    ==,
+                    NM_TERNARY_DEFAULT);
+
+    g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_T_FILS_NO, NM_SUPPL_CAP_TYPE_FILS),
+                    ==,
+                    NM_TERNARY_FALSE);
+    g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_T_FILS_YES, NM_SUPPL_CAP_TYPE_FILS),
+                    ==,
+                    NM_TERNARY_TRUE);
+    g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(NM_SUPPL_CAP_MASK_NONE, NM_SUPPL_CAP_TYPE_FILS),
+                    ==,
+                    NM_TERNARY_DEFAULT);
+
+    for (type = 0; type < _NM_SUPPL_CAP_TYPE_NUM; type++) {
+        NMTernary      value;
+        NMSupplCapMask feature;
+        NMSupplCapMask feature2;
+
+        feature = nmtst_get_rand_bool() ? 0u : nmtst_get_rand_uint64();
+        feature &= NM_SUPPL_CAP_MASK_ALL;
+
+        value = nmtst_rand_select(NM_TERNARY_DEFAULT, NM_TERNARY_FALSE, NM_TERNARY_TRUE);
+
+        feature2 = NM_SUPPL_CAP_MASK_SET(feature, type, value);
+
+        g_assert_cmpint(NM_SUPPL_CAP_MASK_GET(feature2, type), ==, value);
+        g_assert_cmpint(feature & ~NM_SUPPL_CAP_MASK_MASK(type),
+                        ==,
+                        feature2 & ~NM_SUPPL_CAP_MASK_MASK(type));
+    }
 }
 
 /*****************************************************************************/
 
-NMTST_DEFINE ();
+NMTST_DEFINE();
 
-int main (int argc, char **argv)
+int
+main(int argc, char **argv)
 {
-	nmtst_init_assert_logging (&argc, &argv, "INFO", "DEFAULT");
-
-	g_test_add_func ("/supplicant-config/wifi-open", test_wifi_open);
-	g_test_add_func ("/supplicant-config/wifi-wep", test_wifi_wep);
-	g_test_add_func ("/supplicant-config/wifi-wpa-psk-types", test_wifi_wpa_psk_types);
-	g_test_add_func ("/supplicant-config/wifi-eap/locked-bssid", test_wifi_eap_locked_bssid);
-	g_test_add_func ("/supplicant-config/wifi-eap/unlocked-bssid", test_wifi_eap_unlocked_bssid);
-	g_test_add_func ("/supplicant-config/wifi-eap/fils-disabled", test_wifi_eap_fils_disabled);
-	g_test_add_func ("/supplicant-config/wifi-sae", test_wifi_sae);
-	g_test_add_func ("/supplicant-config/test_suppl_cap_mask", test_suppl_cap_mask);
-
-	return g_test_run ();
+    nmtst_init_assert_logging(&argc, &argv, "INFO", "DEFAULT");
+
+    g_test_add_func("/supplicant-config/wifi-open", test_wifi_open);
+    g_test_add_func("/supplicant-config/wifi-wep", test_wifi_wep);
+    g_test_add_func("/supplicant-config/wifi-wpa-psk-types", test_wifi_wpa_psk_types);
+    g_test_add_func("/supplicant-config/wifi-eap/locked-bssid", test_wifi_eap_locked_bssid);
+    g_test_add_func("/supplicant-config/wifi-eap/unlocked-bssid", test_wifi_eap_unlocked_bssid);
+    g_test_add_func("/supplicant-config/wifi-eap/fils-disabled", test_wifi_eap_fils_disabled);
+    g_test_add_func("/supplicant-config/wifi-sae", test_wifi_sae);
+    g_test_add_func("/supplicant-config/test_suppl_cap_mask", test_suppl_cap_mask);
+
+    return g_test_run();
 }