Initial VNC Fence implementation - #323
Conversation
pmhahn
left a comment
There was a problem hiding this comment.
Looks okay from reading the code/PR.
I would find it clearer to add a class FencFlags(IntFlag), which improves type safety and debugging and future additions to implement Fence for real.
I've no yet run any tests.
|
Hi, thanks for your comments, I'll try to fix this as soon as I have some time. |
|
Functional test is failing: For debugging: If I remember correctly I've lost most of my knowledge about this project in the last 2 years, so maybe @sibson can help and knows, where the proxy must be extended. |
diff --git a/vncdotool/loggingproxy.py b/vncdotool/loggingproxy.py
index 37b0177..c51ec7d 100644
--- a/vncdotool/loggingproxy.py
+++ b/vncdotool/loggingproxy.py
@@ -171,6 +171,8 @@ class RFBServer(Protocol): # type: ignore[misc]
else:
log.debug("Unhandled subtype %r", QemuClientMessage.lookup(subtype))
raise ProtocolError(subtype)
+ elif ptype == MsgC2S.CLIENT_FENCE:
+ pass
else:
log.debug("Unhandled response %r", MsgC2S.lookup(ptype))
raise ProtocolError(ptype)
@@ -342,6 +344,7 @@ class VNCLoggingServerFactory(portforward.ProxyFactory): # type: ignore[misc]
pseudodesktop = True
qemu_extended_key = True
last_rect = True
+ fence = False
force_caps = False
password_required = FalseThe 2nd hunk is the missing one; the 1st one should be the location, where proper handling for |
pmhahn
left a comment
There was a problem hiding this comment.
vncdotool/loggingproxy.py at least needs fence = False; more work if True.
Add basic ServerFence/ClientFence implementation, which is required to work with shared tigervnc #322