summaryrefslogtreecommitdiffstats
path: root/libvncserver/websockets.c
diff options
context:
space:
mode:
authorChristian Beier <dontmind@freeshell.org>2015-01-18 15:49:52 +0100
committerChristian Beier <dontmind@freeshell.org>2015-01-18 15:49:52 +0100
commit1f5f1679a9858818dcbbcff59beda5f85d304f04 (patch)
treea64172c5ec33b61310f0ddb65619caab203a3996 /libvncserver/websockets.c
parentb568db93b9f27877deec89c5bc434c71bb30a16d (diff)
parent6836ccb208f8c16824b8c1e330acb077c70c98c6 (diff)
downloadlibtdevnc-1f5f1679a9858818dcbbcff59beda5f85d304f04.tar.gz
libtdevnc-1f5f1679a9858818dcbbcff59beda5f85d304f04.zip
Merge pull request #57 from maxnet/master
Fix handling of multiple VNC commands per websockets frame
Diffstat (limited to 'libvncserver/websockets.c')
-rw-r--r--libvncserver/websockets.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libvncserver/websockets.c b/libvncserver/websockets.c
index 34f04d7..3585ed5 100644
--- a/libvncserver/websockets.c
+++ b/libvncserver/websockets.c
@@ -905,3 +905,16 @@ webSocketCheckDisconnect(rfbClientPtr cl)
return FALSE;
}
+/* returns TRUE if there is data waiting to be read in our internal buffer
+ * or if is there any pending data in the buffer of the SSL implementation
+ */
+rfbBool
+webSocketsHasDataInBuffer(rfbClientPtr cl)
+{
+ ws_ctx_t *wsctx = (ws_ctx_t *)cl->wsctx;
+
+ if (wsctx && wsctx->readbuflen)
+ return TRUE;
+
+ return (cl->sslctx && rfbssl_pending(cl) > 0);
+}