From a7bda9a95ec12ccaf7c1ec2df9eafd1f59cb2530 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Tue, 17 Dec 2019 16:28:00 +0100 Subject: [PATCH] nm: Make remote identity editable in GUI --- .../gnome/properties/nm-strongswan-dialog.ui | 28 +++++++++++++++++++ .../gnome/properties/nm-strongswan.c | 12 ++++++++ 2 files changed, 40 insertions(+) diff --git a/src/frontends/gnome/properties/nm-strongswan-dialog.ui b/src/frontends/gnome/properties/nm-strongswan-dialog.ui index 8681c42ebf..0d9d62da3e 100644 --- a/src/frontends/gnome/properties/nm-strongswan-dialog.ui +++ b/src/frontends/gnome/properties/nm-strongswan-dialog.ui @@ -88,6 +88,34 @@ 1 + + + True + False + _Identity: + True + 0 + + + 0 + 2 + + + + + True + True + Defaults to the server address or the server certificate's subject DN (if configured). Custom values are explicitly sent to the server and enforced during authentication. + True + False + False + (Defaults to address or certificate subject) + + + 1 + 2 + + False diff --git a/src/frontends/gnome/properties/nm-strongswan.c b/src/frontends/gnome/properties/nm-strongswan.c index d261dcb7aa..5204d9a8fa 100644 --- a/src/frontends/gnome/properties/nm-strongswan.c +++ b/src/frontends/gnome/properties/nm-strongswan.c @@ -299,6 +299,12 @@ init_plugin_ui (StrongswanPluginUiWidget *self, NMConnection *connection, GError gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (widget), value); g_signal_connect (G_OBJECT (widget), "selection-changed", G_CALLBACK (settings_changed_cb), self); + widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "remote-identity-entry")); + value = nm_setting_vpn_get_data_item (settings, "remote-identity"); + if (value) + gtk_entry_set_text (GTK_ENTRY (widget), value); + g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (settings_changed_cb), self); + widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "user-entry")); value = nm_setting_vpn_get_data_item (settings, "user"); if (value) @@ -483,6 +489,12 @@ update_connection (NMVpnEditor *iface, nm_setting_vpn_add_data_item (settings, "certificate", str); } + widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "remote-identity-entry")); + str = (char *) gtk_entry_get_text (GTK_ENTRY (widget)); + if (str && strlen (str)) { + nm_setting_vpn_add_data_item (settings, "remote-identity", str); + } + widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "method-combo")); switch (gtk_combo_box_get_active (GTK_COMBO_BOX (widget))) { -- 2.47.2