[network-manager-applet] core: fix "Always ask for this password" behavior



commit 28e9f5b03ee511b00c343e5cea034b7d73639097
Author: Dan Williams <dcbw redhat com>
Date:   Tue Apr 6 12:50:52 2010 -0700

    core: fix "Always ask for this password" behavior
    
    The bug is that for 802.1x connections using simple EAP methods
    (like TTLS or PEAP) the applet would continually ask for the
    password even though "Always ask" was not checked.
    
    The applet still needs the password to pass back to NM when NM
    needs it to make a connection, so we only want to desensitize the
    password entry and clear out the password in nm-connection-editor
    when "Always ask" is checked.
    
    On the applet side, when the connection is an 'always ask' connection,
    store the "always ask" state, but still accept password entry and
    send it along to NM in the GetSecrets response when the user hits OK.

 src/connection-editor/page-wired-security.c    |    2 +-
 src/connection-editor/page-wireless-security.c |    4 +-
 src/wired-dialog.c                             |    2 +-
 src/wireless-dialog.c                          |    4 +-
 src/wireless-security/eap-method-peap.c        |   13 ++++--
 src/wireless-security/eap-method-peap.h        |    4 +-
 src/wireless-security/eap-method-simple.c      |   60 ++++++++++++++---------
 src/wireless-security/eap-method-simple.h      |    4 +-
 src/wireless-security/eap-method-ttls.c        |   16 ++++--
 src/wireless-security/eap-method-ttls.h        |    4 +-
 src/wireless-security/wireless-security.c      |    7 ++-
 src/wireless-security/wireless-security.h      |    3 +-
 src/wireless-security/ws-dynamic-wep.c         |    6 ++-
 src/wireless-security/ws-dynamic-wep.h         |    3 +-
 src/wireless-security/ws-wpa-eap.c             |    6 ++-
 src/wireless-security/ws-wpa-eap.h             |    3 +-
 16 files changed, 89 insertions(+), 52 deletions(-)
