network: accept colons in network interface names, normally used for alias interfaces (#5117)
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
7e974e8530
commit
a341dfe563
@@ -887,7 +887,7 @@ bool ifname_valid(const char *p) {
|
|||||||
if ((unsigned char) *p <= 32U)
|
if ((unsigned char) *p <= 32U)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (*p == ':' || *p == '/')
|
if (*p == '/')
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
numeric = numeric && (*p >= '0' && *p <= '9');
|
numeric = numeric && (*p >= '0' && *p <= '9');
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
static void test_ifname_valid(void) {
|
static void test_ifname_valid(void) {
|
||||||
assert(ifname_valid("foo"));
|
assert(ifname_valid("foo"));
|
||||||
assert(ifname_valid("eth0"));
|
assert(ifname_valid("eth0"));
|
||||||
|
assert(ifname_valid("eth0:0"));
|
||||||
|
|
||||||
assert(!ifname_valid("0"));
|
assert(!ifname_valid("0"));
|
||||||
assert(!ifname_valid("99"));
|
assert(!ifname_valid("99"));
|
||||||
@@ -44,7 +45,7 @@ static void test_ifname_valid(void) {
|
|||||||
assert(!ifname_valid("."));
|
assert(!ifname_valid("."));
|
||||||
assert(!ifname_valid(".."));
|
assert(!ifname_valid(".."));
|
||||||
assert(ifname_valid("foo.bar"));
|
assert(ifname_valid("foo.bar"));
|
||||||
assert(!ifname_valid("x:y"));
|
assert(ifname_valid("x:y"));
|
||||||
|
|
||||||
assert(ifname_valid("xxxxxxxxxxxxxxx"));
|
assert(ifname_valid("xxxxxxxxxxxxxxx"));
|
||||||
assert(!ifname_valid("xxxxxxxxxxxxxxxx"));
|
assert(!ifname_valid("xxxxxxxxxxxxxxxx"));
|
||||||
|
|||||||
Reference in New Issue
Block a user