Extending the RFB Protocol
I just realized that I needed to add a new extension to the RFB protocol to support my proxy. The problem is that each client maintains one or more zlib streams that are used to decrypt the data. These streams must be maintained used to process the data in order.
Proxying VNC sessions then can cause stream corruption because there's no way to signal the client to clear out the stream. How do we fix this?
Introduce a new encoding that the server issues to signal a switch to a new set of streams.