mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2025-06-25 12:12:15 +02:00
Handle pending data in TLS buffers
There might be more bytes left in the current TLS record, even if there is nothing on the underlying stream. Make sure we properly return this when we aren't being requested to block.
This commit is contained in:
parent
3ee909ffe6
commit
b7dc4a16fe
@ -111,9 +111,11 @@ size_t TLSInStream::readTLS(U8* buf, size_t len, bool wait)
|
||||
{
|
||||
int n;
|
||||
|
||||
n = in->check(1, 1, wait);
|
||||
if (n == 0)
|
||||
return 0;
|
||||
if (gnutls_record_check_pending(session) == 0) {
|
||||
n = in->check(1, 1, wait);
|
||||
if (n == 0)
|
||||
return 0;
|
||||
}
|
||||
|
||||
n = gnutls_record_recv(session, (void *) buf, len);
|
||||
if (n == GNUTLS_E_INTERRUPTED || n == GNUTLS_E_AGAIN)
|
||||
|
Loading…
x
Reference in New Issue
Block a user