boost-wintls icon indicating copy to clipboard operation
boost-wintls copied to clipboard

Stream Shutdown does not produce Error on incomplete protocol shutdown

Open jens-diewald opened this issue 1 year ago • 2 comments

As originally mentioned in #56, Asio.SSL has error::stream_truncated. This StackOverflow Post does explain very well what it is good for: https://stackoverflow.com/questions/25587403/boost-asio-ssl-async-shutdown-always-finishes-with-an-error (I think, that stream_truncated did not exist when that post was written and corresponds to the mentioned SSL_R_SHORT_READ.)

I have added #74 to show the current behavior of Asio.SSL and WinTLS in the relevant cases.

Looking at the Schannel Docs, i suspect that the sspi_shutdown class may have to be more complex than it currently is..?

As a sidenote: The StackOverflow post mentions that Asio should produce error::eof during shutdown in some cases. I did not observe that in my tests. However, this is handled in the beast https sync/async examples and in the WinTLS async example, butn not in the WinTLS sync example. Could it be, that the information is outdated and error::eof will not occur anymore? At the very least, it seems inconsistent, that error::eof is handled in the async example, but not in the sync example.

jens-diewald avatar Dec 14 '22 17:12 jens-diewald