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)
committerPeter Michael Green <plugwash@raspbian.org>
Thu, 20 Sep 2018 20:22:45 +0000 (21:22 +0100)
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))