I've now looked at the bug report. I was able to reproduce some of the issues with example-sftp by varying size of the buffer passed to libssh2_sftp_read().
I have found three separate bugs, and I've submitted a pull request with fixes here:
https://github.com/libssh2/libssh2/pull/75
Since two of the bugs were introduced by that commit that supposedly improves performance, we might alternatively just revert that commit, and make two of my fixes unnecessary.
Can anybody review my changes?
What about preemptively reverting those commits, making a release, then immediately re-applying the commits to master. It's seems a shame to delay other useful improvements.
So you're that sure just reverting them will fix the SFTP problems as of late? If so, then reverting them now seems fine.
I'm not convinced putting them back as-is makes much sense though if they're introducing these problems. Faster performance isn't that fun when it comes at the priace of broken functionality.
I was wishing that someone who experienced the SFTP problems would try to revert those two commits and verify that the problems go away and tell us about this fact on the list.
--
/ daniel.haxx.se
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
_______________________________________________
libssh2-devel http://cool.ha