basic_fields uses intrusive base
This version fixes a missing executor work guard in all composed operations used in the implementation. Users who are experiencing crashes related to asynchronous completion handlers are encouraged to upgrade. Also included is an improved mechanism for generating random numbers used to mask outgoing websocket frames when operating in the client mode. This resolves a vulnerability described in the Beast Hybrid Assessment Report from Bishop Fox.
The include directory
<beast/experimental> contains features which are not part of
the stable public interface but are available anyway. They may change in future
flat_stream for working around
an SSL stream performance limitation
http::icy_stream stream filter allows
parsing ICY HTTP response handshakes
for better SSL performance and move constructability
utilities for writing unit tests.
websocket::seed_prng for manually providing
entropy to the PRNG
websocket::stream::secure_prng to control whether
the connection uses a secure PRNG
const overloads for message
based HTTP writes
http::parser constructor javadoc
buffers_adapter iterator value
buffers_prefix iterator decrement
writer ctor signatures
This version fixes significant defects in
websocket::stream which can lead to asserts or
undefined behavior. Users are encouraged to update to the latest Boost release.
template parameter to
true, the stream will be
capable of negotiating the permessage-deflate websocket extension per the
configured run-time settings. When
false, the stream will
never negotiate the permessage-deflate websocket extension. Furthermore,
all of the code necessary for implementing the permessage-deflate extension
will be excluded from function instantiations. Programs which set
when instantiating streams will be smaller.
are removed. Actions required: Code which explicitly compares
error_code values against the constant
websocket::error::handshake_failed should compare against
websocket::condition::handshake_failed instead. Code
which explicitly compares error_code values against the constant
websocket::error::failed should compare against
http::basic_fields uses less storage
http::basic_fields exception specifiers
works with boost placeholders
special members in example/common/ssl_stream.hpp
<algorithm> are protected from macros
"ws_.wr_block_ == tok_".
handler_ptr. Actions required:
don't call non-public members.
is a move-only type, with
semantics. Actions required: user-defined composed operations using
handler_ptr to manage state can only
be moved, not copied.
gives the strong exception guarantee. The constructor signature for managed
objects constructed by
now receives a
to the handler. Actions required: Change the constructor signature for
state objects used with
to receive a
to the handler.
http::basic_fields does not support
is no longer MoveConstructible
http::serializer::reader_impl is deprecated and will be
removed in the next release. Actions required: Call
http::serializer::writer_impl instead of
objects. This enables the composition of body types. The previous single-argument
constructors are deprecated and will be removed in the next version. Actions
required: Change user-defined instances of BodyReader or BodyWriter constructor signatures to the
two-argument form. Alternatively. define the macro
in the project (which will cause both the new and the deprecated signatures
to be accepted).
websocket::stream::control_callback now copies or
moves the function object.
is now a type alias. Actions required: Replace instances of