OpenVPN 3 Core Library
|
#include <servproto.hpp>
Public Types | |
typedef RCPtr< Session > | Ptr |
Public Member Functions | |
bool | defined () const override |
TunClientInstance::Recv * | override_tun (TunClientInstance::Send *tun) override |
void | start (const TransportClientInstance::Send::Ptr &parent, const PeerAddr::Ptr &addr, const int local_peer_id, const ProtoSessionID cookie_psid=ProtoSessionID()) override |
PeerStats | stats_poll () override |
bool | should_preserve_session_id () override |
void | stop () override |
bool | transport_recv (BufferAllocated &buf) override |
void | tun_recv (BufferAllocated &buf) override |
bool | is_keepalive_enabled () const override |
void | disable_keepalive (unsigned int &keepalive_ping, unsigned int &keepalive_timeout) override |
void | override_dc_factory (const CryptoDCFactory::Ptr &dc_factory) override |
virtual | ~Session () |
Private Types | |
enum | DisconnectType { DT_NONE = 0 , DT_AUTH_PENDING , DT_RELAY_TRANSITION , DT_HALT_RESTART } |
Private Member Functions | |
Session (openvpn_io::io_context &io_context_arg, const Factory &factory, ManClientInstance::Factory::Ptr man_factory_arg, TunClientInstance::Factory::Ptr tun_factory_arg) | |
bool | supports_epoch_data () override |
bool | defined_ () const |
void | control_net_send (const Buffer &net_buf) override |
void | server_auth (const std::string &username, const SafeString &password, const std::string &peer_info, const AuthCert::Ptr &auth_cert) override |
void | control_recv (BufferPtr &&app_bp) override |
void | active (bool primary) override |
Called when KeyContext transitions to ACTIVE state. | |
void | auth_failed (const std::string &reason, const std::string &client_reason) override |
void | relay (const IP::Addr &target, const int port) override |
void | push_reply (std::vector< BufferPtr > &&push_msgs) override |
TunClientInstance::NativeHandle | tun_native_handle () override |
void | push_halt_restart_msg (const HaltRestart::Type type, const std::string &reason, const std::string &client_reason) override |
void | schedule_disconnect (const unsigned int seconds) override |
void | schedule_auth_pending_timeout (const unsigned int seconds) override |
void | post_cc_msg (BufferPtr &&msg) override |
void | stats_notify (const PeerStats &ps, const bool final) override |
void | float_notify (const PeerAddr::Ptr &addr) override |
void | ipma_notify (const struct ovpn_tun_head_ipma &ipma) override |
void | data_limit_notify (const int key_id, const DataLimit::Mode cdl_mode, const DataLimit::State cdl_status) override |
bool | get_management () |
bool | get_tun () |
void | disconnect_in (const Time::Duration &dur) |
void | cancel_disconnect () |
void | housekeeping_callback (const openvpn_io::error_code &e) |
void | set_housekeeping_timer () |
std::string | client_endpoint_render () |
void | error (const std::string &error) |
void | error (const std::exception &e) |
void | error () |
void | invalidation_error (const Error::Type err) |
std::string | instance_name () const |
![]() | |
virtual | ~ProtoContextCallbackInterface ()=default |
virtual void | client_auth (Buffer &buf) |
Private Attributes | |
ProtoContext | proto_context |
int | disconnect_type = DT_NONE |
bool | preserve_session_id = true |
bool | halt = false |
PeerAddr::Ptr | peer_addr |
CoarseTime | housekeeping_schedule |
AsioTimer | housekeeping_timer |
Time | disconnect_at |
SessionStats::Ptr | stats |
ManClientInstance::Factory::Ptr | man_factory |
TunClientInstance::Factory::Ptr | tun_factory |
bool | proto_request_push = false |
Friends | |
class | Factory |
Additional Inherited Members | |
![]() | |
Link ()=default | |
Link (typename SEND::Ptr send_arg) | |
Link (SEND *send_arg) | |
![]() | |
SEND::Ptr | send |
![]() | |
static void | write_empty_string (Buffer &buf) |
Definition at line 105 of file servproto.hpp.
Definition at line 113 of file servproto.hpp.
|
private |
Enumerator | |
---|---|
DT_NONE | |
DT_AUTH_PENDING | |
DT_RELAY_TRANSITION | |
DT_HALT_RESTART |
Definition at line 754 of file servproto.hpp.
|
inlinevirtual |
Definition at line 282 of file servproto.hpp.
|
inlineprivate |
Definition at line 290 of file servproto.hpp.
|
inlineoverrideprivatevirtual |
Called when KeyContext transitions to ACTIVE state.
Implements openvpn::ProtoContextCallbackInterface.
Definition at line 381 of file servproto.hpp.
|
inlineoverrideprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineoverrideprivatevirtual |
Sends out bytes to the network.
Implements openvpn::ProtoContextCallbackInterface.
Definition at line 315 of file servproto.hpp.
|
inlineoverrideprivatevirtual |
Implements openvpn::ProtoContextCallbackInterface.
Definition at line 346 of file servproto.hpp.
|
inlineoverrideprivate |
Definition at line 598 of file servproto.hpp.
|
inlineoverride |
Definition at line 115 of file servproto.hpp.
|
inlineprivate |
|
inlineoverride |
Definition at line 268 of file servproto.hpp.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Definition at line 721 of file servproto.hpp.
|
inlineprivate |
Definition at line 715 of file servproto.hpp.
|
inlineoverrideprivate |
Definition at line 586 of file servproto.hpp.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Definition at line 644 of file servproto.hpp.
|
inlineprivate |
|
inlineprivate |
|
inlineoverrideprivate |
Definition at line 592 of file servproto.hpp.
|
inlineoverride |
Definition at line 260 of file servproto.hpp.
|
inlineoverride |
Definition at line 277 of file servproto.hpp.
|
inlineoverride |
Definition at line 120 of file servproto.hpp.
|
inlineoverrideprivate |
Definition at line 568 of file servproto.hpp.
|
inlineoverrideprivate |
|
inlineoverrideprivate |
Definition at line 419 of file servproto.hpp.
|
inlineoverrideprivate |
Definition at line 393 of file servproto.hpp.
|
inlineoverrideprivate |
Definition at line 558 of file servproto.hpp.
|
inlineoverrideprivate |
Definition at line 549 of file servproto.hpp.
|
inlineoverrideprivatevirtual |
Called on server with credentials and peer info provided by client. Should be overriden by derived class if credentials are required.
Reimplemented from openvpn::ProtoContextCallbackInterface.
Definition at line 327 of file servproto.hpp.
|
inlineprivate |
|
inlineoverride |
Definition at line 153 of file servproto.hpp.
|
inlineoverride |
Definition at line 126 of file servproto.hpp.
|
inlineoverrideprivate |
Definition at line 580 of file servproto.hpp.
|
inlineoverride |
|
inlineoverride |
|
inlineoverrideprivatevirtual |
the protocol context needs to know if the parent and its tun/transport layer are able to support epoch key data format to properly handshake this protocol feature
Implements openvpn::ProtoContextCallbackInterface.
Definition at line 303 of file servproto.hpp.
|
inlineoverride |
Definition at line 196 of file servproto.hpp.
|
inlineoverrideprivate |
Definition at line 449 of file servproto.hpp.
|
inlineoverride |
Definition at line 254 of file servproto.hpp.
|
friend |
Definition at line 110 of file servproto.hpp.
|
private |
Definition at line 773 of file servproto.hpp.
|
private |
Definition at line 763 of file servproto.hpp.
|
private |
Definition at line 766 of file servproto.hpp.
|
private |
Definition at line 770 of file servproto.hpp.
|
private |
Definition at line 771 of file servproto.hpp.
|
private |
Definition at line 777 of file servproto.hpp.
|
private |
Definition at line 768 of file servproto.hpp.
|
private |
Definition at line 764 of file servproto.hpp.
|
private |
Definition at line 762 of file servproto.hpp.
|
private |
Definition at line 780 of file servproto.hpp.
|
private |
Definition at line 775 of file servproto.hpp.
|
private |
Definition at line 778 of file servproto.hpp.