Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | TLS::Stream Asio extensible model compatibility | Hannes Rantzsch | 2021-03-30 | 1 | -71/+81 |
| | | | | | Async functions can now handle generic completion tokens rather than callback functions only. Fixes #2648 | ||||
* | fix: forward executor through async_shutdown wrapper | Hannes Rantzsch | 2021-03-29 | 1 | -19/+27 |
| | |||||
* | add virtual destructors for asio error types | Hannes Rantzsch | 2021-03-29 | 1 | -13/+18 |
| | |||||
* | fix: TLS::Stream broke on being std::move'd | Hannes Rantzsch | 2021-03-12 | 1 | -31/+25 |
| | | | | | | | | Fixes #2635 * Add a regression test * Avoid breaking Stream reference within StreamCore by inverting dependencies | ||||
* | Merge GH #2510 Fix some C++17 todos | Jack Lloyd | 2020-11-24 | 1 | -33/+30 |
|\ | |||||
| * | try to calm gcc 9 | Hannes Rantzsch | 2020-11-24 | 1 | -0/+2 |
| | | |||||
| * | use if constexpr rather than sfinae | Hannes Rantzsch | 2020-11-24 | 1 | -33/+28 |
| | | | | | | | | to disable asio_stream setup_native_handle setup in test code | ||||
* | | Remove outer shared_ptr from Certificate in certstore interface | Jack Lloyd | 2020-11-23 | 1 | -1/+1 |
|/ | | | | | | Since 2.4.0 X509_Certificate and X509_CRL have been internally shared so an other shared_ptr is just overhead and API complexity. Use std::optional for APIs where the object was optional. | ||||
* | Improve error category names | Hannes Rantzsch | 2020-03-17 | 1 | -5/+17 |
| | |||||
* | use boost::beast provided lowest_layer utilities | Hannes Rantzsch | 2020-03-17 | 1 | -6/+19 |
| | | | | | This allows using the TLS::Stream with a boost::beast::tcp_stream as its next layer. | ||||
* | implement server-side of TLS::Stream | Hannes Rantzsch | 2020-03-17 | 2 | -29/+38 |
| | | | | | Allows the TLS::Stream to perform the handshake as the server-side. Also adds a client-server integration test for the stream. | ||||
* | implement async_shutdown | Hannes Rantzsch | 2020-03-17 | 1 | -5/+47 |
| | |||||
* | FIX: Detect stream truncation errors | Hannes Rantzsch | 2020-03-17 | 3 | -121/+191 |
| | | | | | | TLS::Stream now detects connections that have been improperly closed by the peer without sending a close_notify alert first. This is indicated by a StreamTruncated error code. | ||||
* | fail gracefully when using Stream w/o handshake | Hannes Rantzsch | 2020-03-16 | 1 | -1/+6 |
| | |||||
* | Try to appease MSVC | Jack Lloyd | 2019-10-25 | 1 | -4/+3 |
| | |||||
* | Fix various Doxygen warnings | Jack Lloyd | 2019-10-25 | 1 | -12/+15 |
| | | | | Some due to missing comments, others due to various misparsing of the code. | ||||
* | TLS::Context holds references rather than pointers | Hannes Rantzsch | 2019-06-13 | 2 | -47/+60 |
| | | | | | | | | 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]> | ||||
* | Update comments as suggested per review | Hannes Rantzsch | 2019-06-04 | 2 | -9/+14 |
| | | | | Co-Authored-By: René Meusel <[email protected]> | ||||
* | Refactor: template meta-programming to reuse the callback signature | René Meusel | 2019-06-03 | 1 | -7/+16 |
| | |||||
* | Use TLS::Context::verifyCallback as tls_verify_cert_chain callback | Hannes Rantzsch | 2019-06-03 | 1 | -22/+62 |
| | | | | | | | | | 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. | ||||
* | allow setting a verify_callback in TLS::Context | Hannes Rantzsch | 2019-06-03 | 1 | -7/+61 |
| | | | | | This will allow customizing the tls_verify_cert_chain callback for TLS::Stream. TLS::Context is now a class and its members are protected. | ||||
* | fix Stream::async_handshake documentation | Hannes Rantzsch | 2019-05-23 | 1 | -1/+1 |
| | |||||
* | make template friends compile on clang and MSVC | Hannes Rantzsch | 2019-05-03 | 2 | -4/+4 |
| | |||||
* | review: buffer accessors visibility, ignore ALERT::CLOSE_NOTIFY, docs | Hannes Rantzsch | 2019-04-29 | 2 | -72/+74 |
| | |||||
* | simplify read_some and shutdown | Hannes Rantzsch | 2019-04-26 | 1 | -36/+23 |
| | |||||
* | simplify error_code handling for handshake and write | Hannes Rantzsch | 2019-04-26 | 1 | -39/+16 |
| | |||||
* | Further cleanup of asio stream header files | Hannes Rantzsch | 2019-04-26 | 9 | -600/+473 |
| | | | | | | | * 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 | ||||
* | tidy up StreamCore as an implementation detail of Stream | Hannes Rantzsch | 2019-04-26 | 4 | -132/+131 |
| | |||||
* | start restructuring asio stream headers | Hannes Rantzsch | 2019-04-24 | 7 | -319/+176 |
| | | | | | | | | | | | | | | | 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. | ||||
* | remove convertException entirely | Hannes Rantzsch | 2019-04-23 | 4 | -36/+73 |
| | |||||
* | use ErrorType instead of TLS::error and remove convert_exceptions header | Hannes Rantzsch | 2019-04-23 | 7 | -232/+43 |
| | |||||
* | use existing TLS::Connection_Side instead of handshake_type | Hannes Rantzsch | 2019-04-23 | 2 | -31/+24 |
| | |||||
* | use class instead of struct | Hannes Rantzsch | 2019-04-23 | 5 | -5/+10 |
| | |||||
* | remove superfluous #ifdef guards | Hannes Rantzsch | 2019-04-23 | 10 | -30/+0 |
| | |||||
* | review: low hanging fruits | Hannes Rantzsch | 2019-04-16 | 5 | -26/+30 |
| | |||||
* | Apply comment suggestions from code review | René Meusel | 2019-04-16 | 4 | -5/+8 |
| | | | Co-Authored-By: hrantzsch <[email protected]> | ||||
* | include build.h in all headers to make sure definitions are available | Hannes Rantzsch | 2019-04-16 | 11 | -0/+22 |
| | |||||
* | documentation and minor fixes for async ops | Hannes Rantzsch | 2019-04-16 | 7 | -80/+149 |
| | |||||
* | fix: require boost 1.66 | Hannes Rantzsch | 2019-04-16 | 10 | -10/+10 |
| | |||||
* | FIX: async_base immediate completion | Hannes Rantzsch | 2019-04-16 | 1 | -1/+1 |
| | | | | see boostorg/beast#1557 | ||||
* | FIX: do not block when reading into zero-sized buffer | Hannes Rantzsch | 2019-04-16 | 1 | -3/+6 |
| | |||||
* | use boost::beast::flat_buffer instead of our own buffer type in core | Hannes Rantzsch | 2019-04-16 | 1 | -25/+16 |
| | |||||
* | handle exceptions directly where native_handle is used | Hannes Rantzsch | 2019-04-16 | 1 | -42/+33 |
| | |||||
* | improve constructor interface of Stream | Hannes Rantzsch | 2019-04-16 | 5 | -38/+64 |
| | |||||
* | add docs for asio_stream.h pulblic functions | Tim Oesterreich | 2019-04-16 | 1 | -0/+128 |
| | |||||
* | async_write_some returns amount of bytes commited to the core, instead of ↵ | Tim Oesterreich | 2019-04-16 | 3 | -4/+12 |
| | | | | bytes sent on the wire; do not use boost::asio::async_read/write | ||||
* | async ops will now call operator() from their constructor -> initiating ↵ | Tim Oesterreich | 2019-04-16 | 5 | -32/+25 |
| | | | | functions do not have to call async_read/write anymore | ||||
* | do not call completion_handler directly; allow async ops to be constructed ↵ | Tim Oesterreich | 2019-04-16 | 4 | -25/+35 |
| | | | | with optional error_code | ||||
* | don't pass int to size_t | Tim Oesterreich | 2019-04-16 | 1 | -3/+3 |
| | |||||
* | factor out template-independent code | Tim Oesterreich | 2019-04-16 | 1 | -37/+47 |
| |