Merge branch 'feature/KASM-2797_force_full_frame' into 'master'

Add /api/send_full_frame

Closes KASM-2797

See merge request kasm-technologies/internal/KasmVNC!50
This commit is contained in:
Anthony Merrill
2022-08-14 16:13:32 +00:00
5 changed files with 47 additions and 0 deletions

View File

@@ -44,6 +44,7 @@
int pipe_error = 0;
settings_t settings;
extern int wakeuppipe[2];
void traffic(const char * token) {
/*if ((settings.verbose) && (! settings.daemon)) {
@@ -1558,6 +1559,20 @@ static uint8_t ownerapi(ws_ctx_t *ws_ctx, const char *in, const char * const use
weblog(200, wsthread_handler_id, 0, origip, ip, user, 1, origpath, strlen(buf) + strlen(statbuf));
handler_msg("Sent frame stats to API caller\n");
ret = 1;
} else entry("/api/send_full_frame") {
write(wakeuppipe[1], "", 1);
sprintf(buf, "HTTP/1.1 200 OK\r\n"
"Server: KasmVNC/4.0\r\n"
"Connection: close\r\n"
"Content-type: text/plain\r\n"
"Content-length: 6\r\n"
"\r\n"
"200 OK");
ws_send(ws_ctx, buf, strlen(buf));
weblog(200, wsthread_handler_id, 0, origip, ip, user, 1, origpath, strlen(buf));
ret = 1;
}

View File

@@ -1221,3 +1221,13 @@ void VNCServerST::handleClipboardAnnounceBinary(VNCSConnectionST* client,
clipboardClient = client;
desktop->handleClipboardAnnounceBinary(num, mimes);
}
void VNCServerST::refreshClients()
{
add_changed(pb->getRect());
std::list<VNCSConnectionST*>::iterator i;
for (i = clients.begin(); i != clients.end(); i++) {
(*i)->add_changed_all();
}
}

View File

@@ -197,6 +197,8 @@ namespace rfb {
void handleClipboardAnnounceBinary(VNCSConnectionST* client, const unsigned num,
const char mimes[][32]);
void refreshClients();
protected:
friend class VNCSConnectionST;