|
|
|
@ -64,7 +64,7 @@ VNCSConnectionST::VNCSConnectionST(VNCServerST* server_, network::Socket *s,
|
|
|
|
|
needsPermCheck(false), pointerEventTime(0),
|
|
|
|
|
clientHasCursor(false),
|
|
|
|
|
accessRights(AccessDefault), startTime(time(0)), frameTracking(false),
|
|
|
|
|
udpFramesSinceFull(0)
|
|
|
|
|
udpFramesSinceFull(0), complainedAboutNoViewRights(false)
|
|
|
|
|
{
|
|
|
|
|
setStreams(&sock->inStream(), &sock->outStream());
|
|
|
|
|
peerEndpoint.buf = sock->getPeerEndpoint();
|
|
|
|
@ -1308,8 +1308,14 @@ void VNCSConnectionST::writeFramebufferUpdate()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!(accessRights & AccessView))
|
|
|
|
|
if (!(accessRights & AccessView)) {
|
|
|
|
|
if (!complainedAboutNoViewRights) {
|
|
|
|
|
complainedAboutNoViewRights = true;
|
|
|
|
|
vlog.error("User %s has no read permissions. If this is not intended, grant them permissions with kasmvncpasswd or via the API",
|
|
|
|
|
user);
|
|
|
|
|
}
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Updates often consists of many small writes, and in continuous
|
|
|
|
|
// mode, we will also have small fence messages around the update. We
|
|
|
|
|