Subject: Re: ANNOUNCE: libssh2 version 1.2.6

Re: ANNOUNCE: libssh2 version 1.2.6

From: Peter Stuge <>
Date: Thu, 10 Jun 2010 12:44:27 +0200


double wrote:
> A question, the maximum buffer-size is 32500?

Yes, that is a known safe maximum buffer size. In particular, 32768
and above still does not work correctly.

Daniel Stenberg wrote:
> Any maximum buffer-size that the app has to bother about is a bug,
> IMO.

I completely agree.

> Does anyone know of any particularly tricky large-buffer scenario
> that is likely to trigger a problem easier than others?

I believe you'll experience problems consistently if you try to give
libssh2 32768 bytes or more at any point.

I believe the failure mode is that only the first 32768 bytes of the
generated SSH packet will be sent to the server. Thus the suggested
limit at 32500 in order to leave room for the extra bytes that
libssh2 needs to add for the SSH protocol.

This bug may not be trivial to fix because there are hard coded
packet size limits in the library in at least two places that I've
seen. I think they could be bumped up, to 64k or beyond, in order to
allow larger user data buffers to be sent, but that's of course not a
real fix. But it may be sufficient to bump the limits a bit, to get a
meaningful performance boost from larger user data packets.

It might even be the case that fixing the bug really means doing some
or all of the memory management improvements and moving over to
better internal data structures that we talked about on IRC the other

Received on 2010-06-10