network: accept colons in network interface names, normally used for alias interfaces (#5117)
This commit is contained in:
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"));
|
||||||
|
|
Loading…
Reference in a new issue