This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 2004-Feb-17 snapshot change ssh option parsing behavior

On Feb 20 10:08, Wayne Davison wrote:
> This is not something that other OSes require, and programs such as
> rsync are broken by this change.  While trying to work around this
> problem, I tried using a remote-shell option of "ssh --" with rsync,
> but ssh still doesn't do the right thing with that either.  You can
> observe the mangled result by inserting an "echo" in the command that
> rsync runs:
> % ssh -- host echo rsync --server -vlogDtpr . destdir/
> rsync -vlogDtpr . destdir/
> Notice how the "--server" option was dropped!  Without the echo, this
> results in starting up a remote local-copy rsync command.  I'm just
> lucky that I hadn't specified a --delete option, or this bug could have
> devestated my home dir on the remote system.
> Reordering the two options above causes ssh to switch to verbose mode
> and try to log-in as "ogDtpr", so it appears to be erroneously parsing
> that first rsync option even when "--" is used (which may well be a bug
> in the BSD getopt routine).
> Yes, setting the POSIXLY_CORRECT environment variable fixes this.
> I think that ssh should not reorder its options -- it's just too
> disruptive of a change in behavior.

Ok, ok, ok.  Since the Cygwin getopt is almost vanilla NetBSD, there's
at least one OS on which getopt behaves identically.

But I can't stand the idea to discuss this over and over again in future.
I've changed Cygwin's getopt to the OpenBSD version which has argument
permutation switched on by default for getopt_Long and switched off by
default for getopt.  That should do it.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                      
Red Hat, Inc.

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]