This is an automated email from the ASF dual-hosted git repository.

necouchman pushed a commit to branch staging/1.6.1
in repository https://gitbox.apache.org/repos/asf/guacamole-server.git

commit 8e16cf2c062895a77f0fe9ed56f66c4d4b099d4e
Merge: 7ca6234a 17c9908c
Author: Virtually Nick <[email protected]>
AuthorDate: Thu May 7 21:40:45 2026 -0400

    GUACAMOLE-2268: Merge gate VNC UTF-8 (Extended Clipboard) support behind 
config check.

 configure.ac                  | 24 ++++++++++++++++++++++++
 src/protocols/vnc/clipboard.c |  4 ++++
 src/protocols/vnc/clipboard.h |  2 ++
 src/protocols/vnc/vnc.c       |  2 ++
 4 files changed, 32 insertions(+)

diff --cc src/protocols/vnc/clipboard.c
index 4af5b458,9db58b61..ec18e402
--- a/src/protocols/vnc/clipboard.c
+++ b/src/protocols/vnc/clipboard.c
@@@ -140,15 -132,10 +141,16 @@@ int guac_vnc_clipboard_end_handler(guac
                      vnc_client->clipboard->length))
              return 0;
      }
+ #endif
  
      /* Fall back to classic clipboard with encoding conversion */
 -    char output_data[GUAC_COMMON_CLIPBOARD_MAX_LENGTH];
 +    char* output_data = guac_mem_alloc(GUAC_COMMON_CLIPBOARD_MAX_LENGTH);
 +    if (output_data == NULL) {
 +        guac_client_log(client, GUAC_LOG_WARNING,
 +                "Clipboard conversion failed: unable to allocate output "
 +                "buffer.");
 +        return 1;
 +    }
  
      const char* input = vnc_client->clipboard->buffer;
      char* output = output_data;
@@@ -194,10 -174,9 +196,11 @@@ void guac_vnc_cut_text(rfbClient* clien
      guac_common_clipboard_append(vnc_client->clipboard, received_data, output 
- received_data);
      guac_common_clipboard_send(vnc_client->clipboard, gc);
  
 +    guac_mem_free(received_data);
 +
  }
  
+ #ifdef LIBVNC_CLIENT_HAS_EXTENDED_CLIPBOARD
  void guac_vnc_cut_text_utf8(rfbClient* client, const char* text, int textlen) 
{
  
      guac_client* gc = rfbClientGetClientData(client, GUAC_VNC_CLIENT_KEY);
@@@ -229,6 -202,5 +232,7 @@@
      guac_common_clipboard_append(vnc_client->clipboard, received_data, output 
- received_data);
      guac_common_clipboard_send(vnc_client->clipboard, gc);
  
 +    guac_mem_free(received_data);
 +
  }
+ #endif

Reply via email to