Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jul 2014 22:36:39 -0700
From:      <dteske@FreeBSD.org>
To:        "'Jordan Hubbard'" <jordanhubbard@me.com>, <dteske@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, 'Mateusz Guzik' <mjguzik@gmail.com>, src-committers@freebsd.org, 'Bryan Drewery' <bdrewery@FreeBSD.org>
Subject:   RE: svn commit: r268641 - head/usr.sbin/service
Message-ID:  <01ad01cfa0b7$ea933910$bfb9ab30$@FreeBSD.org>
In-Reply-To: <BFE7BE40-DF31-4AAA-9B34-6B696744F212@me.com>
References:  <201407150218.s6F2Itj8044531@svn.freebsd.org> <53C56BE9.9050304@FreeBSD.org> <20140715191553.GA31990@dft-labs.eu> <011a01cfa09b$928b4710$b7a1d530$@FreeBSD.org> <BFE7BE40-DF31-4AAA-9B34-6B696744F212@me.com>

next in thread | previous in thread | raw e-mail | index | archive | help


> -----Original Message-----
> From: Jordan Hubbard [mailto:jordanhubbard@me.com]
> Sent: Tuesday, July 15, 2014 9:39 PM
> To: dteske@freebsd.org
> Cc: Mateusz Guzik; Bryan Drewery; src-committers@freebsd.org; svn-src-
> all@freebsd.org; svn-src-head@freebsd.org
> Subject: Re: svn commit: r268641 - head/usr.sbin/service
> 
> On Jul 15, 2014, at 7:13 PM, dteske@freebsd.org wrote:
> 
> > I would argue that not all programs are going to like having
> > a nearly empty environment. Things like TERM and SHLVL
> > at the very least should be passed (after-all, the boot process
> > takes place on [a] a terminal and [b] in a shell).
> 
> Having launchd scrub every processes environment down to nothing, then
> have environment variables be set explicitly as part of that processes'
> "launch contract" was one of the best decisions we ever made at Apple.
> 
> The Unix process environment is a septic tank, and that's actually being
kind
> since most septic tanks don't also contain bottles of nerve gas and the
> occasional live hand grenade.  Many parts of the environment are trivially
> attackable, and if anyone on the CC line thinks they know the full extent
of
> that attack surface, they're wrong.  Not because there aren't some
> extremely smart Unix people in the audience, but because it's simply
> impossible to know how each and every environment variable will be used,
> how it can overflow, or how it can be used to permute a program's behavior
> in unpredictable ways.   Even if the intention isn't to be hostile, you
can still
> cause some truly Heisenbergian results by having the environment be
> unpredictable in nature.
> 
> It may not be "Unixy", but Unix didn't grow up in a world with millions of
> instances of itself or the big, bad Internet encompassing pretty much
every
> country on earth.  Changes need to be made to keep up with the times, and
> you can rest assured that FreeBSD's competition is making those changes or
> has already made them.
> 
> I also find it a frankly weird assertion that a background service would
care
> about the value of TERM.  That sounds like a pretty warped service to me,
> since assuming interactivity is more the exception than the rule these
days.
> 

Odd indeed. An rc.d script needs to know $TERM so it can launch a background
instance of screen or tmux. The rc.d script itself doesn't use $TERM but the
instance of screen or tmux needs it else it thinks you're not on a terminal
(maybe
the proper thing is to patch screen and tmux ;D).
-- 
Devin




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?01ad01cfa0b7$ea933910$bfb9ab30$>