> I can see that there's been a number of changes committed to OpenSSH
> recently[0] so, unless there's a snapshot-only change, this is most
> likely related.
Reverting this part of the change in readconf.c r1.344 "fixes" it for me.
The issue I run into with 'ssh -J host1 host2' is that parse_ssh_uri()
returns 1, in which case there no longer is a fallback to
parse_user_host_port(), so options->jump_host remains unset and the
"Setting implicit ProxyCommand from ProxyJump" path is no longer taken
in main().
Index: readconf.c
===================================================================
RCS file: /cvs/src/usr.bin/ssh/readconf.c,v
retrieving revision 1.344
diff -u -p -r1.344 readconf.c
--- readconf.c 17 Dec 2020 23:10:27 -0000 1.344
+++ readconf.c 20 Dec 2020 11:49:16 -0000
@@ -2778,12 +2778,12 @@ parse_jump(const char *s, Options *o, in
if (first) {
/* First argument and configuration is active */
- if (parse_ssh_uri(cp, &user, &host, &port) == -1 &&
+ if (parse_ssh_uri(cp, &user, &host, &port) == -1 ||
parse_user_host_port(cp, &user, &host, &port) != 0)
goto out;
} else {
/* Subsequent argument or inactive configuration */
- if (parse_ssh_uri(cp, NULL, NULL, NULL) == -1 &&
+ if (parse_ssh_uri(cp, NULL, NULL, NULL) == -1 ||
parse_user_host_port(cp, NULL, NULL, NULL) != 0)
goto out;
}