[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug#108417: procmail -p -m resets too many environment variables (fwd)



Santiago Vila <http://www.unex.es/~sanvila> writes:
>I received this yesterday.
>
>procmailrc(5) for 3.15.2 says:
>
>       Other cleared or preset environment variables are IFS, ENV
>       and PWD.
>
>and procmail(1) for 3.15.2 says:
>
>            If both -p and -m
>            are specified, the list of preset  environment  vari­
>            ables  shrinks to just: LOGNAME, HOME, SHELL, ORGMAIL
>            and MAILDIR.
>
>but it seems PATH is also preset, as in 3.13.1.
>
>When did procmail change its behaviour? Is the manpage for 3.15.2 ok?

Prior to version 3.15, PATH was handled by the same code that clears
IFS, ENV, and PWD.  As a result, it was overridden unless both -p and
-m were used.

In 3.15, changes were made to provide a 'secure' PATH to /etc/procmailrc.
Along the way the setting of PATH was moved out of the conditional.
Whoops.

The manpage looks fine to me, it's just a bug in the binary.  I'll look
at generating a patch.



>From: Robert <http://dummy.us.eu.org/robert>
...
>% cat > testpath.proc
>:0ic
>|sh -c "printenv PATH 1>&2"

That's easier written as

	LOG = "PATH=$PATH
	"

The 'obvious' version (which you probably tried before switching to what
you wrote) of
	:0 ic
	|printenv PATH 1>&2

doesn't work because SHELLMETAS isn't set by procmail -p -m


Philip Guenther
Procmail Maintainer







Why do you want this page removed?