network-internal: chain matches with AND in net_match_config()

The test would treat the first non-empty set of matches in
match_paths, match_drivers, match_types, match_names as definitive
(essentially chaining them with OR). Make those tests instead match
like other tests and require all to pass if the set of patterns is
nonempty.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2015-02-13 18:38:22 -05:00
parent bceccd5ecc
commit ee5de57b9d

View file

@ -112,17 +112,17 @@ bool net_match_config(const struct ether_addr *match_mac,
if (match_mac && (!dev_mac || memcmp(match_mac, dev_mac, ETH_ALEN)))
return false;
if (!strv_isempty(match_paths))
return strv_fnmatch(dev_path, match_paths, 0);
if (!strv_fnmatch_or_empty(dev_path, match_paths, 0))
return false;
if (!strv_isempty(match_drivers))
return strv_fnmatch(dev_driver, match_drivers, 0);
if (!strv_fnmatch_or_empty(dev_driver, match_drivers, 0))
return false;
if (!strv_isempty(match_types))
return strv_fnmatch(dev_type, match_types, 0);
if (!strv_fnmatch_or_empty(dev_type, match_types, 0))
return false;
if (!strv_isempty(match_names))
return strv_fnmatch(dev_name, match_names, 0);
if (!strv_fnmatch_or_empty(dev_name, match_names, 0))
return false;
return true;
}