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: [email protected]
          Reporter: [email protected]

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.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to