Subject: llibssh2 may drop data packets beyond receive window

llibssh2 may drop data packets beyond receive window

From: Gilbert (Gang) Chen <gchen_at_acrosync.com>
Date: Thu, 26 Mar 2015 21:07:07 -0400

Hi, there,

    I'm the developer of Acrosync <https://acrosync.com>, a new rsync
client built from scratch, independent of the GPL'ed rsync. libssh2 is
used for the ssh layer.

    Recently I found out that libssh2 may drop some data packets, which
presents a serious problem for rsync because the data stream becomes
corrupted and the error is irrecoverable. I traced that down to a place in
packet.c where it says "The current receive window is full, data ignored".
The root cause of this error is still unknown (the server side could have
miscalculated the window size), but is it the right decision to drop
packets under this circumstance, even if the Spec said so? I think keeping
all data packets regardless of the receive window size would make libssh2
more resilient to bugs.

Thanks,
Gang

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2015-03-27