On Sun, Jul 9, 2017 at 11:29 AM, Jens Weller via Boost
But replacing asio with an abstraction that allows for pluggin in other socket implementations would be very powerful.
Fortunately we will have that soon! Its called "Networking-TS". And Beast will use it (either through an upgrade of the library or through a port in a separate library).
I'd love to be able to exchange boost::error_code dependency to the std::error_code
If Boost.Asio supported that, then Beast would too. But since Asio doesn't support it, Beast can't support it either. The problem is that the SyncReadStream, SyncWriteStream, ReadHandler, and WriteHandler concepts prescribe a specific type (boost::system::error_code). I am sure that this problem will be resolved. Its already fixed in Networking-TS. If Boost.Asio is updated to include changes to make std::error_code work, I will update Beast right away!
I spend this weekend some time to fuzz beast with libFuzzer. The basic_parser and the websocket::stream were fuzzed. A bug (buffer overflow) in basic_parser was found, and is already fixed.
This was great, your fuzzer output was really quite detailed! It included the specimen which caused the crash, a nice easy to read stack trace, and a report from address-sanitizer explaining the problem. Once I got the specimen into a unit test the problem became trivial to fix.
I think that other libraries are needed in order to make this library really useful for most end users.
I agree! Thanks