dhclient-script, hooks, and changing the environment
Mike Hommey
mh at glandium.org
Thu Aug 7 05:39:13 UTC 2008
On Wed, Aug 06, 2008 at 11:41:39PM -0300, martin f krafft wrote:
> also sprach Brian May <bam at snoopy.debian.net> [2008.08.06.2242 -0300]:
> > Packages that come to mind that want to alter the environment of it
> > parent are:
> >
> > * ssh-agent
>
> You have to eval the output, no?
>
> > * <http://modules.sourceforge.net/>
>
> *horror* ! :)
>
> Neither of those affect /etc/dhcp3/dhclient-*-hooks.d though...
>
> > I guess you could also write a shell script to a temp file and
> > then source that. Not sure if this is any cleaner though.
>
> The problem is that netconf has no dhclient-script anymore as it
> parses dhclient REASONS directly and then proceeds to use e.g. IP
> address and router stuff as if it had been gathered from /e/n/i.
> Thus, hooks are execvp()'d from netconf directly. If I wanted to
> allow hooks to modify the environment, I'd have to execvp()
>
> sh -c '. the_hook; env | while read line; do echo "ENVIRONMENT:$line'
>
> and then parse that stuff out of stdout, which, to put it mildly, is
> ASS. I'd really rather not.
Why not open a new fd and then run
sh -c '. the_hook; env >&3' ?
(though the hook script could also be closing and reopening this fd...
using a higher number could be safer)
Mike
More information about the netconf-devel
mailing list