Drop these old references to initial window size, they were a mistake
This commit is contained in:
parent
8937980044
commit
6de7ed8a7b
@ -779,7 +779,7 @@ LIBSSH2_API int libssh2_channel_flush_ex(LIBSSH2_CHANNEL *channel, int streamid)
|
|||||||
packet = next;
|
packet = next;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (refund_bytes && channel->remote.window_size_initial) {
|
if (refund_bytes) {
|
||||||
libssh2_channel_receive_window_adjust(channel, refund_bytes, 0);
|
libssh2_channel_receive_window_adjust(channel, refund_bytes, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
11
src/packet.c
11
src/packet.c
@ -445,13 +445,12 @@ static int libssh2_packet_add(LIBSSH2_SESSION *session, unsigned char *data, siz
|
|||||||
/* Pretend we didn't receive this */
|
/* Pretend we didn't receive this */
|
||||||
LIBSSH2_FREE(session, data);
|
LIBSSH2_FREE(session, data);
|
||||||
|
|
||||||
if (channel->remote.window_size_initial) {
|
|
||||||
#ifdef LIBSSH2_DEBUG_CONNECTION
|
#ifdef LIBSSH2_DEBUG_CONNECTION
|
||||||
_libssh2_debug(session, LIBSSH2_DBG_CONN, "Ignoring extended data and refunding %d bytes", (int)(datalen - 13));
|
_libssh2_debug(session, LIBSSH2_DBG_CONN, "Ignoring extended data and refunding %d bytes", (int)(datalen - 13));
|
||||||
#endif
|
#endif
|
||||||
/* Adjust the window based on the block we just freed */
|
/* Adjust the window based on the block we just freed */
|
||||||
libssh2_channel_receive_window_adjust(channel, datalen - 13, 0);
|
libssh2_channel_receive_window_adjust(channel, datalen - 13, 0);
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,7 +460,7 @@ static int libssh2_packet_add(LIBSSH2_SESSION *session, unsigned char *data, siz
|
|||||||
libssh2_error(session, LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED, "Packet contains more data than we offered to receive, truncating", 0);
|
libssh2_error(session, LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED, "Packet contains more data than we offered to receive, truncating", 0);
|
||||||
datalen = channel->remote.packet_size + data_head;
|
datalen = channel->remote.packet_size + data_head;
|
||||||
}
|
}
|
||||||
if (channel->remote.window_size_initial && (channel->remote.window_size <= 0)) {
|
if (channel->remote.window_size <= 0) {
|
||||||
/* Spec says we MAY ignore bytes sent beyond window_size */
|
/* Spec says we MAY ignore bytes sent beyond window_size */
|
||||||
libssh2_error(session, LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED, "The current receive window is full, data ignored", 0);
|
libssh2_error(session, LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED, "The current receive window is full, data ignored", 0);
|
||||||
LIBSSH2_FREE(session, data);
|
LIBSSH2_FREE(session, data);
|
||||||
@ -470,7 +469,7 @@ static int libssh2_packet_add(LIBSSH2_SESSION *session, unsigned char *data, siz
|
|||||||
/* Reset EOF status */
|
/* Reset EOF status */
|
||||||
channel->remote.eof = 0;
|
channel->remote.eof = 0;
|
||||||
|
|
||||||
if (channel->remote.window_size_initial && ((datalen - data_head) > channel->remote.window_size)) {
|
if ((datalen - data_head) > channel->remote.window_size) {
|
||||||
libssh2_error(session, LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED, "Remote sent more data than current window allows, truncating", 0);
|
libssh2_error(session, LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED, "Remote sent more data than current window allows, truncating", 0);
|
||||||
datalen = channel->remote.window_size + data_head;
|
datalen = channel->remote.window_size + data_head;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user