From: exploide Date: Wed, 10 Aug 2022 15:35:21 +0000 (+0200) Subject: resolvctl: only remove protocol after last dot when mangling ifname for resolvconf X-Git-Tag: v252-rc1~473 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e8d0eb3915ac33cc0d3da87a836cee6e61645227;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c index aaa1c497c02..6d08821ecd6 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;