mirror of
https://github.com/clearlinux/systemd-stable.git
synced 2026-10-15 10:05:28 +00:00
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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user