This includes two bugfixes to sprockets_host::Session discovered while implementing and testing the proxy:
Our poll_flush should flush the underlying channel after flushing the encrypting buf writer.
Stop using BufStream for the handshaking process, as it could eagerly read application-level data after the final handshake message, which was then lost when we discarded the BufStream.
The proxy is primarily intended to be used as a library, but an example binary (sprocksy) is included that allows basic command-line usage and testing via a simulated RoT.
This includes two bugfixes to
sprockets_host::Session
discovered while implementing and testing the proxy:poll_flush
should flush the underlying channel after flushing the encrypting buf writer.BufStream
for the handshaking process, as it could eagerly read application-level data after the final handshake message, which was then lost when we discarded theBufStream
.The proxy is primarily intended to be used as a library, but an example binary (
sprocksy
) is included that allows basic command-line usage and testing via a simulated RoT.