Call for testing: OpenSSH 7.6
Iain Morgan
imorgan at nas.nasa.gov
Sat Sep 30 08:37:59 AEST 2017
On Fri, Sep 29, 2017 at 11:55:26 -0700, Darren Tucker wrote:
> On 29 September 2017 at 11:05, Iain Morgan <imorgan+openssh at nas.nasa.gov> wrote:
> [...]
> > This is due to my shell being csh, which is pickier about undefined
> > variables than the Bourne-style shells. The attached patch fixes the
> > issue.
>
> Thanks for figuring this out.
>
> > - 'test -z "$SSH_USER_AUTH"' || fail "SSH_USER_AUTH present"
> > + 'test -z `printenv SSH_USER_AUTH`' || fail "SSH_USER_AUTH present"
>
> Unfortunately printenv is not specified by posix (AFAICT it's a
> gnuism) so that would likely break many other currently working
> platforms.
> Would it be possible to do something like:
>
> 'test -z `sh -c "echo $SSH_USER_AUTH"`' || fail "SSH_USER_AUTH present"
>
> (plus or minus some quoting, probably) ?
>
Actually, according to OpenBSD's printenv(1) man page, it first appeared
in 2BSD. The man page on OS X claims it was BSD 3.0. However, it doesn't
appear to be part of any standard.
Your suggestion ran into the same issue as the original test, but
escaping the evaluation by the user's shell appears to work:
'test -z `sh -c "echo \$SSH_USER_AUTH"`' || fail "SSH_USER_AUTH present"
--
Iain Morgan
More information about the openssh-unix-dev
mailing list