git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] ssh: add 'ssh.keyfile' option

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 23, 2020, 19:38 UTC
Message-ID
<xmqqeesegfgy.fsf@gitster.c.googlers.com>
In-Reply-To
<AM0PR04MB47715A57B110E14D6631EACDA5D30@AM0PR04MB4771.eurprd04.prod.outlook.com>
Matthias Aßhauer <mha1993@live.de> writes:
Show 7 quoted lines
>>+		switch (variant) {
>>+		case VARIANT_AUTO:
>>+			BUG("VARIANT_AUTO passed to push_ssh_options");
>
> Why do we keep replicating this all over push_ssh_options? The wording
> very much sounds like it's a bug whenever VARIANT_AUTO gets passed to
> push_ssh_options, no exceptions. In that case ...

My reading of the code tells me that it is *not* the case. When the caller asks to connect only over IPv4 with CONNECT_IPV4 bit set in the flags, we cannot translate that to an option to underlying SSH implementation without knowing the variant. As long as the caller does not specify IPV4/IPV6 or custom port, I think it is OK for the caller to leave the variant AUTO.

So you probably want a patch along the lines of...
 connect.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/connect.c b/connect.c
index b6451ab5e8..b02cf74c9a 100644
--- a/connect.c
+++ b/connect.c
@@ -1118,7 +1118,7 @@ static void push_ssh_options(struct argv_array *args, struct argv_array *env,
 	if (flags & CONNECT_IPV4) {
 		switch (variant) {
 		case VARIANT_AUTO:
-			BUG("VARIANT_AUTO passed to push_ssh_options");
+			BUG("VARIANT_AUTO and CONNECT_IPV4 used together");
 		case VARIANT_SIMPLE:
 			die(_("ssh variant 'simple' does not support -4"));
 		case VARIANT_SSH:
Previous: Matthias AßhauerNext: Matthias Aßhauer
Message 7 of 9 in “ssh: add 'ssh.keyfile' option”
  1. ssh: add 'ssh.keyfile' optionRaymond E. Pasco, Apr 23, 2020
  2. ssh: add 'ssh.keyfile' optionRaymond E. Pasco, Apr 23, 2020
  3. Johannes SixtApr 23, 2020
  4. Junio C HamanoApr 23, 2020
  5. Raymond E. PascoApr 24, 2020
  6. Matthias AßhauerApr 23, 2020
  7. Junio C HamanoApr 23, 2020
  8. Matthias AßhauerApr 24, 2020
  9. connect.c: clarify BUG() messages in push_ssh_optionsMatthias Aßhauer, Apr 25, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.