Commit 8e16cf2c for guacamole.apache.org

commit 8e16cf2c062895a77f0fe9ed56f66c4d4b099d4e
Merge: 7ca6234a 17c9908c
Author: Virtually Nick <necouchman@users.noreply.github.com>
Date:   Thu May 7 21:40:45 2026 -0400

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

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