Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Mar 2017 19:18:19 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 217924] dhclient: Fails to fork into the background with kern.trap_enotcap=1
Message-ID:  <bug-217924-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D217924

            Bug ID: 217924
           Summary: dhclient: Fails to fork into the background with
                    kern.trap_enotcap=3D1
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: tobik@freebsd.org

Created attachment 180966
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D180966&action=
=3Dedit
dhclient.diff

With the sysctl kern.trap_enotcap=3D1, dhclient fails to fork into the
background and dies. truss excerpt:

4933: <new process>
4933: setsid()                                  =3D 4933 (0x1345)
4933: sigaction(SIGHUP,{ SIG_DFL 0x0 ss_t },0x0) =3D 0 (0x0)
4933: open("/dev/null",O_RDWR,00)               ERR#94 'Not permitted in
capability mode'
4933: SIGNAL 5 (SIGTRAP)

There is an older comment in dhclient.c that says that it is expected
that daemon(3) will fail to open /dev/null in a chroot.  The is doubly
true when in capability mode.  dhclient replicates the behavior of
daemon(3) in dup'ing /dev/null (with a previously opened fd) anyway,
so why isn't noclose set too?  This way the attempt to open /dev/null
again can be avoided.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-217924-8>