Re: ssh-copy-id bugfix

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

 



On Fri, Nov 27, 2015 at 08:52:01PM +0100, Philip Hands wrote:
> Stephen Harris <lists@xxxxxxxxxx> writes:
> 
> > On Thu, Nov 26, 2015 at 08:34:50PM -0500, Nico Kadel-Garcia wrote:
> >> It's not clear, even to a reasonably intelligent bash progammer, that
> >> the use of "exec" is to insure compatibility with fish and tcsh users.
> >
> > The use of exec is not to ensure compatability.  Just doing
> >   sh -c "..."
> > would be enough.
> >
> > The "exec" is for efficiency.  It is not _needed_. 

> I doubt I'd have put the "exec" in, but having thought about it briefly,
> I decided to keep it (at least until someone points to a shell that
> doesn't have exec, but would otherwise succeed in running sh).

I can come up with an artificial case (a "menu shell" type construct,
or some embedded device with a limited CLI) but I can't think of any
regular shell that'd suffer the issue.

> FWIW I think Nico does have a point about having a comment that would
> act as a reminder not to break the portability features of that line, so
> that's what I'll do.

A comment is definitely necessary because this thread has shown that
a multi-decade old coding construct (I first came across it in 1991)
isn't properly understood, even by the smart people on this list.

If I was doing it from scratch I might have considered just having
something like
  ssh -t "$@" /bin/sh -i
and then putting the umask/mkdir/... commands on stdin before the pubkeys
(that's how I've built solutions in the past) to keep complicated commands
and quoting away from the CLI parser, but in this case the commands are
simple enough that the proposed patch works well enough.

-- 

rgds
Stephen
_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@xxxxxxxxxxx
https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev



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

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux