From e8d0eb3915ac33cc0d3da87a836cee6e61645227 Mon Sep 17 00:00:00 2001 From: exploide Date: Wed, 10 Aug 2022 17:35:21 +0200 Subject: resolvctl: only remove protocol after last dot when mangling ifname for resolvconf ifname_resolvconf_mangle is supposed to remove protocol suffixes like .dhcp from interface names. But this removed also valid parts of the ifname like VLAN IDs, e.g. enp2s0u4.72.dhcp -> enp2s0u4 instead of enp2s0u4.72 After this change, everything behind the last dot is removed instead of the first. --- src/resolve/resolvectl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c index aaa1c497c0..6d08821ecd 100644 --- a/src/resolve/resolvectl.c +++ b/src/resolve/resolvectl.c @@ -138,7 +138,7 @@ int ifname_resolvconf_mangle(const char *s) { assert(s); - dot = strchr(s, '.'); + dot = strrchr(s, '.'); if (dot) { _cleanup_free_ char *iface = NULL; -- cgit v1.2.1