Merge branch 'feature/KASM-5523_always_return_desktopSize' into 'master'

Send back an ExtendedDesktopSize to a SetDesktopSize request even when resize is not allowed

Closes KASM-5523

See merge request kasm-technologies/internal/KasmVNC!122
This commit is contained in:
Matthew McClaskey 2024-01-30 17:00:11 +00:00
commit 124d36a981
2 changed files with 11 additions and 3 deletions

View File

@ -997,8 +997,8 @@ void VNCSConnectionST::setDesktopSize(int fb_width, int fb_height,
{
unsigned int result;
if (!(accessRights & AccessSetDesktopSize)) return;
if (!rfb::Server::acceptSetDesktopSize) return;
if (!(accessRights & AccessSetDesktopSize)) goto justnotify;
if (!rfb::Server::acceptSetDesktopSize) goto justnotify;
// Don't bother the desktop with an invalid configuration
if (!layout.validate(fb_width, fb_height)) {
@ -1021,6 +1021,14 @@ void VNCSConnectionST::setDesktopSize(int fb_width, int fb_height,
throw Exception("Desktop configured a different screen layout than requested");
server->notifyScreenLayoutChange(this);
}
return;
justnotify:
writer()->writeExtendedDesktopSize(reasonClient, resultProhibited,
server->pb->getRect().width(),
server->pb->getRect().height(),
server->screenLayout);
}
void VNCSConnectionST::fence(rdr::U32 flags, unsigned len, const char data[])

@ -1 +1 @@
Subproject commit 7ce3f140f5019b6485bdd64d8e154935275576f3
Subproject commit 4c6127b47b274ee4c8e98a67789613fddf61f1b7