This is an automated email from the ASF dual-hosted git repository. mjumper pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/guacamole-server.git
commit eae24284c542dfcd55c9e485c12a474b009dc4bf Merge: 80598ae8 5e0fb229 Author: Mike Jumper <[email protected]> AuthorDate: Tue Aug 29 10:51:51 2023 -0700 Merge 1.5.4 changes back to master. src/common/common/cursor.h | 14 +- src/common/common/display.h | 7 +- src/common/common/list.h | 16 +- src/common/common/surface.h | 8 +- src/common/cursor.c | 27 ++- src/common/display.c | 19 +- src/common/list.c | 20 +- src/common/surface.c | 7 +- src/guacd/connection.c | 7 +- src/guacd/daemon.c | 77 +++++++- src/guacd/proc-map.c | 76 +++++++- src/guacd/proc-map.h | 47 +++++ src/guacd/proc.c | 64 ++++++- src/libguac/Makefile.am | 16 +- src/libguac/client.c | 339 ++++++++++++++++++++++++++++++--- src/libguac/guacamole/client-fntypes.h | 16 ++ src/libguac/guacamole/client.h | 93 ++++++++- src/libguac/guacamole/socket.h | 36 +++- src/libguac/reentrant-rwlock.c | 254 ++++++++++++++++++++++++ src/libguac/reentrant-rwlock.h | 144 ++++++++++++++ src/libguac/socket-broadcast.c | 90 +++++++-- src/protocols/kubernetes/argv.c | 16 +- src/protocols/kubernetes/argv.h | 21 +- src/protocols/kubernetes/client.c | 28 +++ src/protocols/kubernetes/user.c | 7 - src/protocols/rdp/channels/pipe-svc.c | 8 +- src/protocols/rdp/channels/pipe-svc.h | 16 +- src/protocols/rdp/client.c | 56 ++++++ src/protocols/rdp/rdp.c | 2 +- src/protocols/rdp/user.c | 16 -- src/protocols/ssh/argv.c | 19 +- src/protocols/ssh/argv.h | 18 ++ src/protocols/ssh/client.c | 27 +++ src/protocols/ssh/user.c | 7 - src/protocols/telnet/argv.c | 20 +- src/protocols/telnet/argv.h | 19 ++ src/protocols/telnet/client.c | 26 +++ src/protocols/telnet/user.c | 7 - src/protocols/vnc/client.c | 55 ++++++ src/protocols/vnc/user.c | 15 -- src/terminal/display.c | 8 +- src/terminal/scrollbar.c | 3 +- src/terminal/terminal.c | 41 +++- src/terminal/terminal/display.h | 18 +- src/terminal/terminal/scrollbar.h | 12 +- src/terminal/terminal/terminal.h | 21 ++ 46 files changed, 1652 insertions(+), 211 deletions(-) diff --cc src/common/display.c index e8465e44,0fddb9b0..3663a508 --- a/src/common/display.c +++ b/src/common/display.c @@@ -163,26 -163,22 +163,27 @@@ void guac_common_display_free(guac_comm } - void guac_common_display_dup(guac_common_display* display, guac_user* user, + void guac_common_display_dup( + guac_common_display* display, guac_client* client, guac_socket* socket) { + guac_client* client = user->client; + pthread_mutex_lock(&display->_lock); /* Sunchronize shared cursor */ - guac_common_cursor_dup(display->cursor, user, socket); + guac_common_cursor_dup(display->cursor, client, socket); /* Synchronize default surface */ - guac_common_surface_dup(display->default_surface, user, socket); + guac_common_surface_dup(display->default_surface, client, socket); /* Synchronize all layers and buffers */ - guac_common_display_dup_layers(display->layers, user, socket); - guac_common_display_dup_layers(display->buffers, user, socket); + guac_common_display_dup_layers(display->layers, client, socket); + guac_common_display_dup_layers(display->buffers, client, socket); + /* Sends a sync instruction to mark the boundary of the first frame */ + guac_protocol_send_sync(socket, client->last_sent_timestamp, 1); + pthread_mutex_unlock(&display->_lock); } diff --cc src/terminal/display.c index d4493252,92d86677..e1ded600 --- a/src/terminal/display.c +++ b/src/terminal/display.c @@@ -1048,7 -1020,6 +1048,7 @@@ int guac_terminal_display_set_font(guac if (new_width != display->width || new_height != display->height) guac_terminal_display_resize(display, new_width, new_height); + return 0; - } + }
