diff --suppress-common-lines -r -p a/src/wireless-security/eap-method-fast.c b/src/wireless-security/eap-method-fast.c *** a/src/wireless-security/eap-method-fast.c 2013-08-28 17:59:32.000000000 +0530 --- b/src/wireless-security/eap-method-fast.c 2013-10-18 09:30:11.453480500 +0530 *************** fill_connection (EAPMethod *parent, NMCo *** 177,182 **** --- 177,185 ---- } } + /* Always use system CA certs, as importing custom CA certs isn't possible */ + g_object_set (G_OBJECT (s_8021x), NM_SETTING_802_1X_SYSTEM_CA_CERTS, TRUE, NULL); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_inner_auth_combo")); model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget)); gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter); diff --suppress-common-lines -r -p a/src/wireless-security/eap-method-peap.c b/src/wireless-security/eap-method-peap.c *** a/src/wireless-security/eap-method-peap.c 2013-09-11 20:19:56.000000000 +0530 --- b/src/wireless-security/eap-method-peap.c 2013-10-18 08:29:57.604325400 +0530 *************** fill_connection (EAPMethod *parent, NMCo *** 128,133 **** --- 128,134 ---- GtkTreeModel *model; GtkTreeIter iter; int peapver_active = 0; + gboolean use_system_ca_certs = FALSE; GError *error = NULL; s_8021x = nm_connection_get_setting_802_1x (connection); *************** fill_connection (EAPMethod *parent, NMCo *** 149,154 **** --- 150,162 ---- g_clear_error (&error); } + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_sys_cert_toggle")); + g_assert(widget); + use_system_ca_certs = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + if (use_system_ca_certs) { + g_object_set (s_8021x, NM_SETTING_802_1X_SYSTEM_CA_CERTS, TRUE, NULL); + } + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_version_combo")); peapver_active = gtk_combo_box_get_active (GTK_COMBO_BOX (widget)); switch (peapver_active) { *************** eap_method_peap_new (WirelessSecurity *w *** 361,366 **** --- 369,383 ---- } } + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_sys_cert_toggle")); + g_assert (widget); + if (connection && s_8021x) { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), nm_setting_802_1x_get_system_ca_certs (s_8021x)); + } + g_signal_connect (G_OBJECT (widget), "toggled", + (GCallback) wireless_security_changed_cb, + ws_parent); + widget = inner_auth_combo_init (method, connection, s_8021x, secrets_only); inner_auth_combo_changed_cb (widget, (gpointer) method); diff --suppress-common-lines -r -p a/src/wireless-security/eap-method-simple.c b/src/wireless-security/eap-method-simple.c *** a/src/wireless-security/eap-method-simple.c 2013-09-11 20:19:56.000000000 +0530 --- b/src/wireless-security/eap-method-simple.c 2013-10-18 06:46:15.399566500 +0530 *************** fill_connection (EAPMethod *parent, NMCo *** 169,175 **** if (method->new_connection && (not_saved == FALSE)) { g_object_set (s_8021x, NM_SETTING_802_1X_PASSWORD_FLAGS, NM_SETTING_SECRET_FLAG_AGENT_OWNED, - NM_SETTING_802_1X_SYSTEM_CA_CERTS, TRUE, NULL); } } --- 169,174 ---- diff --suppress-common-lines -r -p a/src/wireless-security/eap-method-peap.ui b/src/wireless-security/eap-method-peap.ui *** a/src/wireless-security/eap-method-peap.ui 2013-10-18 09:02:40.381743300 +0530 --- b/src/wireless-security/eap-method-peap.ui 2013-10-18 09:04:18.194234500 +0530 *************** *** 93,98 **** --- 93,116 ---- + + Use _System CA Certs + True + True + True + False + True + + + 1 + 2 + 2 + 3 + GTK_FILL + GTK_FILL + + + True vertical *************** *** 102,109 **** 2 ! 4 ! 5 GTK_FILL --- 120,127 ---- 2 ! 5 ! 6 GTK_FILL *************** *** 116,123 **** eap_peap_inner_auth_combo ! 3 ! 4 GTK_FILL --- 134,141 ---- eap_peap_inner_auth_combo ! 4 ! 5 GTK_FILL *************** *** 136,143 **** 1 2 ! 3 ! 4 GTK_FILL GTK_FILL --- 154,161 ---- 1 2 ! 4 ! 5 GTK_FILL GTK_FILL *************** *** 151,158 **** eap_peap_version_combo ! 2 ! 3 GTK_FILL --- 169,176 ---- eap_peap_version_combo ! 3 ! 4 GTK_FILL *************** *** 171,178 **** 1 2 ! 2 ! 3 GTK_FILL GTK_FILL --- 189,196 ---- 1 2 ! 3 ! 4 GTK_FILL GTK_FILL diff --suppress-common-lines -r -p a/src/wireless-security/eap-method-ttls.c b/src/wireless-security/eap-method-ttls.c *** a/src/wireless-security/eap-method-ttls.c 2013-09-11 20:19:56.000000000 +0530 --- b/src/wireless-security/eap-method-ttls.c 2013-10-18 09:25:40.131353900 +0530 *************** fill_connection (EAPMethod *parent, NMCo *** 123,128 **** --- 123,129 ---- EAPMethod *eap = NULL; GtkTreeModel *model; GtkTreeIter iter; + gboolean use_system_ca_certs = FALSE; GError *error = NULL; s_8021x = nm_connection_get_setting_802_1x (connection); *************** fill_connection (EAPMethod *parent, NMCo *** 144,149 **** --- 145,157 ---- g_clear_error (&error); } + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_sys_cert_toggle")); + g_assert(widget); + use_system_ca_certs = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + if (use_system_ca_certs) { + g_object_set (s_8021x, NM_SETTING_802_1X_SYSTEM_CA_CERTS, TRUE, NULL); + } + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_inner_auth_combo")); model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget)); gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter); *************** eap_method_ttls_new (WirelessSecurity *w *** 361,366 **** --- 369,383 ---- } } + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_sys_cert_toggle")); + g_assert (widget); + if (connection && s_8021x) { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), nm_setting_802_1x_get_system_ca_certs (s_8021x)); + } + g_signal_connect (G_OBJECT (widget), "toggled", + (GCallback) wireless_security_changed_cb, + ws_parent); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_anon_identity_entry")); if (s_8021x && nm_setting_802_1x_get_anonymous_identity (s_8021x)) gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_anonymous_identity (s_8021x)); diff --suppress-common-lines -r -p a/src/wireless-security/eap-method-ttls.ui b/src/wireless-security/eap-method-ttls.ui *** a/src/wireless-security/eap-method-ttls.ui 2013-09-11 20:19:56.000000000 +0530 --- b/src/wireless-security/eap-method-ttls.ui 2013-10-18 09:16:30.120987400 +0530 *************** *** 77,82 **** --- 77,100 ---- + + Use _System CA Certs + True + True + True + False + True + + + 1 + 2 + 2 + 3 + GTK_FILL + GTK_FILL + + + True 0 *************** *** 85,92 **** eap_ttls_inner_auth_combo ! 2 ! 3 GTK_FILL --- 103,110 ---- eap_ttls_inner_auth_combo ! 3 ! 4 GTK_FILL *************** *** 105,112 **** 1 2 ! 2 ! 3 GTK_FILL GTK_FILL --- 123,130 ---- 1 2 ! 3 ! 4 GTK_FILL GTK_FILL *************** *** 122,129 **** 2 ! 3 ! 4 GTK_FILL --- 140,147 ---- 2 ! 4 ! 5 GTK_FILL