summaryrefslogtreecommitdiffstats
path: root/libvncserver/httpd.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvncserver/httpd.c')
-rw-r--r--libvncserver/httpd.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/libvncserver/httpd.c b/libvncserver/httpd.c
index ad2a51b..83fc520 100644
--- a/libvncserver/httpd.c
+++ b/libvncserver/httpd.c
@@ -346,12 +346,6 @@ httpProcessInput(rfbScreenInfoPtr rfbScreen)
return;
}
- if (strchr(fname+1, '/') != NULL) {
- rfbErr("httpd: asking for file in other directory\n");
- rfbWriteExact(&cl, NOT_FOUND_STR, strlen(NOT_FOUND_STR));
- httpCloseSock(rfbScreen);
- return;
- }
getpeername(rfbScreen->httpSock, (struct sockaddr *)&addr, &addrlen);
rfbLog("httpd: get '%s' for %s\n", fname+1,
@@ -447,6 +441,10 @@ httpProcessInput(rfbScreenInfoPtr rfbScreen)
sprintf(str, "%d", rfbScreen->port);
rfbWriteExact(&cl, str, strlen(str));
+ } else if (compareAndSkip(&ptr, "$HOST")) {
+
+ rfbWriteExact(&cl, rfbScreen->thisHost, strlen(rfbScreen->thisHost));
+
} else if (compareAndSkip(&ptr, "$DESKTOP")) {
rfbWriteExact(&cl, rfbScreen->desktopName, strlen(rfbScreen->desktopName));