Hi,
I am extremely sorry for the mess because of digest.
I receive the mails in digest and replied to it.(I hope current reply is in correct format).
I am using libssh2 1.2.4 version on RHEL 5.3 platform and recently using 1.2.7/8 to verify.
I have been able to solve the issue. It was mistake in my code which didn't handle partial writes(in case of window adjust)
If libssh2_channel_write wrote only partial of what was asked, I was looping the same buffer as the previous instead of incrementing pointer by the size of written bytes.
However as previously asked,I would like to understand following excerpt from scp_write_nonblock.c
rc = libssh2_channel_write(channel, ptr, nread);
if(rc > nread) {
fprintf(stderr, "MOO %d > %d\n", (int)rc, (int)nread);
}
In what scenarios rc would be greater than nread, is it error condition(MOO??), if yes how to handle it.
While I understand your point about the ssh flow diagram not being absolute must for client developers, but it would certainly improve the understanding/knowledge while writing application and to participate in libssh2 development as well. So if anyone has such information please share it.
Thanks a lot for your patience and support.
Suyog
From: Daniel Stenberg <daniel_at_haxx.se>
To: libssh2 development <libssh2-devel_at_cool.haxx.se>
Sent: Monday, 11 April 2011 12:20 PM
Subject: Re: ssh protocol flow diagram
The detail I said about NOT using the mailing list in digest mode when trying to have a conversation was not a joke. We cannot have this discussion if you're going to totally destroy both threading and quoting in every mail you send here.
Also, I did ask you questions about version and platform that I consider vital for this issue.
> I am getting this (rc > nread) in some cases and after that libssh2_channel_write always returns 0, eventually hanging the process.
A hang would indicate a bug somewhere.
--
/ daniel.haxx.se
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2011-04-12