On Fri, 2006-08-18 at 09:17, Xavier Bestel wrote: > On Fri, 2006-08-18 at 08:11, Stephen Hemminger wrote: > > Don't allow spaces in network device names because it makes > > it difficult to provide text interfaces via sysfs. > > Personally I would at least avoid all chars <= ' ', because an interface > name is meant to be displayed and these control chars do no good on a > console nor in X.
Something like the following patch (short of a full in-kernel utf8 validator). That said it starts looking like policy in the kernel. Maybe the "no space in devname" should just be enforced by some userspace tool, not by the kernel itself ? Xav diff --git a/net/core/dev.c b/net/core/dev.c index d95e262..906cbf3 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -636,10 +636,23 @@ struct net_device * dev_get_by_flags(uns */ int dev_valid_name(const char *name) { - return !(*name == '\0' - || !strcmp(name, ".") - || !strcmp(name, "..") - || strchr(name, '/')); + if(!*name) /* empty string */ + return 0; + if(*name == '.') { /* . or .. */ + if(!name[1]) + return 0; + if(name[1] == '.' && !name[2]) + return 0; + } + /* control char, space or slash */ + while(*name) { + if(*name == '/') + return 0; + if(*name <= ' ') + return 0; + ++name; + } + return 1; } /** - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html