version 1.344, 2020/12/17 23:10:27 |
version 1.345, 2020/12/21 09:19:53 |
|
|
{ |
{ |
char *orig, *sdup, *cp; |
char *orig, *sdup, *cp; |
char *host = NULL, *user = NULL; |
char *host = NULL, *user = NULL; |
int ret = -1, port = -1, first; |
int r, ret = -1, port = -1, first; |
|
|
active &= o->proxy_command == NULL && o->jump_host == NULL; |
active &= o->proxy_command == NULL && o->jump_host == NULL; |
|
|
|
|
|
|
if (first) { |
if (first) { |
/* First argument and configuration is active */ |
/* First argument and configuration is active */ |
if (parse_ssh_uri(cp, &user, &host, &port) == -1 && |
r = parse_ssh_uri(cp, &user, &host, &port); |
parse_user_host_port(cp, &user, &host, &port) != 0) |
if (r == -1 || (r == 1 && |
|
parse_user_host_port(cp, &user, &host, &port) != 0)) |
goto out; |
goto out; |
} else { |
} else { |
/* Subsequent argument or inactive configuration */ |
/* 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) |
parse_user_host_port(cp, NULL, NULL, NULL) != 0) |
|
goto out; |
|
r = parse_ssh_uri(cp, NULL, NULL, NULL); |
|
if (r == -1 || (r == 1 && |
|
parse_user_host_port(cp, NULL, NULL, NULL) != 0)) |
goto out; |
goto out; |
} |
} |
first = 0; /* only check syntax for subsequent hosts */ |
first = 0; /* only check syntax for subsequent hosts */ |