547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
|
union {
struct ssh1_data_channel {
int throttling;
} v1;
struct ssh2_data_channel {
bufchain outbuffer;
unsigned remwindow, remmaxpkt;
unsigned locwindow;
} v2;
} v;
union {
struct ssh_agent_channel {
unsigned char *message;
unsigned char msglen[4];
unsigned lensofar, totallen;
|
>
|
|
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
|
union {
struct ssh1_data_channel {
int throttling;
} v1;
struct ssh2_data_channel {
bufchain outbuffer;
unsigned remwindow, remmaxpkt;
/* locwindow is signed so we can cope with excess data. */
int locwindow;
} v2;
} v;
union {
struct ssh_agent_channel {
unsigned char *message;
unsigned char msglen[4];
unsigned lensofar, totallen;
|
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
|
}
bufsize = 0;
break;
}
/*
* If we are not buffering too much data,
* enlarge the window again at the remote side.
*/
if (bufsize < OUR_V2_WINSIZE)
ssh2_set_window(c, OUR_V2_WINSIZE - bufsize);
}
}
static void ssh2_msg_channel_eof(Ssh ssh, struct Packet *pktin)
{
unsigned i = ssh_pkt_getuint32(pktin);
struct ssh_channel *c;
|
>
>
>
|
|
|
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
|
}
bufsize = 0;
break;
}
/*
* If we are not buffering too much data,
* enlarge the window again at the remote side.
* If we are buffering too much, we may still
* need to adjust the window if the server's
* sent excess data.
*/
ssh2_set_window(c, bufsize < OUR_V2_WINSIZE ?
OUR_V2_WINSIZE - bufsize : 0);
}
}
static void ssh2_msg_channel_eof(Ssh ssh, struct Packet *pktin)
{
unsigned i = ssh_pkt_getuint32(pktin);
struct ssh_channel *c;
|