summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2017-02-17 18:17:18 +0000
committerLubomir Rintel <lkundrak@v3.sk>2017-03-19 21:04:45 +0100
commitee647f86f3260065ca8b12805583378d4dfdd9ed (patch)
treeb52618530e7cb645c6a3bb3ac99968df0a3603aa
parent28d7e674856bbff12b05233cccc2fa0588dceebc (diff)
downloadnetwork-manager-applet-ee647f86f3260065ca8b12805583378d4dfdd9ed.tar.gz
editor: drop use of deprecated NetworkManager API
It provides a better error reporting too.
-rw-r--r--src/connection-editor/ce-page.c62
-rw-r--r--src/connection-editor/page-master.c2
2 files changed, 38 insertions, 26 deletions
diff --git a/src/connection-editor/ce-page.c b/src/connection-editor/ce-page.c
index 5ba6ca99..961482ca 100644
--- a/src/connection-editor/ce-page.c
+++ b/src/connection-editor/ce-page.c
@@ -382,15 +382,15 @@ gboolean
ce_page_interface_name_valid (const char *iface, const char *property_name, GError **error)
{
if (iface && *iface) {
- if (!nm_utils_iface_valid_name (iface)) {
+ if (!nm_utils_is_valid_iface_name (iface, error)) {
if (property_name) {
- g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC,
- _("invalid interface-name for %s (%s)"),
- property_name, iface);
+ g_prefix_error (error,
+ _("invalid interface-name for %s (%s): "),
+ property_name, iface);
} else {
- g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC,
- _("invalid interface-name (%s)"),
- iface);
+ g_prefix_error (error,
+ _("invalid interface-name (%s): "),
+ iface);
}
return FALSE;
}
@@ -556,9 +556,9 @@ gboolean
ce_page_device_entry_get (GtkEntry *entry, int type, gboolean check_ifname,
char **ifname, char **mac, const char *device_name, GError **error)
{
- char *first, *second;
+ gs_free char *first = NULL;
+ gs_free char *second = NULL;
const char *ifname_tmp = NULL, *mac_tmp = NULL;
- gboolean valid = TRUE;
const char *str;
g_return_val_if_fail (entry != NULL, FALSE);
@@ -566,29 +566,36 @@ ce_page_device_entry_get (GtkEntry *entry, int type, gboolean check_ifname,
str = gtk_entry_get_text (entry);
- valid = _device_entry_parse (str, &first, &second);
+ if (!_device_entry_parse (str, &first, &second)) {
+ g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC,
+ _("can't parse device name"));
+ goto invalid;
+ }
if (first) {
if (nm_utils_hwaddr_valid (first, nm_utils_hwaddr_len (type)))
mac_tmp = first;
- else if (!check_ifname || nm_utils_iface_valid_name (first))
+ else if (!check_ifname || nm_utils_is_valid_iface_name (first, error))
ifname_tmp = first;
else
- valid = FALSE;
+ goto invalid;
}
if (second) {
if (nm_utils_hwaddr_valid (second, nm_utils_hwaddr_len (type))) {
- if (!mac_tmp)
+ if (!mac_tmp) {
mac_tmp = second;
- else
- valid = FALSE;
- } else if (!check_ifname || nm_utils_iface_valid_name (second)) {
+ } else {
+ g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC,
+ _("invalid hardware address"));
+ goto invalid;
+ }
+ } else if (!check_ifname || nm_utils_is_valid_iface_name (second, error)) {
if (!ifname_tmp)
ifname_tmp = second;
else
- valid = FALSE;
+ goto invalid;
} else
- valid = FALSE;
+ goto invalid;
}
if (ifname)
@@ -596,17 +603,22 @@ ce_page_device_entry_get (GtkEntry *entry, int type, gboolean check_ifname,
if (mac)
*mac = g_strdup (mac_tmp);
- g_free (first);
- g_free (second);
+ return TRUE;
- if (!valid) {
+invalid:
+ if (error) {
+ g_prefix_error (error,
+ _("invalid %s (%s): "),
+ device_name ? device_name : _("device"),
+ str);
+ } else {
g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC,
- _("invalid %s (%s)"),
- device_name ? device_name : _("device"),
- str);
+ _("invalid %s (%s) "),
+ device_name ? device_name : _("device"),
+ str);
}
- return valid;
+ return FALSE;
}
char *
diff --git a/src/connection-editor/page-master.c b/src/connection-editor/page-master.c
index 7e4ab739..deafa5b8 100644
--- a/src/connection-editor/page-master.c
+++ b/src/connection-editor/page-master.c
@@ -380,7 +380,7 @@ add_connection (FUNC_TAG_NEW_CONNECTION_RESULT_IMPL,
iface_name = gtk_entry_get_text (priv->interface_name);
if (!*iface_name)
iface_name = nm_connection_get_interface_name (connection);
- if (!iface_name || !nm_utils_iface_valid_name (iface_name))
+ if (!iface_name || !nm_utils_is_valid_iface_name (iface_name, NULL))
iface_name = nm_connection_get_id (connection);
name = g_strdup_printf (_("%s slave %d"), iface_name,
gtk_tree_model_iter_n_children (priv->connections_model, NULL) + 1);