version 1.117, 2001/12/06 18:02:32 |
version 1.118, 2001/12/19 07:18:56 |
|
|
/* Create pipes for communicating with the proxy. */ |
/* Create pipes for communicating with the proxy. */ |
if (pipe(pin) < 0 || pipe(pout) < 0) |
if (pipe(pin) < 0 || pipe(pout) < 0) |
fatal("Could not create pipes to communicate with the proxy: %.100s", |
fatal("Could not create pipes to communicate with the proxy: %.100s", |
strerror(errno)); |
strerror(errno)); |
|
|
debug("Executing proxy command: %.500s", command_string); |
debug("Executing proxy command: %.500s", command_string); |
|
|
|
|
int full_failure = 1; |
int full_failure = 1; |
|
|
debug("ssh_connect: getuid %u geteuid %u anon %d", |
debug("ssh_connect: getuid %u geteuid %u anon %d", |
(u_int) getuid(), (u_int) geteuid(), anonymous); |
(u_int) getuid(), (u_int) geteuid(), anonymous); |
|
|
/* Get default port if port has not been set. */ |
/* Get default port if port has not been set. */ |
if (port == 0) { |
if (port == 0) { |
|
|
&remote_major, &remote_minor, remote_version) != 3) |
&remote_major, &remote_minor, remote_version) != 3) |
fatal("Bad remote protocol version identification: '%.100s'", buf); |
fatal("Bad remote protocol version identification: '%.100s'", buf); |
debug("Remote protocol version %d.%d, remote software version %.100s", |
debug("Remote protocol version %d.%d, remote software version %.100s", |
remote_major, remote_minor, remote_version); |
remote_major, remote_minor, remote_version); |
|
|
compat_datafellows(remote_version); |
compat_datafellows(remote_version); |
mismatch = 0; |
mismatch = 0; |
|
|
*/ |
*/ |
host_file = user_hostfile; |
host_file = user_hostfile; |
host_status = check_host_in_hostfile(host_file, host, host_key, |
host_status = check_host_in_hostfile(host_file, host, host_key, |
file_key, &host_line); |
file_key, &host_line); |
if (host_status == HOST_NEW) { |
if (host_status == HOST_NEW) { |
host_file = system_hostfile; |
host_file = system_hostfile; |
host_status = check_host_in_hostfile(host_file, host, host_key, |
host_status = check_host_in_hostfile(host_file, host, host_key, |
|
|
"'%.128s' not in list of known hosts.", |
"'%.128s' not in list of known hosts.", |
type, ip); |
type, ip); |
else if (!add_host_to_hostfile(user_hostfile, ip, |
else if (!add_host_to_hostfile(user_hostfile, ip, |
host_key)) |
host_key)) |
log("Failed to add the %s host key for IP " |
log("Failed to add the %s host key for IP " |
"address '%.128s' to the list of known " |
"address '%.128s' to the list of known " |
"hosts (%.30s).", type, ip, user_hostfile); |
"hosts (%.30s).", type, ip, user_hostfile); |
|
|
error("Port forwarding is disabled to avoid " |
error("Port forwarding is disabled to avoid " |
"man-in-the-middle attacks."); |
"man-in-the-middle attacks."); |
options.num_local_forwards = |
options.num_local_forwards = |
options.num_remote_forwards = 0; |
options.num_remote_forwards = 0; |
} |
} |
/* |
/* |
* XXX Should permit the user to change to use the new id. |
* XXX Should permit the user to change to use the new id. |
|
|
error("Exiting, you have requested strict checking."); |
error("Exiting, you have requested strict checking."); |
goto fail; |
goto fail; |
} else if (options.strict_host_key_checking == 2) { |
} else if (options.strict_host_key_checking == 2) { |
if (!confirm("Are you sure you want " |
if (!confirm("Are you sure you want " |
"to continue connecting (yes/no)? ")) { |
"to continue connecting (yes/no)? ")) { |
goto fail; |
goto fail; |
} |
} |