From: Lennart Poettering Date: Fri, 5 Mar 2021 19:33:15 +0000 (+0100) Subject: socket-util: refuse "all" and "default" as valid ifnames X-Git-Tag: v248-rc3~49 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=07a7441a1c0c09b63bb76fa48d540f8d37db0c6f;p=thirdparty%2Fsystemd.git socket-util: refuse "all" and "default" as valid ifnames Let's avoid collisions with special sysctls. --- diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c index 8267988ad9c..06387bdfd6d 100644 --- a/src/basic/socket-util.c +++ b/src/basic/socket-util.c @@ -736,6 +736,11 @@ bool ifname_valid_full(const char *p, IfnameValidFlags flags) { if (dot_or_dot_dot(p)) return false; + /* Let's refuse "all" and "default" as interface name, to avoid collisions with the special sysctl + * directories /proc/sys/net/{ipv4,ipv6}/conf/{all,default} */ + if (STR_IN_SET(p, "all", "default")) + return false; + for (const char *t = p; *t; t++) { if ((unsigned char) *t >= 127U) return false;