version 1.313, 2019/02/01 03:52:23 |
version 1.314, 2019/02/27 19:37:01 |
|
|
struct sockaddr_storage *hostaddr, u_short port, int family, |
struct sockaddr_storage *hostaddr, u_short port, int family, |
int connection_attempts, int *timeout_ms, int want_keepalive) |
int connection_attempts, int *timeout_ms, int want_keepalive) |
{ |
{ |
|
int in, out; |
|
|
if (options.proxy_command == NULL) { |
if (options.proxy_command == NULL) { |
return ssh_connect_direct(ssh, host, addrs, hostaddr, port, |
return ssh_connect_direct(ssh, host, addrs, hostaddr, port, |
family, connection_attempts, timeout_ms, want_keepalive); |
family, connection_attempts, timeout_ms, want_keepalive); |
} else if (strcmp(options.proxy_command, "-") == 0) { |
} else if (strcmp(options.proxy_command, "-") == 0) { |
if ((ssh_packet_set_connection(ssh, |
if ((in = dup(STDIN_FILENO)) < 0 || |
STDIN_FILENO, STDOUT_FILENO)) == NULL) |
(out = dup(STDOUT_FILENO)) < 0) { |
|
if (in >= 0) |
|
close(in); |
|
error("%s: dup() in/out failed", __func__); |
|
return -1; /* ssh_packet_set_connection logs error */ |
|
} |
|
if ((ssh_packet_set_connection(ssh, in, out)) == NULL) |
return -1; /* ssh_packet_set_connection logs error */ |
return -1; /* ssh_packet_set_connection logs error */ |
return 0; |
return 0; |
} else if (options.proxy_use_fdpass) { |
} else if (options.proxy_use_fdpass) { |