[NetworkManager-fortisslvpn] properties: add the capability to set the realm



commit 47e6e0d495a9bda801a33235592c3301e6cfa699
Author: Lubomir Rintel <lkundrak v3 sk>
Date:   Wed Mar 20 12:42:38 2019 +0100

    properties: add the capability to set the realm
    
    Avalable in the advanced dialog.

 properties/nm-fortisslvpn-dialog.ui | 58 ++++++++++++++++++++++++++++++++++---
 properties/nm-fortisslvpn-editor.c  | 26 ++++++++++++++---
 2 files changed, 76 insertions(+), 8 deletions(-)
---
diff --git a/properties/nm-fortisslvpn-dialog.ui b/properties/nm-fortisslvpn-dialog.ui
index c6e3848..ed25a8e 100644
--- a/properties/nm-fortisslvpn-dialog.ui
+++ b/properties/nm-fortisslvpn-dialog.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.0 -->
+<!-- Generated with glade 3.22.1 -->
 <interface>
   <requires lib="gtk+" version="3.4"/>
   <object class="GtkDialog" id="advanced_dialog">
@@ -12,6 +12,9 @@
     <property name="icon_name">stock-preferences</property>
     <property name="type_hint">dialog</property>
     <property name="skip_pager_hint">True</property>
+    <child>
+      <placeholder/>
+    </child>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox1">
         <property name="can_focus">False</property>
@@ -79,6 +82,53 @@
                 <property name="position">0</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkAlignment" id="alignment4">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkGrid" id="table4">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="row_spacing">6</property>
+                    <property name="column_spacing">12</property>
+                    <child>
+                      <object class="GtkEntry" id="realm_entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip_text" translatable="yes">SSLVPN server IP or name.
+config: the first parameter of fortisslvpn</property>
+                        <property name="hexpand">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label8">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">_Realm:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">gateway_entry</property>
+                        <property name="xalign">0</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
             <child>
               <object class="GtkAlignment" id="alignment3">
                 <property name="visible">True</property>
@@ -99,7 +149,7 @@
               <packing>
                 <property name="expand">True</property>
                 <property name="fill">True</property>
-                <property name="position">1</property>
+                <property name="position">2</property>
               </packing>
             </child>
             <child>
@@ -115,7 +165,7 @@
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="position">2</property>
+                <property name="position">3</property>
               </packing>
             </child>
             <child>
@@ -163,7 +213,7 @@
               <packing>
                 <property name="expand">True</property>
                 <property name="fill">True</property>
-                <property name="position">3</property>
+                <property name="position">4</property>
               </packing>
             </child>
           </object>
diff --git a/properties/nm-fortisslvpn-editor.c b/properties/nm-fortisslvpn-editor.c
index efce2c6..d7a2f4d 100644
--- a/properties/nm-fortisslvpn-editor.c
+++ b/properties/nm-fortisslvpn-editor.c
@@ -41,6 +41,7 @@ typedef struct {
        gboolean window_added;
        gboolean new_connection;
        gchar *trusted_cert;
+       gchar *realm;
        NMSettingSecretFlags otp_flags;
 } FortisslvpnEditorPrivate;
 
@@ -153,13 +154,17 @@ advanced_dialog_response_cb (GtkWidget *dialog, gint response, gpointer user_dat
 {
        FortisslvpnEditor *self = FORTISSLVPN_EDITOR (user_data);
        FortisslvpnEditorPrivate *priv = FORTISSLVPN_EDITOR_GET_PRIVATE (self);
-       GtkEntry *entry = GTK_ENTRY (gtk_builder_get_object (priv->builder, "trusted_cert_entry"));
+       GtkEntry *trusted_cert_entry = GTK_ENTRY (gtk_builder_get_object (priv->builder, 
"trusted_cert_entry"));
+       GtkEntry *realm_entry = GTK_ENTRY (gtk_builder_get_object (priv->builder, "realm_entry"));
        GtkToggleButton *use_otp = GTK_TOGGLE_BUTTON (gtk_builder_get_object (priv->builder, "use_otp"));
 
-       g_assert (entry);
+       g_return_if_fail (trusted_cert_entry);
+       g_return_if_fail (realm_entry);
+
        if (response == GTK_RESPONSE_OK) {
                g_free (priv->trusted_cert);
-               priv->trusted_cert = g_strdup (gtk_entry_get_text (entry));
+               priv->trusted_cert = g_strdup (gtk_entry_get_text (trusted_cert_entry));
+               priv->realm = g_strdup (gtk_entry_get_text (realm_entry));
                stuff_changed_cb (NULL, self);
 
                if (gtk_toggle_button_get_active (use_otp))
@@ -167,7 +172,8 @@ advanced_dialog_response_cb (GtkWidget *dialog, gint response, gpointer user_dat
                else
                        priv->otp_flags &= ~NM_SETTING_SECRET_FLAG_NOT_SAVED;
        } else {
-               gtk_entry_set_text (entry, priv->trusted_cert);
+               gtk_entry_set_text (trusted_cert_entry, priv->trusted_cert);
+               gtk_entry_set_text (realm_entry, priv->realm);
                gtk_toggle_button_set_active (use_otp,
                                              priv->otp_flags & NM_SETTING_SECRET_FLAG_NOT_SAVED);
        }
@@ -240,6 +246,12 @@ init_editor_plugin (FortisslvpnEditor *self, NMConnection *connection, GError **
                if (!priv->trusted_cert)
                        priv->trusted_cert = g_strdup ("");
                gtk_entry_set_text (GTK_ENTRY (widget), priv->trusted_cert);
+
+               priv->realm = g_strdup (nm_setting_vpn_get_data_item (s_vpn,
+                                                                     NM_FORTISSLVPN_KEY_REALM));
+               if (!priv->realm)
+                       priv->realm = g_strdup ("");
+               gtk_entry_set_text (GTK_ENTRY (widget), priv->realm);
        }
 
        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "use_otp"));
@@ -415,6 +427,12 @@ update_connection (NMVpnEditor *iface,
                                              NM_FORTISSLVPN_KEY_TRUSTED_CERT,
                                              priv->trusted_cert);
 
+       /* Realm */
+       if (priv->realm && strlen (priv->realm))
+               nm_setting_vpn_add_data_item (s_vpn,
+                                             NM_FORTISSLVPN_KEY_REALM,
+                                             priv->realm);
+
        /* Use OTP */
        nm_setting_set_secret_flags (NM_SETTING (s_vpn), NM_FORTISSLVPN_KEY_OTP, priv->otp_flags, NULL);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]