Re: [PATCH] Ensure that SSH runs in non-interactive mode
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 20, 2008, 19:51 UTC
- Message-ID
- <7vhcak5o6n.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <alpine.DEB.1.00.0807202035090.3305@eeepc-johanness>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 17 quoted lines
> How about this instead?
>
> -- snipsnap --
> diff --git a/connect.c b/connect.c
> index 574f42f..7e7f4d3 100644
> --- a/connect.c
> +++ b/connect.c
> @@ -603,7 +603,8 @@ struct child_process *git_connect(int fd[2], const char *url
>
> *arg++ = ssh;
> if (port) {
> - *arg++ = "-p";
> + const char *opt = getenv("GIT_SSH_PORT_OPTION");
> + *arg++ = opt ? opt : "-p";
> *arg++ = port;
> }
> *arg++ = host;If you only care only about the ones we currently want to support, I do not htink it makes any difference either way, but if we are shooting for having a minimum-but-reasonable framework to make it easy to support other ones that we haven't seen, it feels very much like an inadequate hack to waste an envirnoment variable for such a narrow special case. With this, what you really mean is "Plink uses -P instead of -p", right?
I do not know if "plink" is used widely enough to be special cased, but if so, I think we would better have an explicit support for it. Will we add GIT_SSH_FORBID_X11_FORWARDING_OPTION environment variable and friends, too?
The extra environment would not help dealing with an implementation that wants --port=90222 (i.e. not as two separate arguments but a single one), for example. You would need the extra wrapper support for that kind of thing anyway. That extra environment _solution_ will need to make an assuption that any reasonable implementation would have an option string to specify port which may not be "-p" and that is to be followed by a separate argument that is a decimal port number, which probably is reasonable for this particular "port" thing, but as a general design principle I do not think it is a good direction to go.