You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by "bbennett-ks (via GitHub)" <gi...@apache.org> on 2026/05/07 14:21:26 UTC
[PR] GUACAMOLE-2268: Gate VNC UTF-8 (Extended Clipboard) support behind config check. [guacamole-server]
bbennett-ks opened a new pull request, #671:
URL: https://github.com/apache/guacamole-server/pull/671
SendClientCutTextUTF8 and rfbClient.GotXCutTextUTF8 are only available in libvncserver/libvncclient 0.9.15+.
This adds configure checks for the UTF-8 (Extended Clipboard) APIs and guards the affected call sites with #ifdefs. When unavailable, the VNC client falls back to the classic SendClientCutText path.
### Testing
```
libvncserver version 0.9.15:
autoreconf -I
./configure
…
checking for rfbClient.requestedResize... yes
checking for rfbClient.GotXCutTextUTF8... yes
…
libvncserver version 0.9.15:
autoreconf -I
./configure
…
checking for rfbClient.requestedResize... yes
checking for rfbClient.GotXCutTextUTF8... no
…
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-2268: Gate VNC UTF-8 (Extended Clipboard) support behind config check. [guacamole-server]
Posted by "necouchman (via GitHub)" <gi...@apache.org>.
necouchman commented on code in PR #671:
URL: https://github.com/apache/guacamole-server/pull/671#discussion_r3205695194
##########
configure.ac:
##########
@@ -720,6 +720,30 @@ then
fi
+#
+# libVNCServer support for the Extended Clipboard pseudo-encoding, which
+# allows clipboard text to be exchanged as UTF-8 via SendClientCutTextUTF8()
+# and the GotXCutTextUTF8 callback. Both were added in libvncserver 0.9.15.
+# If support is missing, Guacamole falls back to the classic VNC clipboard
+# with iconv-based encoding conversion.
+#
+
+if test "x${have_libvncserver}" = "xyes"
+then
+
+ have_vnc_extended_clipboard=yes
+ AC_CHECK_MEMBERS([rfbClient.GotXCutTextUTF8],
+ [], [have_vnc_extended_clipboard=no],
+ [[#include <rfb/rfbclient.h>]])
+
+ if test "x${have_vnc_extended_clipboard}" = "xyes"
+ then
+ AC_DEFINE([LIBVNC_CLIENT_HAS_EXTENDED_CLIPBOARD],,
+ [Whether rfbClient supports the Extended Clipboard pseudo-encoding (UTF-8).])
+ fi
+
+fi
Review Comment:
Just FYI - this is fine, and I will merge as-is, but this can be simpler - the `AC_CHECK_MEMBERS` macro will automatically define `HAVE_RFBCLIENT_GOTXCUTTEXTUTF8` for you. For example, we use this with RDP support and the VerifyCertificateEx: https://github.com/apache/guacamole-server/blob/c802cdce5627b4e0df77987878824cb167a1f9ba/configure.ac#L985-L991
Obviously the defines end up a little less nicely-named than what you have, but the `configure.ac` ends up a little simpler.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-2268: Gate VNC UTF-8 (Extended Clipboard) support behind config check. [guacamole-server]
Posted by "bbennett-ks (via GitHub)" <gi...@apache.org>.
bbennett-ks commented on code in PR #671:
URL: https://github.com/apache/guacamole-server/pull/671#discussion_r3205740358
##########
configure.ac:
##########
@@ -720,6 +720,30 @@ then
fi
+#
+# libVNCServer support for the Extended Clipboard pseudo-encoding, which
+# allows clipboard text to be exchanged as UTF-8 via SendClientCutTextUTF8()
+# and the GotXCutTextUTF8 callback. Both were added in libvncserver 0.9.15.
+# If support is missing, Guacamole falls back to the classic VNC clipboard
+# with iconv-based encoding conversion.
+#
+
+if test "x${have_libvncserver}" = "xyes"
+then
+
+ have_vnc_extended_clipboard=yes
+ AC_CHECK_MEMBERS([rfbClient.GotXCutTextUTF8],
+ [], [have_vnc_extended_clipboard=no],
+ [[#include <rfb/rfbclient.h>]])
+
+ if test "x${have_vnc_extended_clipboard}" = "xyes"
+ then
+ AC_DEFINE([LIBVNC_CLIENT_HAS_EXTENDED_CLIPBOARD],,
+ [Whether rfbClient supports the Extended Clipboard pseudo-encoding (UTF-8).])
+ fi
+
+fi
Review Comment:
Thanks for the tip! I modeled the fix based on support for `libVNCserver support for the requestedResize`. I'll keep this in mind for next my.
FYI, I implemented similar support for `libVNCServer support FinishedFrameBufferUpdate`. Once I began to test it, I realized the the base `libVNCServer` in GitHub supported `FinishedFrameBufferUpdate` so config support was not necessary.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-2268: Gate VNC UTF-8 (Extended Clipboard) support behind config check. [guacamole-server]
Posted by "necouchman (via GitHub)" <gi...@apache.org>.
necouchman merged PR #671:
URL: https://github.com/apache/guacamole-server/pull/671
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org