[gnome-control-center] network: Update wireless-security from network-manager-applet



commit 8386631dcdcf2eb62ca1de726ccfb15e6322a5e1
Author: Bastien Nocera <hadess hadess net>
Date:   Tue Jun 7 16:53:04 2016 +0200

    network: Update wireless-security from network-manager-applet
    
    To replace the WIP code that landed earlier.

 panels/network/wireless-security/eap-method-fast.c |   12 ++++-----
 panels/network/wireless-security/eap-method-leap.c |   11 ++++----
 .../network/wireless-security/eap-method-simple.c  |   15 +++++------
 panels/network/wireless-security/eap-method-tls.c  |   25 ++++++++++++--------
 panels/network/wireless-security/eap-method.c      |   11 ++++----
 panels/network/wireless-security/ws-leap.c         |   11 ++++----
 6 files changed, 42 insertions(+), 43 deletions(-)
---
diff --git a/panels/network/wireless-security/eap-method-fast.c 
b/panels/network/wireless-security/eap-method-fast.c
index be5578d..827b2e0 100644
--- a/panels/network/wireless-security/eap-method-fast.c
+++ b/panels/network/wireless-security/eap-method-fast.c
@@ -59,8 +59,7 @@ validate (EAPMethod *parent, GError **error)
        EAPMethod *eap = NULL;
        const char *file;
        gboolean provisioning;
-       gboolean valid = FALSE;
-       gboolean ret = TRUE;
+       gboolean valid = TRUE;
 
        widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_pac_provision_checkbutton"));
        g_assert (widget);
@@ -71,10 +70,9 @@ validate (EAPMethod *parent, GError **error)
        if (!provisioning && !file) {
                widget_set_error (widget);
                g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("missing EAP-FAST PAC file"));
-               ret = FALSE;
-       } else {
+               valid = FALSE;
+       } else
                widget_unset_error (widget);
-       }
 
        widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_inner_auth_combo"));
        g_assert (widget);
@@ -82,9 +80,9 @@ validate (EAPMethod *parent, GError **error)
        gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter);
        gtk_tree_model_get (model, &iter, I_METHOD_COLUMN, &eap, -1);
        g_assert (eap);
-       valid = eap_method_validate (eap, *error ? NULL : error);
+       valid = eap_method_validate (eap, valid ? error : NULL) && valid;
        eap_method_unref (eap);
-       return ret ? valid : ret;
+       return valid;
 }
 
 static void
diff --git a/panels/network/wireless-security/eap-method-leap.c 
b/panels/network/wireless-security/eap-method-leap.c
index 6163468..2abb5dd 100644
--- a/panels/network/wireless-security/eap-method-leap.c
+++ b/panels/network/wireless-security/eap-method-leap.c
@@ -64,19 +64,18 @@ validate (EAPMethod *parent, GError **error)
                widget_set_error (GTK_WIDGET (method->username_entry));
                g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("missing EAP-LEAP username"));
                ret = FALSE;
-       } else {
+       } else
                widget_unset_error (GTK_WIDGET (method->username_entry));
-       }
 
        text = gtk_entry_get_text (method->password_entry);
        if (!text || !strlen (text)) {
                widget_set_error (GTK_WIDGET (method->password_entry));
-               if (!*error)
+               if (ret) {
                        g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("missing EAP-LEAP 
password"));
-               ret = FALSE;
-       } else {
+                       ret = FALSE;
+               }
+       } else
                widget_unset_error (GTK_WIDGET (method->password_entry));
-       }
 
        return ret;
 }
diff --git a/panels/network/wireless-security/eap-method-simple.c 
b/panels/network/wireless-security/eap-method-simple.c
index f9fd473..4731aed 100644
--- a/panels/network/wireless-security/eap-method-simple.c
+++ b/panels/network/wireless-security/eap-method-simple.c
@@ -73,23 +73,22 @@ validate (EAPMethod *parent, GError **error)
                widget_set_error (GTK_WIDGET (method->username_entry));
                g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("missing EAP username"));
                ret = FALSE;
-       } else {
+       } else
                widget_unset_error (GTK_WIDGET (method->username_entry));
-       }
 
        /* Check if the password should always be requested */
