mirror of git://anongit.mindrot.org/openssh.git
upstream commit
reverse the order in which -J/JumpHost proxies are visited to be more intuitive and document reported by and manpage bits naddy@ Upstream-ID: 3a68fd6a841fd6cf8cedf6552a9607ba99df179a
This commit is contained in:
parent
fcd135c9df
commit
286f5a77c3
25
readconf.c
25
readconf.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: readconf.c,v 1.258 2016/07/20 10:45:27 naddy Exp $ */
|
||||
/* $OpenBSD: readconf.c,v 1.259 2016/07/22 03:35:11 djm Exp $ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||
|
@ -2292,7 +2292,12 @@ parse_jump(const char *s, Options *o, int active)
|
|||
|
||||
orig = sdup = xstrdup(s);
|
||||
first = active;
|
||||
while ((cp = strsep(&sdup, ",")) && cp != NULL) {
|
||||
do {
|
||||
if ((cp = strrchr(sdup, ',')) == NULL)
|
||||
cp = sdup; /* last */
|
||||
else
|
||||
*cp++ = '\0';
|
||||
|
||||
if (first) {
|
||||
/* First argument and configuration is active */
|
||||
if (parse_user_host_port(cp, &user, &host, &port) != 0)
|
||||
|
@ -2303,7 +2308,7 @@ parse_jump(const char *s, Options *o, int active)
|
|||
goto out;
|
||||
}
|
||||
first = 0; /* only check syntax for subsequent hosts */
|
||||
}
|
||||
} while (cp != sdup);
|
||||
/* success */
|
||||
if (active) {
|
||||
o->jump_user = user;
|
||||
|
@ -2311,8 +2316,10 @@ parse_jump(const char *s, Options *o, int active)
|
|||
o->jump_port = port;
|
||||
o->proxy_command = xstrdup("none");
|
||||
user = host = NULL;
|
||||
if ((cp = strchr(s, ',')) != NULL && cp[1] != '\0')
|
||||
o->jump_extra = xstrdup(cp + 1);
|
||||
if ((cp = strrchr(s, ',')) != NULL && cp != s) {
|
||||
o->jump_extra = xstrdup(s);
|
||||
o->jump_extra[cp - s] = '\0';
|
||||
}
|
||||
}
|
||||
ret = 0;
|
||||
out:
|
||||
|
@ -2636,6 +2643,9 @@ dump_client_config(Options *o, const char *host)
|
|||
strspn(o->jump_host, "1234567890.") == strlen(o->jump_host);
|
||||
snprintf(buf, sizeof(buf), "%d", o->jump_port);
|
||||
printf("proxyjump %s%s%s%s%s%s%s%s%s\n",
|
||||
/* optional additional jump spec */
|
||||
o->jump_extra == NULL ? "" : o->jump_extra,
|
||||
o->jump_extra == NULL ? "" : ",",
|
||||
/* optional user */
|
||||
o->jump_user == NULL ? "" : o->jump_user,
|
||||
o->jump_user == NULL ? "" : "@",
|
||||
|
@ -2647,9 +2657,6 @@ dump_client_config(Options *o, const char *host)
|
|||
i ? "]" : "",
|
||||
/* optional port number */
|
||||
o->jump_port <= 0 ? "" : ":",
|
||||
o->jump_port <= 0 ? "" : buf,
|
||||
/* optional additional jump spec */
|
||||
o->jump_extra == NULL ? "" : ",",
|
||||
o->jump_extra == NULL ? "" : o->jump_extra);
|
||||
o->jump_port <= 0 ? "" : buf);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $OpenBSD: ssh_config.5,v 1.234 2016/07/16 06:57:55 jmc Exp $
|
||||
.Dd $Mdocdate: July 16 2016 $
|
||||
.\" $OpenBSD: ssh_config.5,v 1.235 2016/07/22 03:35:11 djm Exp $
|
||||
.Dd $Mdocdate: July 22 2016 $
|
||||
.Dt SSH_CONFIG 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -1367,7 +1367,8 @@ Specifies one or more jump proxies as
|
|||
.Op : Ns Ar port
|
||||
.Sm on
|
||||
.Xc .
|
||||
Multiple proxies may be separated by comma characters.
|
||||
Multiple proxies may be separated by comma characters and will be visited
|
||||
left-to-right.
|
||||
Setting this option will cause
|
||||
.Xr ssh 1
|
||||
to connect to the target host by first making a
|
||||
|
|
Loading…
Reference in New Issue