about summary refs log tree commit diff
path: root/src/nmtui/nm-editor-utils.c
diff options
context:
space:
mode:
authorJeremy Bicha <jeremy.bicha@canonical.com>2022-02-03 09:24:19 -0500
committerJeremy Bicha <jeremy.bicha@canonical.com>2022-02-03 12:01:26 -0500
commit240934659cd8326a14324c73d4f0f88eecfddcab (patch)
treee07cde48aa0a143bebf10ca7103cc0e69febad25 /src/nmtui/nm-editor-utils.c
parentfbe61ddadf4a89800a8e3651ae91099259ddf2ad (diff)
parent1628eda029ba4dede8d4d45572c6b60367882436 (diff)
Merge tag 'debian/1.34.0-2' into ubuntu/master
network-manager Debian release 1.34.0-2
Diffstat (limited to 'src/nmtui/nm-editor-utils.c')
-rw-r--r--src/nmtui/nm-editor-utils.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/nmtui/nm-editor-utils.c b/src/nmtui/nm-editor-utils.c
index c6b03bd8..2b6acbbe 100644
--- a/src/nmtui/nm-editor-utils.c
+++ b/src/nmtui/nm-editor-utils.c
@@ -16,7 +16,7 @@
 
 #include "nm-editor-utils.h"
 #if 0
-    #include "libnmc-base/nm-vpn-helpers.h"
+#include "libnmc-base/nm-vpn-helpers.h"
 
 static GSList *vpn_plugins;
 
@@ -66,6 +66,22 @@ bond_connection_setup_func(NMConnection *connection, NMSettingConnection *s_con,
     }
 }
 
+static void
+wireguard_connection_setup_func(NMConnection *       connection,
+                                NMSettingConnection *s_con,
+                                NMSetting *          s_hw)
+{
+    NMSettingIPConfig *s_ip;
+
+    s_ip = (NMSettingIPConfig *) nm_setting_ip4_config_new();
+    g_object_set(s_ip, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_DISABLED, NULL);
+    nm_connection_add_setting(connection, (NMSetting *) s_ip);
+
+    s_ip = (NMSettingIPConfig *) nm_setting_ip6_config_new();
+    g_object_set(s_ip, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_DISABLED, NULL);
+    nm_connection_add_setting(connection, (NMSetting *) s_ip);
+}
+
 typedef void (*NMEditorNewConnectionSetupFunc)(NMConnection *       connection,
                                                NMSettingConnection *s_con,
                                                NMSetting *          s_hw);
@@ -243,6 +259,15 @@ nm_editor_utils_get_connection_type_list(void)
     }
 #endif
 
+    item                        = g_new0(NMEditorConnectionTypeDataReal, 1);
+    item->data.name             = _("WireGuard");
+    item->data.setting_type     = NM_TYPE_SETTING_WIREGUARD;
+    item->data.device_type      = NM_TYPE_DEVICE_WIREGUARD;
+    item->data.virtual          = TRUE;
+    item->id_format             = _("WireGuard connection %d");
+    item->connection_setup_func = wireguard_connection_setup_func;
+    g_ptr_array_add(array, item);
+
     g_ptr_array_sort(array, sort_types);
     g_ptr_array_add(array, NULL);