version 1.41, 2000/12/05 20:34:10 |
version 1.42, 2000/12/19 23:17:56 |
|
|
static Buffer stdin_buffer; /* Buffer for stdin data. */ |
static Buffer stdin_buffer; /* Buffer for stdin data. */ |
static Buffer stdout_buffer; /* Buffer for stdout data. */ |
static Buffer stdout_buffer; /* Buffer for stdout data. */ |
static Buffer stderr_buffer; /* Buffer for stderr data. */ |
static Buffer stderr_buffer; /* Buffer for stderr data. */ |
static unsigned long stdin_bytes, stdout_bytes, stderr_bytes; |
static u_long stdin_bytes, stdout_bytes, stderr_bytes; |
static unsigned int buffer_high;/* Soft max buffer size. */ |
static u_int buffer_high;/* Soft max buffer size. */ |
static int max_fd; /* Maximum file descriptor number in select(). */ |
static int max_fd; /* Maximum file descriptor number in select(). */ |
static int connection_in; /* Connection to server (input). */ |
static int connection_in; /* Connection to server (input). */ |
static int connection_out; /* Connection to server (output). */ |
static int connection_out; /* Connection to server (output). */ |
|
|
* and also process it as an escape character if |
* and also process it as an escape character if |
* appropriate. |
* appropriate. |
*/ |
*/ |
if ((unsigned char) buf[0] == escape_char) |
if ((u_char) buf[0] == escape_char) |
escape_pending = 1; |
escape_pending = 1; |
else { |
else { |
buffer_append(&stdin_buffer, buf, 1); |
buffer_append(&stdin_buffer, buf, 1); |
|
|
void |
void |
client_make_packets_from_stdin_data() |
client_make_packets_from_stdin_data() |
{ |
{ |
unsigned int len; |
u_int len; |
|
|
/* Send buffered stdin data to the server. */ |
/* Send buffered stdin data to the server. */ |
while (buffer_len(&stdin_buffer) > 0 && |
while (buffer_len(&stdin_buffer) > 0 && |
|
|
char string[1024]; |
char string[1024]; |
pid_t pid; |
pid_t pid; |
int bytes = 0; |
int bytes = 0; |
unsigned int i; |
u_int i; |
unsigned char ch; |
u_char ch; |
char *s; |
char *s; |
|
|
for (i = 0; i < len; i++) { |
for (i = 0; i < len; i++) { |
|
|
void |
void |
client_input_stdout_data(int type, int plen, void *ctxt) |
client_input_stdout_data(int type, int plen, void *ctxt) |
{ |
{ |
unsigned int data_len; |
u_int data_len; |
char *data = packet_get_string(&data_len); |
char *data = packet_get_string(&data_len); |
packet_integrity_check(plen, 4 + data_len, type); |
packet_integrity_check(plen, 4 + data_len, type); |
buffer_append(&stdout_buffer, data, data_len); |
buffer_append(&stdout_buffer, data, data_len); |
|
|
void |
void |
client_input_stderr_data(int type, int plen, void *ctxt) |
client_input_stderr_data(int type, int plen, void *ctxt) |
{ |
{ |
unsigned int data_len; |
u_int data_len; |
char *data = packet_get_string(&data_len); |
char *data = packet_get_string(&data_len); |
packet_integrity_check(plen, 4 + data_len, type); |
packet_integrity_check(plen, 4 + data_len, type); |
buffer_append(&stderr_buffer, data, data_len); |
buffer_append(&stderr_buffer, data, data_len); |
|
|
{ |
{ |
Channel *c = NULL; |
Channel *c = NULL; |
char *ctype; |
char *ctype; |
unsigned int len; |
u_int len; |
int rchan; |
int rchan; |
int rmaxpack; |
int rmaxpack; |
int rwindow; |
int rwindow; |
|
|
client_input_channel_req(int id, void *arg) |
client_input_channel_req(int id, void *arg) |
{ |
{ |
Channel *c = NULL; |
Channel *c = NULL; |
unsigned int len; |
u_int len; |
int success = 0; |
int success = 0; |
int reply; |
int reply; |
char *rtype; |
char *rtype; |