The libssh2_channel_receive_window_adjust() function failed to set the state
variables at times and thus this function would misbehave on repeated invokes.
Этот коммит содержится в:
родитель
f216b36328
Коммит
d90d8bdae7
8
NEWS
8
NEWS
@ -1,6 +1,14 @@
|
||||
Version 0.18
|
||||
------------
|
||||
|
||||
- Peter O'Gorman reported how a SCP transfer would hang for him, and it was
|
||||
fairly easy reproducable. One bug was in the transport layer, ignoring to
|
||||
read more data while there was data left even though it couldn't decrypt the
|
||||
data that was left due to it being too little... The other bug was in the
|
||||
channel layer, where the libssh2_channel_receive_window_adjust() function
|
||||
missed to set the state variables at times and thus this function would
|
||||
misbehave on repeated invokes.
|
||||
|
||||
- Satish Mittal and David J Sullivan fixed an infinit recv() loop in
|
||||
libssh2_banner_receive()
|
||||
|
||||
|
@ -1327,7 +1327,9 @@ libssh2_channel_receive_window_adjust(LIBSSH2_CHANNEL * channel,
|
||||
"Unable to send transfer-window adjustment packet, deferring",
|
||||
0);
|
||||
channel->adjust_queue = adjustment;
|
||||
channel->adjust_state = libssh2_NB_state_idle;
|
||||
} else {
|
||||
channel->adjust_state = libssh2_NB_state_idle;
|
||||
channel->remote.window_size += adjustment;
|
||||
}
|
||||
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user