-       if (always_ask_selected (method->password_entry)) {
+       if (always_ask_selected (method->password_entry))
                widget_unset_error (GTK_WIDGET (method->password_entry));
-       } else {
+       else {
                text = gtk_entry_get_text (method->password_entry);
                if (!text || !strlen (text)) {
                        widget_set_error (GTK_WIDGET (method->password_entry));
-                       if (!*error)
+                       if (ret) {
                                g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("missing EAP 
password"));
-                       ret = FALSE;
-               } else {
+                               ret = FALSE;
+                       }
+               } else
                        widget_unset_error (GTK_WIDGET (method->password_entry));
-               }
        }
 
        return ret;
diff --git a/panels/network/wireless-security/eap-method-tls.c 
b/panels/network/wireless-security/eap-method-tls.c
index 587c399..0a67e02 100644
--- a/panels/network/wireless-security/eap-method-tls.c
+++ b/panels/network/wireless-security/eap-method-tls.c
@@ -73,15 +73,17 @@ validate (EAPMethod *parent, GError **error)
 
        if (!eap_method_validate_filepicker (parent->builder, "eap_tls_ca_cert_button", TYPE_CA_CERT, NULL, 
NULL, &local)) {
                widget_set_error (GTK_WIDGET (gtk_builder_get_object (parent->builder, 
"eap_tls_ca_cert_button")));
-               if (!*error)
+               if (ret) {
                        g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS CA certificate: 
%s"), local->message);
+                       ret = FALSE;
+               }
                g_clear_error (&local);
-               ret = FALSE;
        } else if (eap_method_ca_cert_required (parent->builder, "eap_tls_ca_cert_not_required_checkbox", 
"eap_tls_ca_cert_button")) {
                widget_set_error (GTK_WIDGET (gtk_builder_get_object (parent->builder, 
"eap_tls_ca_cert_button")));
-               if (!*error)
+               if (ret) {
                        g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS CA 
certificate: no certificate specified"));
-               ret = FALSE;
+                       ret = FALSE;
+               }
        }
 
        widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_password_entry"));
@@ -89,9 +91,10 @@ validate (EAPMethod *parent, GError **error)
        password = gtk_entry_get_text (GTK_ENTRY (widget));
        if (!password || !strlen (password)) {
                widget_set_error (widget);
-               if (!*error)
+               if (ret) {
                        g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS 
password: missing"));
-               ret = FALSE;
+                       ret = FALSE;
+               }
        } else {
                widget_unset_error (widget);
        }
@@ -102,20 +105,22 @@ validate (EAPMethod *parent, GError **error)
                                             password,
                                             &format,
                                             &local)) {
-               if (!*error)
+               if (ret) {
                        g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS private-key: 
%s"), local->message);
+                       ret = FALSE;
+               }
                g_clear_error (&local);
                widget_set_error (GTK_WIDGET (gtk_builder_get_object (parent->builder, 
"eap_tls_private_key_button")));
-               ret = FALSE;
        }
 
        if (format != NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
                if (!eap_method_validate_filepicker (parent->builder, "eap_tls_user_cert_button", 
TYPE_CLIENT_CERT, NULL, NULL, &local)) {
-                       if (!*error)
+                       if (ret) {
                                g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS 
user-certificate: %s"), local->message);
+                               ret = FALSE;
+                       }
                        g_clear_error (&local);
                        widget_set_error (GTK_WIDGET (gtk_builder_get_object (parent->builder, 
"eap_tls_user_cert_button")));
-                       ret = FALSE;
                }
        }
 
diff --git a/panels/network/wireless-security/eap-method.c b/panels/network/wireless-security/eap-method.c
index 6ec4849..1376e39 100644
--- a/panels/network/wireless-security/eap-method.c
+++ b/panels/network/wireless-security/eap-method.c
@@ -241,7 +241,7 @@ eap_method_validate_filepicker (GtkBuilder *builder,
        filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget));
        if (!filename) {
                if (item_type != TYPE_CA_CERT) {
-                       widget_set_error (widget);
+                       success = FALSE;
                        g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("no file selected"));
                }
                goto out;
@@ -249,7 +249,6 @@ eap_method_validate_filepicker (GtkBuilder *builder,
 
        if (!g_file_test (filename, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
                success = FALSE;
-               widget_set_error (widget);
                goto out;
        }
 
@@ -268,9 +267,6 @@ eap_method_validate_filepicker (GtkBuilder *builder,
        } else
                g_warning ("%s: invalid item type %d.", __func__, item_type);
 
-       if (!success)
-               widget_set_error (widget);
-
        g_object_unref (setting);
 
 out:
@@ -278,8 +274,11 @@ out:
 
        if (!success && error && !*error)
                g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("unspecified error validating 
eap-method file"));
-       else
+
+       if (success)
                widget_unset_error (widget);
+       else
+               widget_set_error (widget);
        return success;
 }
 
diff --git a/panels/network/wireless-security/ws-leap.c b/panels/network/wireless-security/ws-leap.c
index 3a0f60c..b87bb2d 100644
--- a/panels/network/wireless-security/ws-leap.c
+++ b/panels/network/wireless-security/ws-leap.c
@@ -62,21 +62,20 @@ validate (WirelessSecurity *parent, GError **error)
                widget_set_error (entry);
                g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("missing leap-username"));
                ret = FALSE;
-       } else {
+       } else
                widget_unset_error (entry);
-       }
 
        entry = GTK_WIDGET (gtk_builder_get_object (parent->builder, "leap_password_entry"));
        g_assert (entry);
        text = gtk_entry_get_text (GTK_ENTRY (entry));
        if (!text || !strlen (text)) {
                widget_set_error (entry);
-               if (!*error)
+               if (ret) {
                        g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("missing leap-password"));
-               ret = FALSE;
-       } else {
+                       ret = FALSE;
+               }
+       } else
                widget_unset_error (entry);
-       }
 
        return ret;
 }


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