[Bug 204897] [jail] Jail names cannot start with a '0', resulting in 'jail: name cannot be numeric (unless it is the jid)'
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Nov 29 18:13:11 UTC 2015
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204897
Bug ID: 204897
Summary: [jail] Jail names cannot start with a '0', resulting
in 'jail: name cannot be numeric (unless it is the
jid)'
Product: Base System
Version: 10.2-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: freebsd-bugs at FreeBSD.org
Reporter: doublef.mobile at gmail.com
Created attachment 163656
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=163656&action=edit
Untested sample patch
If, for example, the following command starts a jail:
# jail -n someday ...
and so does the following command:
# jail -n 1day ...
this one doesn't:
# jail -n 0day /var/empty empty 10.0.0.1 /bin/sh
jail: name cannot be numeric (unless it is the jid)
Apart from people making up stupid names for jails, this affects anyone trying
to run Docker on FreeBSD. The behavior is due to a bug in
sys/kern/kern_jail.c's detection of numeric JIDs, which dates back to 2009:
https://svnweb.freebsd.org/base/head/sys/kern/kern_jail.c?revision=285685&view=markup
> else if (*namelc == '0' || (strtoul(namelc, &p, 10) != jid && *p == '\0')))
It thinks everything that starts with a '0' is numeric, and doesn't
check that it's the only character, e.g. namelc[1] == '\0'. Untested sample
patch is attached.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list