[Libwebsockets] SSL Client receive large frame problem.

Bjorn Bosell bjorn.bosell at gmail.com
Fri Apr 24 11:11:23 CEST 2015


Hi,

We recently updated to the latest version of libwebsocket from a very old
one and ran into a problem.

When receiving a large frame(~25Kb) using ssl we ended up in a endless loop
in lws-plat-unix.c:149
after getting the first part of the frame(4k) in a
LWS_CALLBACK_CLIENT_RECEIVE.

It appears that "wsi->pending_read_list_next == wsi", meaning that
"wsi_next == wsi".
And when stepping through the loop we did not end up in the "if" clause to
call "lws_ssl_remove_wsi_from_buffered_list(...)".

There seems to have been some recent changes around that particular code,
so we tried going back to a revision just prior to those changes
(7e37d10e47289a6f42785119e74f6961b4ac933f 2015-01-28) and we did not
experience the issue anymore.

So, we are wondering if there is anything obvious we are doing wrong? Or if
there may be a bug hiding somewhere in the ssl client receive handling.

Regards,
Bjorn Bosell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://libwebsockets.org/pipermail/libwebsockets/attachments/20150424/8ab9fd53/attachment.html>


More information about the Libwebsockets mailing list