Fix Extended Clipboard implementation issues #561
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
According to spec, clipboard text is null terminated and text length includes the null byte. This is how LibVNCServer and other clients encode this. Fixed by 2nd commit 7ff0a53
This is a big one. Many servers (including LibVNCServer) can't properly handle zlib streams created by
compress()
function of zlib library. When decompressing such streams,inflate()
correctly returnsZ_STREAM_END
, but these servers are only expectingZ_OK
. So they end up crashing, while LibVNCserver abruptly disconnects from client.This is probably why the original PR Libvncclient clipboard utf8 support #552 was not working. New PR simply suppressed it by adding extra byte, which made
inflate()
returnZ_OK
.Solution: