Call for testing: OpenSSH-6.2

Philip Hands phil at hands.com
Sun Mar 3 08:17:26 EST 2013


Ángel González <keisial at gmail.com> writes:

> On 28/02/13 12:32, Philip Hands wrote:
>> BTW if anyone's got access to systems with particularly ancient or
>> deranged shells, where they would realistically like to run this script,
>> then bug reports telling me that there are still people using shells
>> that don't understand $(...) and/or ${FOO:+BAR}, for instance, would be
>> interesting -- although if the machine in question is going to get
>> powered up for the first time this millennium in order to do the test,
>> then I'm less interested. ;-)
> Well, there's the usual offender of Solaris sh
> (fails with syntax error at line 36: `DEFAULT_PUB_ID_FILE=$', so not too
> bad,

"Not too bad" in the sense that it gets as far as the first line of the
script before failing?  ;-)

So Solaris portability will require replacing $(...) with `...` *sigh*

> it also has a broken ${FOO:+BAR} syntax, printing BAR instead of $BAR)

That's correct behaviour -- you do ${FOO:+$BAR} if that's what you
wanted.  I'm using it to avoid adding an extra space to a list of
options, thus:

  X="${X:+$X }..."
            ^
(so the space after the $X only gets added when $X is already set)

> The first thing I notice of your script is the missing \n at the end of
> the usage (why are you using printf instead of echo?).

Well, echo is depressingly unportable, so I recently decided that I'd
spent enough time thinking about whether each usage of echo was going to
be portable, so why not avoid the problem completely.  This lays out the
problem:

  http://www.etalabs.net/sh_tricks.html

of course, that's where the missing \n bug came from -- thanks for
spotting that.

Note to self: changes that are too trivial to introduce bugs ... aren't

> Also, I'm seeing a ls stderr message of No such file or directory for
> ~/.ssh/id*.pub

Good point (I've obviously not tested it recently with no id files).

> Finally, the error (usage parameters) given if you don't have an agent
> running is not helpful.

How are you getting that?  Is this still somehow with Solaris?

It _should_ spit out:

   ERROR: No identities found

If you could describe what you did to get that, assuming that it still
happens with the latest version, I'll see if I can work out what's going
on.

Perhaps you'd be kind enough to give this a go on solaris for me:

  http://git.hands.com/ssh-copy-id?p=ssh-copy-id.git;a=blob_plain;f=ssh-copy-id;hb=refs/heads/solaris

I have a suspicion that if it doesn't like $(...) it might not like
$((maths)) much either.

I take it that opinion is that we still care about Solaris?
(please say no :-) )

Cheers, Phil.
-- 
|)|  Philip Hands [+44 (0)20 8530 9560]    http://www.hands.com/
|-|  HANDS.COM Ltd.                    http://www.uk.debian.org/
|(|  10 Onslow Gardens, South Woodford, London  E18 1NE  ENGLAND
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20130302/e869f4ef/attachment.bin>


More information about the openssh-unix-dev mailing list