version 1.190, 2003/02/06 09:27:29 |
version 1.191, 2003/04/08 20:21:29 |
|
|
/* Get user data. */ |
/* Get user data. */ |
pw = getpwuid(original_real_uid); |
pw = getpwuid(original_real_uid); |
if (!pw) { |
if (!pw) { |
log("You don't exist, go away!"); |
logit("You don't exist, go away!"); |
exit(1); |
exit(1); |
} |
} |
/* Take a copy of the returned structure. */ |
/* Take a copy of the returned structure. */ |
|
|
/* Do not allocate a tty if stdin is not a tty. */ |
/* Do not allocate a tty if stdin is not a tty. */ |
if (!isatty(fileno(stdin)) && !force_tty_flag) { |
if (!isatty(fileno(stdin)) && !force_tty_flag) { |
if (tty_flag) |
if (tty_flag) |
log("Pseudo-terminal will not be allocated because stdin is not a terminal."); |
logit("Pseudo-terminal will not be allocated because stdin is not a terminal."); |
tty_flag = 0; |
tty_flag = 0; |
} |
} |
|
|
|
|
if (!got_data) { |
if (!got_data) { |
u_int32_t rand = 0; |
u_int32_t rand = 0; |
|
|
log("Warning: No xauth data; using fake authentication data for X11 forwarding."); |
logit("Warning: No xauth data; using fake authentication data for X11 forwarding."); |
strlcpy(proto, "MIT-MAGIC-COOKIE-1", sizeof proto); |
strlcpy(proto, "MIT-MAGIC-COOKIE-1", sizeof proto); |
for (i = 0; i < 16; i++) { |
for (i = 0; i < 16; i++) { |
if (i % 4 == 0) |
if (i % 4 == 0) |
|
|
if (type == SSH_SMSG_SUCCESS) |
if (type == SSH_SMSG_SUCCESS) |
packet_start_compression(options.compression_level); |
packet_start_compression(options.compression_level); |
else if (type == SSH_SMSG_FAILURE) |
else if (type == SSH_SMSG_FAILURE) |
log("Warning: Remote host refused compression."); |
logit("Warning: Remote host refused compression."); |
else |
else |
packet_disconnect("Protocol error waiting for compression response."); |
packet_disconnect("Protocol error waiting for compression response."); |
} |
} |
|
|
interactive = 1; |
interactive = 1; |
have_tty = 1; |
have_tty = 1; |
} else if (type == SSH_SMSG_FAILURE) |
} else if (type == SSH_SMSG_FAILURE) |
log("Warning: Remote host failed or refused to allocate a pseudo tty."); |
logit("Warning: Remote host failed or refused to allocate a pseudo tty."); |
else |
else |
packet_disconnect("Protocol error waiting for pty request response."); |
packet_disconnect("Protocol error waiting for pty request response."); |
} |
} |
|
|
if (type == SSH_SMSG_SUCCESS) { |
if (type == SSH_SMSG_SUCCESS) { |
interactive = 1; |
interactive = 1; |
} else if (type == SSH_SMSG_FAILURE) { |
} else if (type == SSH_SMSG_FAILURE) { |
log("Warning: Remote host denied X11 forwarding."); |
logit("Warning: Remote host denied X11 forwarding."); |
} else { |
} else { |
packet_disconnect("Protocol error waiting for X11 forwarding"); |
packet_disconnect("Protocol error waiting for X11 forwarding"); |
} |
} |
|
|
type = packet_read(); |
type = packet_read(); |
packet_check_eom(); |
packet_check_eom(); |
if (type != SSH_SMSG_SUCCESS) |
if (type != SSH_SMSG_SUCCESS) |
log("Warning: Remote host denied authentication agent forwarding."); |
logit("Warning: Remote host denied authentication agent forwarding."); |
} |
} |
|
|
/* Initiate port forwardings. */ |
/* Initiate port forwardings. */ |
|
|
options.remote_forwards[i].host, |
options.remote_forwards[i].host, |
options.remote_forwards[i].host_port); |
options.remote_forwards[i].host_port); |
if (type == SSH2_MSG_REQUEST_FAILURE) |
if (type == SSH2_MSG_REQUEST_FAILURE) |
log("Warning: remote port forwarding failed for listen port %d", |
logit("Warning: remote port forwarding failed for listen port %d", |
options.remote_forwards[i].port); |
options.remote_forwards[i].port); |
} |
} |
|
|