about 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-interface.c11
-rw-r--r--src/supplicant/nm-supplicant-types.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/src/supplicant/nm-supplicant-interface.c b/src/supplicant/nm-supplicant-interface.c
index 1f6252f6..77254c7e 100644
--- a/src/supplicant/nm-supplicant-interface.c
+++ b/src/supplicant/nm-supplicant-interface.c
@@ -833,8 +833,11 @@ _peer_info_destroy(NMSupplicantPeerInfo *peer_info)
     g_free(peer_info->model);
     g_free(peer_info->model_number);
     g_free(peer_info->serial);
+    g_free(peer_info->groups);
     g_bytes_unref(peer_info->ies);
 
+    nm_ref_string_unref(peer_info->peer_path);
+
     nm_g_slice_free(peer_info);
 }
 
@@ -854,6 +857,7 @@ _peer_info_properties_changed(NMSupplicantInterface *self,
 {
     GVariant *    v_v;
     const char *  v_s;
+    const char ** v_strv;
     gint32        v_i32;
     const guint8 *arr_data;
     gsize         arr_len;
@@ -878,6 +882,13 @@ _peer_info_properties_changed(NMSupplicantInterface *self,
     if (nm_g_variant_lookup(properties, "Serial", "&s", &v_s))
         nm_utils_strdup_reset(&peer_info->serial, v_s);
 
+    if (nm_g_variant_lookup(properties, "Groups", "^a&o", &v_strv)) {
+        g_free(peer_info->groups);
+        peer_info->groups = nm_utils_strv_dup_packed(v_strv, -1);
+
+        g_free(v_strv);
+    }
+
     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);
diff --git a/src/supplicant/nm-supplicant-types.h b/src/supplicant/nm-supplicant-types.h
index dc1e3c35..e35059af 100644
--- a/src/supplicant/nm-supplicant-types.h
+++ b/src/supplicant/nm-supplicant-types.h
@@ -185,6 +185,8 @@ typedef struct _NMSupplicantPeerInfo {
     char *model_number;
     char *serial;
 
+    const char **groups;
+
     GBytes *ies;
 
     gint64 last_seen_msec;