Only advertise xvp support when xvpHook is set

Prevent that clients show "reboot" "power down" buttons
that are not going to work.

Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
pull/1/head
Floris Bos 9 years ago
parent 4674d4632b
commit a48035a1ce

@ -953,7 +953,6 @@ rfbSendSupportedMessages(rfbClientPtr cl)
/*rfbSetBit(msgs.client2server, rfbSetSW); */ /*rfbSetBit(msgs.client2server, rfbSetSW); */
/*rfbSetBit(msgs.client2server, rfbTextChat); */ /*rfbSetBit(msgs.client2server, rfbTextChat); */
rfbSetBit(msgs.client2server, rfbPalmVNCSetScaleFactor); rfbSetBit(msgs.client2server, rfbPalmVNCSetScaleFactor);
rfbSetBit(msgs.client2server, rfbXvp);
rfbSetBit(msgs.server2client, rfbFramebufferUpdate); rfbSetBit(msgs.server2client, rfbFramebufferUpdate);
rfbSetBit(msgs.server2client, rfbSetColourMapEntries); rfbSetBit(msgs.server2client, rfbSetColourMapEntries);
@ -961,7 +960,11 @@ rfbSendSupportedMessages(rfbClientPtr cl)
rfbSetBit(msgs.server2client, rfbServerCutText); rfbSetBit(msgs.server2client, rfbServerCutText);
rfbSetBit(msgs.server2client, rfbResizeFrameBuffer); rfbSetBit(msgs.server2client, rfbResizeFrameBuffer);
rfbSetBit(msgs.server2client, rfbPalmVNCReSizeFrameBuffer); rfbSetBit(msgs.server2client, rfbPalmVNCReSizeFrameBuffer);
rfbSetBit(msgs.server2client, rfbXvp);
if (cl->screen->xvpHook) {
rfbSetBit(msgs.client2server, rfbXvp);
rfbSetBit(msgs.server2client, rfbXvp);
}
memcpy(&cl->updateBuf[cl->ublen], (char *)&msgs, sz_rfbSupportedMessages); memcpy(&cl->updateBuf[cl->ublen], (char *)&msgs, sz_rfbSupportedMessages);
cl->ublen += sz_rfbSupportedMessages; cl->ublen += sz_rfbSupportedMessages;
@ -2214,13 +2217,15 @@ rfbProcessClientNormalMessage(rfbClientPtr cl)
cl->enableServerIdentity = TRUE; cl->enableServerIdentity = TRUE;
} }
break; break;
case rfbEncodingXvp: case rfbEncodingXvp:
rfbLog("Enabling Xvp protocol extension for client " if (cl->screen->xvpHook) {
"%s\n", cl->host); rfbLog("Enabling Xvp protocol extension for client "
if (!rfbSendXvp(cl, 1, rfbXvp_Init)) { "%s\n", cl->host);
rfbCloseClient(cl); if (!rfbSendXvp(cl, 1, rfbXvp_Init)) {
return; rfbCloseClient(cl);
} return;
}
}
break; break;
default: default:
#if defined(LIBVNCSERVER_HAVE_LIBZ) || defined(LIBVNCSERVER_HAVE_LIBPNG) #if defined(LIBVNCSERVER_HAVE_LIBZ) || defined(LIBVNCSERVER_HAVE_LIBPNG)

Loading…
Cancel
Save