From db3f91deae380db395d34c1fff600e4bad9dccd6 Mon Sep 17 00:00:00 2001 From: Pat Suwalski Date: Mon, 27 Sep 2010 11:08:03 +0200 Subject: [PATCH] system-settings: allow glob (*) in no-auto-default config file option When * is used instead of MAC addresses' list, no-auto-default option is valid for all interfaces. --- src/system-settings/nm-sysconfig-settings.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/system-settings/nm-sysconfig-settings.c b/src/system-settings/nm-sysconfig-settings.c index 616f8b1cf6..d929813f1b 100644 --- a/src/system-settings/nm-sysconfig-settings.c +++ b/src/system-settings/nm-sysconfig-settings.c @@ -1078,6 +1078,11 @@ is_mac_auto_wired_blacklisted (NMSysconfigSettings *self, const GByteArray *mac) for (iter = list; iter && *iter; iter++) { struct ether_addr *candidate; + if (strcmp(g_strstrip(*iter), "*") == 0) { + found = TRUE; + break; + } + candidate = ether_aton (*iter); if (candidate && !memcmp (mac->data, candidate->ether_addr_octet, ETH_ALEN)) { found = TRUE; @@ -1137,13 +1142,19 @@ default_wired_deleted (NMDefaultWiredConnection *wired, g_key_file_load_from_file (config, priv->config_file, G_KEY_FILE_KEEP_COMMENTS, NULL); list = g_key_file_get_string_list (config, "main", CONFIG_KEY_NO_AUTO_DEFAULT, &len, NULL); - /* Traverse entire list to get count of # items */ for (iter = list; iter && *iter; iter++) { struct ether_addr *candidate; - candidate = ether_aton (*iter); - if (candidate && !memcmp (mac->data, candidate->ether_addr_octet, ETH_ALEN)) + if (strcmp(g_strstrip(*iter), "*") == 0) { found = TRUE; + break; + } + + candidate = ether_aton (*iter); + if (candidate && !memcmp (mac->data, candidate->ether_addr_octet, ETH_ALEN)) { + found = TRUE; + break; + } } /* Add this device's MAC to the list */