From owner-freebsd-bugs@freebsd.org Sun Nov 29 18:13:10 2015 Return-Path: Delivered-To: freebsd-bugs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E9E6EA22294 for ; Sun, 29 Nov 2015 18:13:10 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BC4D315E7 for ; Sun, 29 Nov 2015 18:13:10 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id tATIDAcn010006 for ; Sun, 29 Nov 2015 18:13:10 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 204897] [jail] Jail names cannot start with a '0', resulting in 'jail: name cannot be numeric (unless it is the jid)' Date: Sun, 29 Nov 2015 18:13:10 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 10.2-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: doublef.mobile@gmail.com X-Bugzilla-Status: New X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Nov 2015 18:13:11 -0000 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@FreeBSD.org Reporter: doublef.mobile@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.