network: Update wireless-security from network-manager-applet

To replace the WIP code that landed earlier.
This commit is contained in:
Bastien Nocera 2016-06-07 16:53:04 +02:00
parent b9d619fb54
commit 8386631dcd
6 changed files with 42 additions and 43 deletions

View file

@ -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

View file

@ -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 {
widget_unset_error (GTK_WIDGET (method->password_entry));
}
} else
widget_unset_error (GTK_WIDGET (method->password_entry));
return ret;
}

View file

@ -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 {
widget_unset_error (GTK_WIDGET (method->password_entry));
}
} else
widget_unset_error (GTK_WIDGET (method->password_entry));
}
return ret;

View file

@ -73,25 +73,28 @@ 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);
g_clear_error (&local);
ret = FALSE;
}
g_clear_error (&local);
} 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;
}
}
widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_password_entry"));
g_assert (widget);
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;
}
} 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;
}
}

View file

@ -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;
}

View file

@ -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 {
widget_unset_error (entry);
}
} else
widget_unset_error (entry);
return ret;
}