From 297072a691970fb7e2cd379b62f52f30d5988592 Mon Sep 17 00:00:00 2001 From: Gernot Tenchio Date: Tue, 16 Aug 2011 14:02:39 +0200 Subject: 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 --- libvncserver/sockets.c | 1 + libvncserver/websockets.c | 1 + rfb/rfb.h | 1 + 3 files changed, 3 insertions(+) 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; diff --git a/rfb/rfb.h b/rfb/rfb.h index b6fb7c0..9239b35 100644 --- a/rfb/rfb.h +++ b/rfb/rfb.h @@ -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; -- cgit v1.1