---
diff --git a/src/connection-editor/page-wired-security.c b/src/connection-editor/page-wired-security.c
index 918cf9e..7a3c303 100644
--- a/src/connection-editor/page-wired-security.c
+++ b/src/connection-editor/page-wired-security.c
@@ -77,7 +77,7 @@ finish_setup (CEPageWiredSecurity *self, gpointer unused, GError *error, gpointe
 	if (error)
 		return;
 
-	priv->security = (WirelessSecurity *) ws_wpa_eap_new (glade_file, parent->connection);
+	priv->security = (WirelessSecurity *) ws_wpa_eap_new (glade_file, parent->connection, TRUE);
 	if (!priv->security) {
 		g_warning ("Could not load wired 802.1x user interface.");
 		return;
diff --git a/src/connection-editor/page-wireless-security.c b/src/connection-editor/page-wireless-security.c
index bd96058..eb05865 100644
--- a/src/connection-editor/page-wireless-security.c
+++ b/src/connection-editor/page-wireless-security.c
@@ -291,7 +291,7 @@ finish_setup (CEPageWirelessSecurity *self, gpointer unused, GError *error, gpoi
 	if (nm_utils_security_valid (NMU_SEC_DYNAMIC_WEP, dev_caps, FALSE, is_adhoc, 0, 0, 0)) {
 		WirelessSecurityDynamicWEP *ws_dynamic_wep;
 
-		ws_dynamic_wep = ws_dynamic_wep_new (glade_file, connection);
+		ws_dynamic_wep = ws_dynamic_wep_new (glade_file, connection, TRUE);
 		if (ws_dynamic_wep) {
 			add_security_item (self, WIRELESS_SECURITY (ws_dynamic_wep), sec_model,
 			                   &iter, _("Dynamic WEP (802.1x)"));
@@ -319,7 +319,7 @@ finish_setup (CEPageWirelessSecurity *self, gpointer unused, GError *error, gpoi
 	    || nm_utils_security_valid (NMU_SEC_WPA2_ENTERPRISE, dev_caps, FALSE, is_adhoc, 0, 0, 0)) {
 		WirelessSecurityWPAEAP *ws_wpa_eap;
 
-		ws_wpa_eap = ws_wpa_eap_new (glade_file, connection);
+		ws_wpa_eap = ws_wpa_eap_new (glade_file, connection, TRUE);
 		if (ws_wpa_eap) {
 			add_security_item (self, WIRELESS_SECURITY (ws_wpa_eap), sec_model,
 			                   &iter, _("WPA & WPA2 Enterprise"));
diff --git a/src/wired-dialog.c b/src/wired-dialog.c
index 07bd3c8..d09bf9b 100644
--- a/src/wired-dialog.c
+++ b/src/wired-dialog.c
@@ -63,7 +63,7 @@ dialog_set_security (NMConnection *connection,
 	GList *iter;
 	WirelessSecurity *security;
 
-	security = (WirelessSecurity *) ws_wpa_eap_new (glade_file, connection);
+	security = (WirelessSecurity *) ws_wpa_eap_new (glade_file, connection, FALSE);
 
 	/* Remove any previous wireless security widgets */
 	children = gtk_container_get_children (GTK_CONTAINER (box));
diff --git a/src/wireless-dialog.c b/src/wireless-dialog.c
index 12edce3..1a1ea2e 100644
--- a/src/wireless-dialog.c
+++ b/src/wireless-dialog.c
@@ -938,7 +938,7 @@ security_combo_init (NMAWirelessDialog *self, gboolean auth_only)
 	if (nm_utils_security_valid (NMU_SEC_DYNAMIC_WEP, dev_caps, !!priv->ap, is_adhoc, ap_flags, ap_wpa, ap_rsn)) {
 		WirelessSecurityDynamicWEP *ws_dynamic_wep;
 
-		ws_dynamic_wep = ws_dynamic_wep_new (priv->glade_file, priv->connection);
+		ws_dynamic_wep = ws_dynamic_wep_new (priv->glade_file, priv->connection, FALSE);
 		if (ws_dynamic_wep) {
 			add_security_item (self, WIRELESS_SECURITY (ws_dynamic_wep), sec_model,
 			                   &iter, _("Dynamic WEP (802.1x)"));
@@ -966,7 +966,7 @@ security_combo_init (NMAWirelessDialog *self, gboolean auth_only)
 	    || nm_utils_security_valid (NMU_SEC_WPA2_ENTERPRISE, dev_caps, !!priv->ap, is_adhoc, ap_flags, ap_wpa, ap_rsn)) {
 		WirelessSecurityWPAEAP *ws_wpa_eap;
 
-		ws_wpa_eap = ws_wpa_eap_new (priv->glade_file, priv->connection);
+		ws_wpa_eap = ws_wpa_eap_new (priv->glade_file, priv->connection, FALSE);
 		if (ws_wpa_eap) {
 			add_security_item (self, WIRELESS_SECURITY (ws_wpa_eap), sec_model,
 			                   &iter, _("WPA & WPA2 Enterprise"));
diff --git a/src/wireless-security/eap-method-peap.c b/src/wireless-security/eap-method-peap.c
index 5c849fa..49faf12 100644
--- a/src/wireless-security/eap-method-peap.c
+++ b/src/wireless-security/eap-method-peap.c
@@ -238,7 +238,8 @@ inner_auth_combo_init (EAPMethodPEAP *method,
 	em_mschap_v2 = eap_method_simple_new (glade_file,
 	                                      method->sec_parent,
 	                                      connection,
-	                                      EAP_METHOD_SIMPLE_TYPE_MSCHAP_V2);
+	                                      EAP_METHOD_SIMPLE_TYPE_MSCHAP_V2,
+	                                      method->is_editor);
 	gtk_list_store_append (auth_model, &iter);
 	gtk_list_store_set (auth_model, &iter,
 	                    I_NAME_COLUMN, _("MSCHAPv2"),
@@ -253,7 +254,8 @@ inner_auth_combo_init (EAPMethodPEAP *method,
 	em_md5 = eap_method_simple_new (glade_file,
 	                                 method->sec_parent,
 	                                 connection,
-	                                 EAP_METHOD_SIMPLE_TYPE_MD5);
+	                                 EAP_METHOD_SIMPLE_TYPE_MD5,
+	                                 method->is_editor);
 	gtk_list_store_append (auth_model, &iter);
 	gtk_list_store_set (auth_model, &iter,
 	                    I_NAME_COLUMN, _("MD5"),
@@ -268,7 +270,8 @@ inner_auth_combo_init (EAPMethodPEAP *method,
 	em_gtc = eap_method_simple_new (glade_file,
 	                                method->sec_parent,
 	                                connection,
-	                                EAP_METHOD_SIMPLE_TYPE_GTC);
+	                                EAP_METHOD_SIMPLE_TYPE_GTC,
+	                                method->is_editor);
 	gtk_list_store_append (auth_model, &iter);
 	gtk_list_store_set (auth_model, &iter,
 	                    I_NAME_COLUMN, _("GTC"),
@@ -305,7 +308,8 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
 EAPMethodPEAP *
 eap_method_peap_new (const char *glade_file,
                      WirelessSecurity *parent,
-                     NMConnection *connection)
+                     NMConnection *connection,
+                     gboolean is_editor)
 {
 	EAPMethodPEAP *method;
 	GtkWidget *widget;
@@ -350,6 +354,7 @@ eap_method_peap_new (const char *glade_file,
 	                     FALSE);
 
 	method->sec_parent = parent;
+	method->is_editor = is_editor;
 
 	if (connection)
 		s_8021x = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X));
diff --git a/src/wireless-security/eap-method-peap.h b/src/wireless-security/eap-method-peap.h
index 82f9d06..f61097e 100644
--- a/src/wireless-security/eap-method-peap.h
+++ b/src/wireless-security/eap-method-peap.h
@@ -30,11 +30,13 @@ typedef struct {
 
 	GtkSizeGroup *size_group;
 	WirelessSecurity *sec_parent;
+	gboolean is_editor;
 } EAPMethodPEAP;
 
 EAPMethodPEAP * eap_method_peap_new (const char *glade_file,
                                      WirelessSecurity *parent,
-                                     NMConnection *connection);
+                                     NMConnection *connection,
+                                     gboolean is_editor);
 
 #endif /* EAP_METHOD_PEAP_H */
 
diff --git a/src/wireless-security/eap-method-simple.c b/src/wireless-security/eap-method-simple.c
index 247757f..152a78d 100644
--- a/src/wireless-security/eap-method-simple.c
+++ b/src/wireless-security/eap-method-simple.c
@@ -133,19 +133,25 @@ fill_connection (EAPMethod *parent, NMConnection *connection)
 	g_assert (widget);
 	g_object_set (s_8021x, NM_SETTING_802_1X_IDENTITY, gtk_entry_get_text (GTK_ENTRY (widget)), NULL);
 
+	/* Save the password always ask setting */
 	widget = glade_xml_get_widget (parent->xml, "eap_password_always_ask");
 	g_assert (widget);
 	always_ask = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
-	if (always_ask) {
-		widget = glade_xml_get_widget (parent->xml, "eap_simple_password_entry");
-		g_assert (widget);
-		g_object_set (s_8021x, NM_SETTING_802_1X_PASSWORD, gtk_entry_get_text (GTK_ENTRY (widget)), NULL);
-	}
 
-	/* Save the password always ask setting */
 	s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
 	g_assert (s_con);
 	nm_gconf_set_8021x_password_always_ask (nm_setting_connection_get_uuid (s_con), always_ask);
+
+	/* Fill the connection's password if we're in the applet so that it'll get
+	 * back to NM.  From the editor though, since the connection isn't going
+	 * back to NM in response to a GetSecrets() call, we don't save it if the
+	 * user checked "Always Ask".
+	 */
+	if (method->is_editor == FALSE || always_ask == FALSE) {
+		widget = glade_xml_get_widget (parent->xml, "eap_simple_password_entry");
+		g_assert (widget);
+		g_object_set (s_8021x, NM_SETTING_802_1X_PASSWORD, gtk_entry_get_text (GTK_ENTRY (widget)), NULL);
+	}
 }
 
 static void
@@ -183,12 +189,12 @@ password_always_ask_changed (GtkButton *button, EAPMethodSimple *method)
 	gtk_widget_set_sensitive (show_checkbox, !always_ask);
 }
 
-
 EAPMethodSimple *
 eap_method_simple_new (const char *glade_file,
                        WirelessSecurity *parent,
                        NMConnection *connection,
-                       EAPMethodSimpleType type)
+                       EAPMethodSimpleType type,
+                       gboolean is_editor)
 {
 	EAPMethodSimple *method;
 	GtkWidget *widget;
@@ -225,6 +231,7 @@ eap_method_simple_new (const char *glade_file,
 	                 "eap_simple_username_entry");
 
 	method->type = type;
+	method->is_editor = is_editor;
 
 	widget = glade_xml_get_widget (xml, "eap_simple_username_entry");
 	g_assert (widget);
@@ -245,27 +252,22 @@ eap_method_simple_new (const char *glade_file,
 	                  (GCallback) wireless_security_changed_cb,
 	                  parent);
 
-	/* Fill secrets, if any */
-	if (connection)
-		update_secrets (EAP_METHOD (method), connection);
-
-	widget = glade_xml_get_widget (xml, "show_checkbutton");
-	g_assert (widget);
-	g_signal_connect (G_OBJECT (widget), "toggled",
-	                  (GCallback) show_toggled_cb,
-	                  method);
-
-	/* Sensitize/desensitize the password entry based on whether it should
-	 * always be asked for when connecting or not.
-	 */
 	widget = glade_xml_get_widget (xml, "eap_password_always_ask");
 	g_assert (widget);
 	g_signal_connect (G_OBJECT (widget), "toggled",
 	                  (GCallback) wireless_security_changed_cb,
 	                  parent);
-	g_signal_connect (G_OBJECT (widget), "toggled",
-	                  G_CALLBACK (password_always_ask_changed),
-	                  method);
+	if (is_editor) {
+		/* We only desensitize the password entry from the editor, because
+		 * from nm-applet if the entry was desensitized, there'd be no way to
+		 * get the password back to NetworkManager when NM asked for it.  Since
+		 * the editor only sets up the initial connection though, it's safe to
+		 * do there.
+		 */
+		g_signal_connect (G_OBJECT (widget), "toggled",
+		                  G_CALLBACK (password_always_ask_changed),
+		                  method);
+	}
 
 	if (connection) {
 		NMSettingConnection *s_con;
@@ -280,6 +282,16 @@ eap_method_simple_new (const char *glade_file,
 
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), always_ask);
 
+	/* Fill secrets if there's a static (ie, not OTP) password */
+	if (connection && !always_ask)
+		update_secrets (EAP_METHOD (method), connection);
+
+	widget = glade_xml_get_widget (xml, "show_checkbutton");
+	g_assert (widget);
+	g_signal_connect (G_OBJECT (widget), "toggled",
+	                  (GCallback) show_toggled_cb,
+	                  method);
+
 	return method;
 }
 
diff --git a/src/wireless-security/eap-method-simple.h b/src/wireless-security/eap-method-simple.h
index 01000bb..7395a4d 100644
--- a/src/wireless-security/eap-method-simple.h
+++ b/src/wireless-security/eap-method-simple.h
@@ -38,12 +38,14 @@ typedef struct {
 	struct _EAPMethod parent;
 
 	EAPMethodSimpleType type;
+	gboolean is_editor;
 } EAPMethodSimple;
 
 EAPMethodSimple * eap_method_simple_new (const char *glade_file,
                                          WirelessSecurity *parent,
                                          NMConnection *connection,
-                                         EAPMethodSimpleType type);
+                                         EAPMethodSimpleType type,
+                                         gboolean is_editor);
 
 #endif /* EAP_METHOD_SIMPLE_H */
 
diff --git a/src/wireless-security/eap-method-ttls.c b/src/wireless-security/eap-method-ttls.c
index 1192907..4d9b9bc 100644
--- a/src/wireless-security/eap-method-ttls.c
+++ b/src/wireless-security/eap-method-ttls.c
@@ -221,7 +221,8 @@ inner_auth_combo_init (EAPMethodTTLS *method,
 	em_pap = eap_method_simple_new (glade_file,
 	                                method->sec_parent,
 	                                connection,
-	                                EAP_METHOD_SIMPLE_TYPE_PAP);
+	                                EAP_METHOD_SIMPLE_TYPE_PAP,
+	                                method->is_editor);
 	gtk_list_store_append (auth_model, &iter);
 	gtk_list_store_set (auth_model, &iter,
 	                    I_NAME_COLUMN, _("PAP"),
@@ -236,7 +237,8 @@ inner_auth_combo_init (EAPMethodTTLS *method,
 	em_mschap = eap_method_simple_new (glade_file,
 	                                   method->sec_parent,
 	                                   connection,
-	                                   EAP_METHOD_SIMPLE_TYPE_MSCHAP);
+	                                   EAP_METHOD_SIMPLE_TYPE_MSCHAP,
+	                                   method->is_editor);
 	gtk_list_store_append (auth_model, &iter);
 	gtk_list_store_set (auth_model, &iter,
 	                    I_NAME_COLUMN, _("MSCHAP"),
@@ -251,7 +253,8 @@ inner_auth_combo_init (EAPMethodTTLS *method,
 	em_mschap_v2 = eap_method_simple_new (glade_file,
 	                                      method->sec_parent,
 	                                      connection,
-	                                      EAP_METHOD_SIMPLE_TYPE_MSCHAP_V2);
+	                                      EAP_METHOD_SIMPLE_TYPE_MSCHAP_V2,
+	                                      method->is_editor);
 	gtk_list_store_append (auth_model, &iter);
 	gtk_list_store_set (auth_model, &iter,
 	                    I_NAME_COLUMN, _("MSCHAPv2"),
@@ -266,7 +269,8 @@ inner_auth_combo_init (EAPMethodTTLS *method,
 	em_chap = eap_method_simple_new (glade_file,
 	                                 method->sec_parent,
 	                                 connection,
-	                                 EAP_METHOD_SIMPLE_TYPE_CHAP);
+	                                 EAP_METHOD_SIMPLE_TYPE_CHAP,
+	                                 method->is_editor);
 	gtk_list_store_append (auth_model, &iter);
 	gtk_list_store_set (auth_model, &iter,
 	                    I_NAME_COLUMN, _("CHAP"),
@@ -303,7 +307,8 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
 EAPMethodTTLS *
 eap_method_ttls_new (const char *glade_file,
                      WirelessSecurity *parent,
-                     NMConnection *connection)
+                     NMConnection *connection,
+                     gboolean is_editor)
 {
 	EAPMethodTTLS *method;
 	GtkWidget *widget;
@@ -348,6 +353,7 @@ eap_method_ttls_new (const char *glade_file,
 	                     FALSE);
 
 	method->sec_parent = parent;
+	method->is_editor = is_editor;
 
 	if (connection)
 		s_8021x = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X));
diff --git a/src/wireless-security/eap-method-ttls.h b/src/wireless-security/eap-method-ttls.h
index d61ef59..3d3dec9 100644
--- a/src/wireless-security/eap-method-ttls.h
+++ b/src/wireless-security/eap-method-ttls.h
@@ -30,11 +30,13 @@ typedef struct {
 
 	GtkSizeGroup *size_group;
 	WirelessSecurity *sec_parent;
+	gboolean is_editor;
 } EAPMethodTTLS;
 
 EAPMethodTTLS * eap_method_ttls_new (const char *glade_file,
                                      WirelessSecurity *parent,
-                                     NMConnection *connection);
+                                     NMConnection *connection,
+                                     gboolean is_editor);
 
 #endif /* EAP_METHOD_TLS_H */
 
diff --git a/src/wireless-security/wireless-security.c b/src/wireless-security/wireless-security.c
index ce60ba6..1a51e6b 100644
--- a/src/wireless-security/wireless-security.c
+++ b/src/wireless-security/wireless-security.c
@@ -291,7 +291,8 @@ ws_802_1x_auth_combo_init (WirelessSecurity *sec,
                            const char *glade_file,
                            const char *combo_name,
                            GCallback auth_combo_changed_cb,
-                           NMConnection *connection)
+                           NMConnection *connection,
+                           gboolean is_editor)
 {
 	GtkWidget *combo;
 	GtkListStore *auth_model;
@@ -346,7 +347,7 @@ ws_802_1x_auth_combo_init (WirelessSecurity *sec,
 		item++;
 	}
 
-	em_ttls = eap_method_ttls_new (glade_file, sec, connection);
+	em_ttls = eap_method_ttls_new (glade_file, sec, connection, is_editor);
 	gtk_list_store_append (auth_model, &iter);
 	gtk_list_store_set (auth_model, &iter,
 	                    AUTH_NAME_COLUMN, _("Tunneled TLS"),
@@ -357,7 +358,7 @@ ws_802_1x_auth_combo_init (WirelessSecurity *sec,
 		active = item;
 	item++;
 
-	em_peap = eap_method_peap_new (glade_file, sec, connection);
+	em_peap = eap_method_peap_new (glade_file, sec, connection, is_editor);
 	gtk_list_store_append (auth_model, &iter);
 	gtk_list_store_set (auth_model, &iter,
 	                    AUTH_NAME_COLUMN, _("Protected EAP (PEAP)"),
diff --git a/src/wireless-security/wireless-security.h b/src/wireless-security/wireless-security.h
index 908c6fe..22507e5 100644
--- a/src/wireless-security/wireless-security.h
+++ b/src/wireless-security/wireless-security.h
@@ -113,7 +113,8 @@ GtkWidget *ws_802_1x_auth_combo_init (WirelessSecurity *sec,
                                       const char *glade_file,
                                       const char *combo_name,
                                       GCallback auth_combo_changed_cb,
-                                      NMConnection *connection);
+                                      NMConnection *connection,
+                                      gboolean is_editor);
 
 void ws_802_1x_auth_combo_changed (GtkWidget *combo,
                                    WirelessSecurity *sec,
diff --git a/src/wireless-security/ws-dynamic-wep.c b/src/wireless-security/ws-dynamic-wep.c
index dd86c46..5e0ea6d 100644
--- a/src/wireless-security/ws-dynamic-wep.c
+++ b/src/wireless-security/ws-dynamic-wep.c
@@ -105,7 +105,8 @@ update_secrets (WirelessSecurity *parent, NMConnection *connection)
 
 WirelessSecurityDynamicWEP *
 ws_dynamic_wep_new (const char *glade_file,
-                    NMConnection *connection)
+                    NMConnection *connection,
+                    gboolean is_editor)
 {
 	WirelessSecurityDynamicWEP *sec;
 	GtkWidget *widget;
@@ -146,7 +147,8 @@ ws_dynamic_wep_new (const char *glade_file,
 	                                    glade_file,
 	                                    "dynamic_wep_auth_combo",
 	                                    (GCallback) auth_combo_changed_cb,
-	                                    connection);
+	                                    connection,
+	                                    is_editor);
 	auth_combo_changed_cb (widget, (gpointer) sec);
 
 	return sec;
diff --git a/src/wireless-security/ws-dynamic-wep.h b/src/wireless-security/ws-dynamic-wep.h
index b409736..4924ba0 100644
--- a/src/wireless-security/ws-dynamic-wep.h
+++ b/src/wireless-security/ws-dynamic-wep.h
@@ -30,7 +30,8 @@ typedef struct {
 } WirelessSecurityDynamicWEP;
 
 WirelessSecurityDynamicWEP * ws_dynamic_wep_new (const char *glade_file,
-                                                 NMConnection *connection);
+                                                 NMConnection *connection,
+                                                 gboolean is_editor);
 
 #endif /* WS_DYNAMIC_WEP_H */
 
diff --git a/src/wireless-security/ws-wpa-eap.c b/src/wireless-security/ws-wpa-eap.c
index 7a0afe2..98f7148 100644
--- a/src/wireless-security/ws-wpa-eap.c
+++ b/src/wireless-security/ws-wpa-eap.c
@@ -100,7 +100,8 @@ update_secrets (WirelessSecurity *parent, NMConnection *connection)
 
 WirelessSecurityWPAEAP *
 ws_wpa_eap_new (const char *glade_file,
-                NMConnection *connection)
+                NMConnection *connection,
+                gboolean is_editor)
 {
 	WirelessSecurityWPAEAP *sec;
 	GtkWidget *widget;
@@ -141,7 +142,8 @@ ws_wpa_eap_new (const char *glade_file,
 	                                    glade_file,
 	                                    "wpa_eap_auth_combo",
 	                                    (GCallback) auth_combo_changed_cb,
-	                                    connection);
+	                                    connection,
+	                                    is_editor);
 	auth_combo_changed_cb (widget, (gpointer) sec);
 
 	return sec;
diff --git a/src/wireless-security/ws-wpa-eap.h b/src/wireless-security/ws-wpa-eap.h
index 36dbb85..efc92a6 100644
--- a/src/wireless-security/ws-wpa-eap.h
+++ b/src/wireless-security/ws-wpa-eap.h
@@ -30,7 +30,8 @@ typedef struct {
 } WirelessSecurityWPAEAP;
 
 WirelessSecurityWPAEAP * ws_wpa_eap_new (const char *glade_file,
-                                         NMConnection *connection);
+                                         NMConnection *connection,
+                                         gboolean is_editor);
 
 #endif /* WS_WPA_EAP_H */
 



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