network/link: Fix logic error in matching devices by MAC
authorDave Reisner <dreisner@archlinux.org>
Sat, 7 Jul 2018 09:39:01 +0000 (05:39 -0400)
committerMichael Biebl <biebl@debian.org>
Tue, 20 Nov 2018 18:44:39 +0000 (18:44 +0000)
Prior to this commit, a .link file with a [Match] section containing
MACAddress= would match any device without a MAC. This restores the
matching logic prior to e90d037.

(cherry picked from commit 25ea58d37385af27301b7ad25e985eb15f421614)

Gbp-Pq: Name network-link-Fix-logic-error-in-matching-devices-by-MAC.patch

src/libsystemd-network/network-internal.c

index 0849b44ee295b2985067eb2ef53e7776698d216a..9d16d6c747ac46949f5a2bbad07b28e809dadbd9 100644 (file)
@@ -124,7 +124,7 @@ bool net_match_config(Set *match_mac,
         if (match_arch && condition_test(match_arch) <= 0)
                 return false;
 
-        if (match_mac && dev_mac && !set_contains(match_mac, dev_mac))
+        if (match_mac && (!dev_mac || !set_contains(match_mac, dev_mac)))
                 return false;
 
         if (!net_condition_test_strv(match_paths, dev_path))