|
OpenVPN 3 Core Library
|
#include <protostack.hpp>
Public Types | |
| enum | NetSendType { NET_SEND_SSL , NET_SEND_RAW , NET_SEND_ACK , NET_SEND_RETRANSMIT } |
| using | id_t = reliable::id_t |
| using | ReliableSend = ReliableSendTemplate< PACKET > |
| using | ReliableRecv = ReliableRecvTemplate< PACKET > |
Public Member Functions | |
| OPENVPN_SIMPLE_EXCEPTION (proto_stack_invalidated) | |
| OPENVPN_SIMPLE_EXCEPTION (unknown_status_from_ssl_layer) | |
| ProtoStackBase (SSLFactoryAPI &ssl_factory, TimePtr now_arg, const Time::Duration &tls_timeout_arg, const Frame::Ptr &frame, const SessionStats::Ptr &stats_arg, bool psid_cookie_mode) | |
| void | start_handshake () |
| uint32_t | get_tls_warnings () const |
| bool | net_recv (PACKET &&pkt) |
| void | app_send (BufferPtr &&buf) |
| void | raw_send (PACKET &&pkt) |
| void | flush () |
| void | send_pending_acks () |
| void | retransmit () |
| Time | next_retransmit () const |
| bool | ssl_started () const |
| bool | invalidated () const |
| Error::Type | invalidation_reason () const |
| void | invalidate (const Error::Type reason) |
| std::string | ssl_handshake_details () const |
| void | export_key_material (OpenVPNStaticKey &key, const std::string &label) const |
| const AuthCert::Ptr & | auth_cert () const |
Static Public Attributes | |
| static constexpr size_t | ovpn_sending_window = 6 |
| static constexpr size_t | ovpn_receiving_window = ReliableAck::maximum_acks_ack_v1 |
Protected Attributes | |
| TimePtr | now |
| ReliableRecv | rel_recv |
| ReliableSend | rel_send |
| ReliableAck | xmit_acks {} |
Private Member Functions | |
| PARENT & | parent () |
| void | send_pending_ssl_ciphertext_packets () |
| If there are any pending SSL ciphertext packets, encapsulate and send them out. | |
| void | send_pending_ssl_ciphertext_packets_nothrow () noexcept |
| A version of send_pending_ssl_ciphertext_packets() that guarantees no exceptions. | |
| void | down_stack_app () |
| void | down_stack_raw () |
| bool | up_stack (PACKET &recv) |
| void | up_sequenced () |
| void | update_retransmit () |
| void | error (const Error::Type reason) |
Private Attributes | |
| const Time::Duration | tls_timeout |
| SSLAPI::Ptr | ssl_ |
| Frame::Ptr | frame_ |
| int | up_stack_reentry_level = 0 |
| bool | invalidated_ = false |
| Error::Type | invalidation_reason_ = Error::SUCCESS |
| bool | ssl_started_ = false |
| Time | next_retransmit_ = Time::infinite() |
| BufferPtr | to_app_buf |
| PACKET | ack_send_buf |
| std::deque< BufferPtr > | app_write_queue |
| std::deque< PACKET > | raw_write_queue |
| SessionStats::Ptr | stats |
Definition at line 68 of file protostack.hpp.
| using openvpn::ProtoStackBase< PACKET, PARENT >::id_t = reliable::id_t |
Definition at line 74 of file protostack.hpp.
| using openvpn::ProtoStackBase< PACKET, PARENT >::ReliableRecv = ReliableRecvTemplate<PACKET> |
Definition at line 76 of file protostack.hpp.
| using openvpn::ProtoStackBase< PACKET, PARENT >::ReliableSend = ReliableSendTemplate<PACKET> |
Definition at line 75 of file protostack.hpp.
| enum openvpn::ProtoStackBase::NetSendType |
| Enumerator | |
|---|---|
| NET_SEND_SSL | |
| NET_SEND_RAW | |
| NET_SEND_ACK | |
| NET_SEND_RETRANSMIT | |
Definition at line 81 of file protostack.hpp.
|
inline |
Definition at line 89 of file protostack.hpp.
|
inline |
Definition at line 134 of file protostack.hpp.
|
inline |
Definition at line 260 of file protostack.hpp.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inline |
Definition at line 254 of file protostack.hpp.
|
inline |
Definition at line 152 of file protostack.hpp.
|
inline |
Definition at line 117 of file protostack.hpp.
|
inline |
|
inline |
|
inline |
Definition at line 233 of file protostack.hpp.
|
inline |
Definition at line 124 of file protostack.hpp.
|
inline |
Definition at line 212 of file protostack.hpp.
| openvpn::ProtoStackBase< PACKET, PARENT >::OPENVPN_SIMPLE_EXCEPTION | ( | proto_stack_invalidated | ) |
| openvpn::ProtoStackBase< PACKET, PARENT >::OPENVPN_SIMPLE_EXCEPTION | ( | unknown_status_from_ssl_layer | ) |
|
inlineprivate |
|
inline |
Definition at line 143 of file protostack.hpp.
|
inline |
Definition at line 181 of file protostack.hpp.
|
inline |
Definition at line 163 of file protostack.hpp.
|
inlineprivate |
If there are any pending SSL ciphertext packets, encapsulate and send them out.
Definition at line 318 of file protostack.hpp.
|
inlineprivatenoexcept |
A version of send_pending_ssl_ciphertext_packets() that guarantees no exceptions.
Definition at line 346 of file protostack.hpp.
|
inline |
Definition at line 249 of file protostack.hpp.
|
inline |
Definition at line 221 of file protostack.hpp.
|
inline |
Definition at line 107 of file protostack.hpp.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
private |
Definition at line 532 of file protostack.hpp.
|
private |
Definition at line 533 of file protostack.hpp.
|
private |
Definition at line 525 of file protostack.hpp.
|
private |
Definition at line 527 of file protostack.hpp.
|
private |
Definition at line 528 of file protostack.hpp.
|
private |
Definition at line 530 of file protostack.hpp.
|
protected |
Definition at line 538 of file protostack.hpp.
|
staticconstexpr |
Definition at line 72 of file protostack.hpp.
|
staticconstexpr |
Definition at line 71 of file protostack.hpp.
|
private |
Definition at line 534 of file protostack.hpp.
|
protected |
Definition at line 539 of file protostack.hpp.
|
protected |
Definition at line 540 of file protostack.hpp.
|
private |
Definition at line 524 of file protostack.hpp.
|
private |
Definition at line 529 of file protostack.hpp.
|
private |
Definition at line 535 of file protostack.hpp.
|
private |
Definition at line 523 of file protostack.hpp.
|
private |
Definition at line 531 of file protostack.hpp.
|
private |
Definition at line 526 of file protostack.hpp.
|
protected |
Definition at line 541 of file protostack.hpp.