Enable to write more data then defined in SSL_MAX_CONTENT_LEN. Signed-off-by: Luka Perkov <l...@openwrt.org> --- ustream-polarssl.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/ustream-polarssl.c b/ustream-polarssl.c index cbf24cb..ce9b164 100644 --- a/ustream-polarssl.c +++ b/ustream-polarssl.c @@ -232,14 +232,20 @@ __hidden enum ssl_conn_status __ustream_ssl_connect(struct ustream_ssl *us) __hidden int __ustream_ssl_write(struct ustream_ssl *us, const char *buf, int len) { void *ssl = us->ssl; - int ret = ssl_write(ssl, (const unsigned char *) buf, len); + int done = 0, ret = 0; - if (ret < 0) { - if (ssl_do_wait(ret)) - return 0; + while (done != len) { + ret = ssl_write(ssl, (const unsigned char *) buf + done, len - done); - ustream_ssl_error(us, ret); - return -1; + if (ret < 0) { + if (ssl_do_wait(ret)) + return 0; + + ustream_ssl_error(us, ret); + return -1; + } + + done += ret; } return ret; -- 2.3.5 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel