diff options
author | Gernot Tenchio <gernot.tenchio@securepoint.de> | 2011-08-16 14:02:39 +0200 |
---|---|---|
committer | Johannes Schindelin <johannes.schindelin@gmx.de> | 2011-08-17 12:46:30 +0200 |
commit | 297072a691970fb7e2cd379b62f52f30d5988592 (patch) | |
tree | 1a8a7dbe364a5af99dc38d6debd2ca61a5818d07 | |
parent | b543d48677082cf23b771a4e16ceccccc2f7d9e1 (diff) | |
download | libvncserver-297072a691970fb7e2cd379b62f52f30d5988592.zip libvncserver-297072a691970fb7e2cd379b62f52f30d5988592.tar.gz |
websockets: Add wspath member to rfbClientRec
Added wspath member to rfbClientRec which holds the
path component of the initial websocket request.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
-rw-r--r-- | libvncserver/sockets.c | 1 | ||||
-rwxr-xr-x | libvncserver/websockets.c | 1 | ||||
-rw-r--r-- | rfb/rfb.h | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/libvncserver/sockets.c b/libvncserver/sockets.c index 1886187..e18ce70 100644 --- a/libvncserver/sockets.c +++ b/libvncserver/sockets.c @@ -399,6 +399,7 @@ rfbCloseClient(rfbClientPtr cl) #ifdef LIBVNCSERVER_WITH_WEBSOCKETS if (cl->sslctx) rfbssl_destroy(cl); + free(cl->wspath); #endif #ifndef __MINGW32__ shutdown(cl->sock,SHUT_RDWR); diff --git a/libvncserver/websockets.c b/libvncserver/websockets.c index 63e2b53..7297339 100755 --- a/libvncserver/websockets.c +++ b/libvncserver/websockets.c @@ -180,6 +180,7 @@ webSocketsHandshake(rfbClientPtr cl, char *scheme) path = line+4; buf[len-11] = '\0'; /* Trim trailing " HTTP/1.1\r\n" */ cl->webSocketsBase64 = TRUE; + cl->wspath = strdup(path); /* rfbLog("Got path: %s\n", path); */ } else if ((strncasecmp("host: ", line, min(llen,6))) == 0) { host = line+6; @@ -645,6 +645,7 @@ typedef struct _rfbClientRec { rfbSslCtx *sslctx; + char *wspath; /* Requests path component */ char encodeBuf[UPDATE_BUF_SIZE*2 + 2]; /* UTF-8 could double it + framing */ char decodeBuf[8192]; /* TODO: what makes sense? */ int dblen; |