| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Parameters passed from TLS::Context to TLS::Client for initialization
are now held as references in the context. Ownership of these members is
thereby explicitly left with the user.
Co-authored-by: Tim Oesterreich <[email protected]>
|
|
|
|
| |
Co-Authored-By: René Meusel <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
StreamCore uses the user-provided verify callback as a
tls_verify_cert_chain if any is provided to the Context. Stream allows
configuring the context as well using Stream::set_verify_callback.
Stream now keeps a reference to the Context, rather than copying it.
This allows users to configure the Context after constructing the
Stream, but requires them to manage its lifetime.
|
|
|
|
|
| |
This will allow customizing the tls_verify_cert_chain callback for
TLS::Stream. TLS::Context is now a class and its members are protected.
|
|\ |
|
| |
| |
| |
| |
| | |
This makes sense to do since if the server doesn't resume, we would
like to see a updated status message.
|
|/
|
|
|
|
|
| |
This started failing due to use of store_be in
Buffered_Computation::update_be in this PR. The hello request cookie
generation depended on the size of size_t, however the lib code and
test had the same bug so it was missed. Force the lengths to be 64 bit.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Since this matters for some extensions
|
| |
|
| |
|
|
|
|
| |
Fix a few minor issues found thereby
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
TLS_Reader handles the offset checks for us
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
generating callback's signature
|
| | |
|
|/
|
|
|
| |
Now all tests either pass or are known to fail for some reason.
Disable -allow-unimplemented
|
|
|
|
| |
We could/would send packets somewhat larger than MTU
|
|
|
|
|
|
| |
The Lucky13 countermeasure causes the mac state to become corrupted,
due to the extra inputs. Then the next packet fails its mac check.
This causes the Lucky13 countermeasure to go off again, ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- BoGo sends unparseable OCSP responses, so we have to accomodate for
this by delaying decoding until verification and simply ignoring
OCSP responses that we can't parse.
- Check that there is no trailing garbage at the end of various messages.
- Don't send empty SNI
- Check the TLS record header versions (previously ignored)
- For CBC 1/n-1 splitting split every record instead of just first.
I think this is not a problem but it is what BoGo expects.
- New Channel::application_protocol virtual (previously was
implemented on both Client and Server but not shared).
- Changes to resumption version handling.
- Fix server version selection when newer versions are disabled.
New policy hooks added in service of BoGo:
- maximum_certificate_chain_size gives the maximum cert chain in bytes
that we'll accept.
- allow_resumption_for_renegotiation specifies if a renegotiation
attempt can be simply (re-)resumed instead.
- abort_handshake_on_undesired_renegotiation - previously we just
ignored it with a warning alert. Now behavior is configurable.
- request_client_certificate_authentication
- require_client_certificate_authentication
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* all async ops are now collected in one header and moved to the detail namespace
* error categories are no longer a detail, as they are visible to the user
* more documentation in asio_stream.h
* remove asio_includes.h helper header
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
StreamCore is now a nested class of Stream and will soon be hidden from
the public interface. The goal is to offer buffer-handling methods (like
CopyReceivedData) directly in Steam and have StreamCore be responsible
for Botan::TLS::Callbacks implementation only. This will remove the need
to provide StreamCore as a parameter for Async Ops construction.
StreamBase has been removed. Stream no longer decides whether it is a
Client or a Server when constructed, but when performing the handshake.
This resembles the interface of boost::asio::ssl::stream and hides the
implementation detail from the user.
In order to allow testing with mocked TLS::Channels anyways, we use
SPHINAE to setup either a real channel or a mocked channel.
|
| |
|
| |
|
| |
|
| |
|
| |
|