[network-manager-applet/th/ca_cert_ignore: 2/2] applet: remove wrong assert in eap_method_ca_cert_not_required_toggled



commit 09c7dcbaea66e6565179e363c8acfab9d263983f
Author: Thomas Haller <thaller redhat com>
Date:   Mon Oct 7 17:47:04 2013 +0200

    applet: remove wrong assert in eap_method_ca_cert_not_required_toggled
    
    When during "Connect to Hidden Network" an EAP dialog gets loaded, the
    ca_cert_ignore flag might be missing. Still the user can click on
    "Connect" which causes the hereby removed assert to fail.
    
    When the user clicks "Connect", eventually, fill_connection and
    eap_method_ca_cert_not_required_set will be called, which saves the flag
    in gsettings and makes it permanently.
    
    That means for an connection with no ca certificate and no ignore flag
    the following holds:
    
    - the user can connect to it, by clicking on it in the list of available
      wifi networks. No warning will be issued that it might be insecure.
    - the user can connect to it, by calling "Connect to Hidden Network". In
      this case, the flag will also be saved and the connection becomes
      trusted.
    
    Signed-off-by: Thomas Haller <thaller redhat com>

 src/wireless-security/eap-method-peap.c |    2 +-
 src/wireless-security/eap-method-tls.c  |    4 ++--
 src/wireless-security/eap-method-ttls.c |    2 +-
 src/wireless-security/eap-method.c      |   10 +---------
 src/wireless-security/eap-method.h      |    3 +--
 5 files changed, 6 insertions(+), 15 deletions(-)
---
diff --git a/src/wireless-security/eap-method-peap.c b/src/wireless-security/eap-method-peap.c
index f8ef35b..932ae25 100644
--- a/src/wireless-security/eap-method-peap.c
+++ b/src/wireless-security/eap-method-peap.c
@@ -164,7 +164,7 @@ fill_connection (EAPMethod *parent, NMConnection *connection)
                g_clear_error (&error);
                ca_cert_error = TRUE;
        }
-       eap_method_ca_cert_ignore_set (parent, connection, filename, ca_cert_error, 
"eap_peap_ca_cert_not_required_checkbox");
+       eap_method_ca_cert_ignore_set (parent, connection, filename, ca_cert_error);
        g_free (filename);
 
        widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_version_combo"));
diff --git a/src/wireless-security/eap-method-tls.c b/src/wireless-security/eap-method-tls.c
index afe8c06..b57d1ed 100644
--- a/src/wireless-security/eap-method-tls.c
+++ b/src/wireless-security/eap-method-tls.c
@@ -234,7 +234,7 @@ fill_connection (EAPMethod *parent, NMConnection *connection)
                        ca_cert_error = TRUE;
                }
        }
-       eap_method_ca_cert_ignore_set (parent, connection, ca_filename, ca_cert_error, 
"eap_tls_ca_cert_not_required_checkbox");
+       eap_method_ca_cert_ignore_set (parent, connection, ca_filename, ca_cert_error);
        g_free (ca_filename);
 }
 
@@ -471,7 +471,7 @@ eap_method_tls_new (WirelessSecurity *ws_parent,
                          phase2 ? nm_setting_802_1x_get_phase2_private_key_path : 
nm_setting_802_1x_get_private_key_path,
                          TRUE, FALSE);
 
-       if (eap_method_ca_cert_ignore_get (parent, connection)) {
+       if (connection && eap_method_ca_cert_ignore_get (parent, connection)) {
                widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button"));
                ca_not_required = !gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget));
        }
diff --git a/src/wireless-security/eap-method-ttls.c b/src/wireless-security/eap-method-ttls.c
index e8c9e4d..8d45865 100644
--- a/src/wireless-security/eap-method-ttls.c
+++ b/src/wireless-security/eap-method-ttls.c
@@ -159,7 +159,7 @@ fill_connection (EAPMethod *parent, NMConnection *connection)
                g_clear_error (&error);
                ca_cert_error = TRUE;
        }
-       eap_method_ca_cert_ignore_set (parent, connection, filename, ca_cert_error, 
"eap_ttls_ca_cert_not_required_checkbox");
+       eap_method_ca_cert_ignore_set (parent, connection, filename, ca_cert_error);
        g_free (filename);
 
        widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_inner_auth_combo"));
diff --git a/src/wireless-security/eap-method.c b/src/wireless-security/eap-method.c
index 3f17715..bdd67d0 100644
--- a/src/wireless-security/eap-method.c
+++ b/src/wireless-security/eap-method.c
@@ -527,8 +527,6 @@ eap_method_ca_cert_not_required_toggled (GtkBuilder *builder, const char *id_ca_
  * @filename: the certificate file, if any
  * @ca_cert_error: %TRUE if an error was encountered loading the given CA
  * certificate, %FALSE if not or if a CA certificate is not present
- * @id_ca_cert_is_not_required_checkbox: the #GtkWidget object name of the
- * "CA certificate not required" checkbox
  *
  * Updates the connection's CA cert ignore value to %TRUE if the "CA certificate
  * not required" checkbox is checked.  If @ca_cert_error is %TRUE, then the
@@ -540,17 +538,11 @@ void
 eap_method_ca_cert_ignore_set (EAPMethod *method,
                                NMConnection *connection,
                                const char *filename,
-                               gboolean ca_cert_error,
-                               const char *id_ca_cert_is_not_required_checkbox)
+                               gboolean ca_cert_error)
 {
-       GtkWidget *widget;
        NMSetting8021x *s_8021x;
        gboolean ignore;
 
-       /* We don't really need the checkbox value here. Just assert that it is set as expected. */
-       widget = GTK_WIDGET (gtk_builder_get_object (method->builder, id_ca_cert_is_not_required_checkbox));
-       g_assert (widget && (ca_cert_error || !filename == gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON 
(widget))));
-
        s_8021x = nm_connection_get_setting_802_1x (connection);
        if (s_8021x) {
                ignore = !ca_cert_error && filename == NULL;
diff --git a/src/wireless-security/eap-method.h b/src/wireless-security/eap-method.h
index 2186584..0dd6c63 100644
--- a/src/wireless-security/eap-method.h
+++ b/src/wireless-security/eap-method.h
@@ -124,8 +124,7 @@ void eap_method_ca_cert_not_required_toggled (GtkBuilder *builder,
 void eap_method_ca_cert_ignore_set (EAPMethod *method,
                                     NMConnection *connection,
                                     const char *filename,
-                                    gboolean ca_cert_error,
-                                    const char *id_ca_cert_is_not_required_checkbox);
+                                    gboolean ca_cert_error);
 gboolean eap_method_ca_cert_ignore_get (EAPMethod *method, NMConnection *connection);
 
 void eap_method_ca_cert_ignore_save (NMConnection *connection);


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