From 817b55cf063b8244c2288c39af6a94da475083d9 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Tue, 9 Apr 2019 08:14:25 +0200 Subject: [PATCH] nmcli: fix an error message when the tc qdisc kind is missing Before: # nmcli c modify eth666 tc.qdiscs root Error: failed to modify tc.qdiscs: '(null)' is not a valid kind The valid syntax is: '[root | parent ] [handle ] '. After: # nmcli c modify eth666 tc.qdiscs root Error: failed to modify tc.qdiscs: kind is missing. The valid syntax is: '[root | parent ] [handle ] '. --- clients/common/nm-meta-setting-desc.c | 10 ++++----- libnm-core/nm-setting-tc-config.c | 30 ++++++++++++++++++++++++--- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/clients/common/nm-meta-setting-desc.c b/clients/common/nm-meta-setting-desc.c index 2b0386265..1de51dc19 100644 --- a/clients/common/nm-meta-setting-desc.c +++ b/clients/common/nm-meta-setting-desc.c @@ -3580,9 +3580,9 @@ _objlist_set_fcn_tc_config_qdiscs (NMSetting *setting, tc_qdisc = nm_utils_tc_qdisc_from_str (value, &local); if (!tc_qdisc) { nm_utils_error_set (error, NM_UTILS_ERROR_INVALID_ARGUMENT, - "%s %s", + "%s. %s", local->message, - _("The valid syntax is: '[root | parent ] [handle ] '")); + _("The valid syntax is: '[root | parent ] [handle ] '")); return FALSE; } if (do_add) @@ -3604,7 +3604,7 @@ _objlist_set_fcn_bridge_vlans (NMSetting *setting, vlan = nm_bridge_vlan_from_str (value, &local); if (!vlan) { nm_utils_error_set (error, NM_UTILS_ERROR_INVALID_ARGUMENT, - "%s %s", + "%s. %s", local->message, _("The valid syntax is: ' [pvid] [untagged]")); return FALSE; @@ -3656,9 +3656,9 @@ _objlist_set_fcn_tc_config_tfilters (NMSetting *setting, tc_tfilter = nm_utils_tc_tfilter_from_str (value, &local); if (!tc_tfilter) { nm_utils_error_set (error, NM_UTILS_ERROR_INVALID_ARGUMENT, - "%s %s", + "%s. %s", local->message, - _("The valid syntax is: '[root | parent ] [handle ] '")); + _("The valid syntax is: '[root | parent ] [handle ] '")); return FALSE; } if (do_add) diff --git a/libnm-core/nm-setting-tc-config.c b/libnm-core/nm-setting-tc-config.c index 7425ae73f..ebae3b0e2 100644 --- a/libnm-core/nm-setting-tc-config.c +++ b/libnm-core/nm-setting-tc-config.c @@ -62,7 +62,15 @@ nm_tc_qdisc_new (const char *kind, { NMTCQdisc *qdisc; - if (!kind || !*kind || strchr (kind, ' ') || strchr (kind, '\t')) { + if (!kind || !*kind) { + g_set_error (error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_INVALID_PROPERTY, + _("kind is missing")); + return NULL; + } + + if (strchr (kind, ' ') || strchr (kind, '\t')) { g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_INVALID_PROPERTY, @@ -290,7 +298,15 @@ nm_tc_action_new (const char *kind, { NMTCAction *action; - if (!kind || !*kind || strchr (kind, ' ') || strchr (kind, '\t')) { + if (!kind || !*kind) { + g_set_error (error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_INVALID_PROPERTY, + _("kind is missing")); + return NULL; + } + + if (strchr (kind, ' ') || strchr (kind, '\t')) { g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_INVALID_PROPERTY, @@ -544,7 +560,15 @@ nm_tc_tfilter_new (const char *kind, { NMTCTfilter *tfilter; - if (!kind || !*kind || strchr (kind, ' ') || strchr (kind, '\t')) { + if (!kind || !*kind) { + g_set_error (error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_INVALID_PROPERTY, + _("kind is missing")); + return NULL; + } + + if (strchr (kind, ' ') || strchr (kind, '\t')) { g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_INVALID_PROPERTY,