From b42c3aa97a50ca40f9161fdd44f420863cdf453d Mon Sep 17 00:00:00 2001 From: Adrian Freihofer Date: Tue, 21 Apr 2020 17:38:54 +0200 Subject: [PATCH] settings: add match verify function --- libnm-core/nm-setting-match.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/libnm-core/nm-setting-match.c b/libnm-core/nm-setting-match.c index 3ad58dafa9..aaed0b525a 100644 --- a/libnm-core/nm-setting-match.c +++ b/libnm-core/nm-setting-match.c @@ -247,6 +247,28 @@ nm_setting_match_new (void) return (NMSetting *) g_object_new (NM_TYPE_SETTING_MATCH, NULL); } +static gboolean +verify (NMSetting *setting, NMConnection *connection, GError **error) +{ + NMSettingMatch *self = NM_SETTING_MATCH (setting); + int k; + + for (k = 0; k < self->interface_name->len; k++) { + char *kparam = (char*) g_ptr_array_index (self->interface_name, k); + if (nm_streq0 (kparam, "")) { + g_set_error (error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_INVALID_PROPERTY, + _("is empty")); + g_prefix_error (error, "%s.%s: ", NM_SETTING_MATCH_SETTING_NAME, + NM_SETTING_MATCH_INTERFACE_NAME); + return FALSE; + } + } + + return TRUE; +} + static void finalize (GObject *object) { @@ -267,6 +289,8 @@ nm_setting_match_class_init (NMSettingMatchClass *klass) object_class->set_property = set_property; object_class->finalize = finalize; + setting_class->verify = verify; + /** * NMSettingMatch:interface-name *