From: peoronoob Date: Tue, 24 Jan 2017 03:26:41 +0000 (+0100) Subject: network: accept colons in network interface names, normally used for alias interfaces... X-Git-Tag: v233~214 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a341dfe563;p=thirdparty%2Fsystemd.git network: accept colons in network interface names, normally used for alias interfaces (#5117) --- diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c index 77f81a60ba5..c882b8a12ad 100644 --- a/src/basic/socket-util.c +++ b/src/basic/socket-util.c @@ -887,7 +887,7 @@ bool ifname_valid(const char *p) { if ((unsigned char) *p <= 32U) return false; - if (*p == ':' || *p == '/') + if (*p == '/') return false; numeric = numeric && (*p >= '0' && *p <= '9'); diff --git a/src/test/test-socket-util.c b/src/test/test-socket-util.c index d80613dc845..e1f5fd50845 100644 --- a/src/test/test-socket-util.c +++ b/src/test/test-socket-util.c @@ -30,6 +30,7 @@ static void test_ifname_valid(void) { assert(ifname_valid("foo")); assert(ifname_valid("eth0")); + assert(ifname_valid("eth0:0")); assert(!ifname_valid("0")); assert(!ifname_valid("99")); @@ -44,7 +45,7 @@ static void test_ifname_valid(void) { assert(!ifname_valid(".")); assert(!ifname_valid("..")); assert(ifname_valid("foo.bar")); - assert(!ifname_valid("x:y")); + assert(ifname_valid("x:y")); assert(ifname_valid("xxxxxxxxxxxxxxx")); assert(!ifname_valid("xxxxxxxxxxxxxxxx"));