util-lib: add new ifname_valid() call that validates interface names

Make use of this in nspawn at a couple of places. A later commit should port
more code over to this, including networkd.
This commit is contained in:
Lennart Poettering
2016-05-09 15:45:31 +02:00
parent 5e7423ff25
commit ef76dff225
5 changed files with 93 additions and 2 deletions
+25
View File
@@ -27,6 +27,29 @@
#include "string-util.h"
#include "util.h"
static void test_ifname_valid(void) {
assert(ifname_valid("foo"));
assert(ifname_valid("eth0"));
assert(!ifname_valid("0"));
assert(!ifname_valid("99"));
assert(ifname_valid("a99"));
assert(ifname_valid("99a"));
assert(!ifname_valid(NULL));
assert(!ifname_valid(""));
assert(!ifname_valid(" "));
assert(!ifname_valid(" foo"));
assert(!ifname_valid("bar\n"));
assert(!ifname_valid("."));
assert(!ifname_valid(".."));
assert(ifname_valid("foo.bar"));
assert(!ifname_valid("x:y"));
assert(ifname_valid("xxxxxxxxxxxxxxx"));
assert(!ifname_valid("xxxxxxxxxxxxxxxx"));
}
static void test_socket_address_parse(void) {
SocketAddress a;
@@ -362,6 +385,8 @@ int main(int argc, char *argv[]) {
log_set_max_level(LOG_DEBUG);
test_ifname_valid();
test_socket_address_parse();
test_socket_address_parse_netlink();
test_socket_address_equal();