|
OpenVPN 3 Core Library
|
Public Types | |
| enum | ClockTickAction { CT_UNDEF , CT_STOP , CT_RECONNECT , CT_PAUSE , CT_RESUME , CT_STATS } |
Public Member Functions | |
| Client (OMI *omi) | |
| bool | is_dynamic_challenge () const |
| std::string | dynamic_challenge_cookie () |
| void | set_clock_tick_action (const ClockTickAction action) |
| void | print_stats () |
| void | set_write_url_fn (const std::string &fn) |
Public Member Functions inherited from openvpn::ClientAPI::OpenVPNClient | |
| OpenVPNClient () | |
| virtual | ~OpenVPNClient () |
| EvalConfig | eval_config (const Config &) |
| Status | provide_creds (const ProvideCreds &) |
| Status | connect () |
| ConnectionInfo | connection_info () |
| bool | session_token (SessionToken &tok) |
| void | stop () |
| void | pause (const std::string &reason) |
| void | resume () |
| void | reconnect (int seconds) |
| long long | stats_value (int index) const |
| std::vector< long long > | stats_bundle () const |
| InterfaceStats | tun_stats () const |
| TransportStats | transport_stats () const |
| void | post_cc_msg (const std::string &msg) |
| void | send_app_control_channel_msg (const std::string &protocol, const std::string &msg) |
| void | start_cert_check (const std::string &client_cert, const std::string &clientkey, const std::optional< const std::string > &ca=std::nullopt) |
| Start up the cert check handshake using the given certs and key. | |
| void | start_cert_check_epki (const std::string &alias, const std::optional< const std::string > &ca) |
| Start up the cert check handshake using the given epki_alias string. | |
| virtual bool | remote_override_enabled () |
| virtual void | remote_override (RemoteOverride &) |
Public Member Functions inherited from openvpn::TunBuilderBase | |
| virtual bool | tun_builder_new () |
| Callback to construct a new TunBuilder. This function should be called first. | |
| virtual bool | tun_builder_set_layer (int layer) |
| Optional callback that indicates OSI layer to be used. | |
| virtual bool | tun_builder_set_remote_address (const std::string &address, bool ipv6) |
| Callback to set the address of the remote server. | |
| virtual bool | tun_builder_add_address (const std::string &address, int prefix_length, const std::string &gateway, bool ipv6, bool net30) |
| Callback to add a network address to the VPN interface. | |
| virtual bool | tun_builder_set_route_metric_default (int metric) |
| Optional callback to set default value for route metric. | |
| virtual bool | tun_builder_reroute_gw (bool ipv4, bool ipv6, unsigned int flags) |
| Callback to reroute the default gateway to the VPN interface. | |
| virtual bool | tun_builder_add_route (const std::string &address, int prefix_length, int metric, bool ipv6) |
| Callback to add a route to the VPN interface. | |
| virtual bool | tun_builder_exclude_route (const std::string &address, int prefix_length, int metric, bool ipv6) |
| Callback to exclude route from VPN interface. | |
| virtual bool | tun_builder_set_dns_options (const DnsOptions &dns) |
| Callback to set DNS related options to VPN interface. | |
| virtual bool | tun_builder_set_mtu (int mtu) |
| Callback to set the MTU of the VPN interface. | |
| virtual bool | tun_builder_set_session_name (const std::string &name) |
| Sets the session name for the TunBuilder. | |
| virtual bool | tun_builder_add_proxy_bypass (const std::string &bypass_host) |
| Callback to add a host which should bypass the proxy. | |
| virtual bool | tun_builder_set_proxy_auto_config_url (const std::string &url) |
| Callback to set the proxy "Auto Config URL". | |
| virtual bool | tun_builder_set_proxy_http (const std::string &host, int port) |
| Callback to set the HTTP proxy. | |
| virtual bool | tun_builder_set_proxy_https (const std::string &host, int port) |
| Set the HTTPS proxy for the TunBuilder session. | |
| virtual bool | tun_builder_add_wins_server (const std::string &address) |
| Callback to add a Windows WINS server to the VPN interface. | |
| virtual bool | tun_builder_set_allow_family (int af, bool allow) |
| Indicates whether traffic of a certain address family (AF_INET or AF_INET6) should be blocked or allowed. | |
| virtual bool | tun_builder_set_allow_local_dns (bool allow) |
| Optional callback that indicates whether local DNS traffic should be blocked or allowed to prevent DNS queries from leaking while the tunnel is connected. | |
| virtual int | tun_builder_establish () |
| Callback to establish the VPN tunnel. | |
| virtual bool | tun_builder_persist () |
| Determines if the TUN interface can be persisted. | |
| virtual std::vector< std::string > | tun_builder_get_local_networks (bool ipv6) |
| Retrieves a list of local networks to exclude from the VPN network. | |
| virtual void | tun_builder_establish_lite () |
| Indicates a reconnection with persisted TUN state. | |
| virtual void | tun_builder_teardown (bool disconnect) |
| Indicates that tunnel is being torn down. | |
| virtual | ~TunBuilderBase ()=default |
| Virtual destructor for the TunBuilderBase class. | |
Public Member Functions inherited from openvpn::ClientAPI::LogReceiver | |
| virtual | ~LogReceiver ()=default |
Public Member Functions inherited from ClientBase | |
| bool | socket_protect (openvpn_io::detail::socket_type socket, std::string remote, bool ipv6) override |
Public Attributes | |
| std::string | epki_ca |
| std::string | epki_cert |
| std::string | certcheck_cert |
| file name of properly encoded server cert | |
| std::string | certcheck_clientca_fn |
| file name of properly encoded client ca | |
Private Member Functions | |
| bool | socket_protect (openvpn_io::detail::socket_type socket, std::string remote, bool ipv6) override |
| bool | pause_on_connection_timeout () override |
| void | event (const ClientAPI::Event &ev) override |
| void | log (const ClientAPI::LogInfo &msg) override |
| void | external_pki_cert_request (ClientAPI::ExternalPKICertRequest &certreq) override |
| void | external_pki_sign_request (ClientAPI::ExternalPKISignRequest &signreq) override |
| void | acc_event (const openvpn::ClientAPI::AppCustomControlMessageEvent &event) override |
| void | event (const ClientAPI::Event &ev) override |
| void | handle_dpc1_protocol (const ClientAPI::AppCustomControlMessageEvent &acev) |
| void | acc_event (const ClientAPI::AppCustomControlMessageEvent &acev) override |
| Handles ACC messages. | |
| void | handle_certcheck_request () |
| Begin a cck1 (certcheck) handshake in response to a dpc1 server request. | |
| void | open_url (const std::string &url_str) |
| void | log (const ClientAPI::LogInfo &log) override |
| void | clock_tick () override |
| void | external_pki_cert_request (ClientAPI::ExternalPKICertRequest &certreq) override |
| void | external_pki_sign_request (ClientAPI::ExternalPKISignRequest &signreq) override |
| bool | pause_on_connection_timeout () override |
Static Private Member Functions | |
| static int | rng_callback (void *arg, unsigned char *data, size_t len) |
Private Attributes | |
| OMI * | parent |
| std::mutex | log_mutex |
| std::string | dc_cookie |
| StrongRandomAPI::Ptr | rng |
| volatile ClockTickAction | clock_tick_action = CT_UNDEF |
| std::string | write_url_fn |
Static Private Attributes | |
| static constexpr char | certcheck_init_verb [] = "dpc1" |
Additional Inherited Members | |
Static Public Member Functions inherited from openvpn::ClientAPI::OpenVPNClient | |
| static int | stats_n () |
| static std::string | stats_name (int index) |
Protected Member Functions inherited from openvpn::ClientAPI::OpenVPNClient | |
| Status | do_connect () |
| virtual void | connect_attach () |
| virtual void | connect_pre_run () |
| virtual void | connect_run () |
| virtual void | connect_session_stop () |
| virtual Stop * | get_async_stop () |
Protected Attributes inherited from openvpn::ClientAPI::OpenVPNClient | |
| Private::ClientState * | state |
Definition at line 53 of file openvpn.cpp.
|
inline |
Definition at line 56 of file openvpn.cpp.
|
inlineoverrideprivatevirtual |
Handles ACC messages.
| acev | The current ACC event |
Implements openvpn::ClientAPI::OpenVPNClient.
|
overrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
Definition at line 1037 of file openvpn.cpp.
|
inlineoverrideprivatevirtual |
Reimplemented from openvpn::ClientAPI::OpenVPNClient.
|
overrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
Definition at line 1011 of file openvpn.cpp.
|
inlineoverrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
|
overrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
Definition at line 1027 of file openvpn.cpp.
|
inlineoverrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
|
overrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
Definition at line 1032 of file openvpn.cpp.
|
inlineoverrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
|
inlineprivate |
|
inlineprivate |
|
inlineoverrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
|
overrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
Definition at line 1022 of file openvpn.cpp.
|
inlineprivate |
|
inlineoverrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
Definition at line 67 of file openvpn.cpp.
|
inlineoverrideprivatevirtual |
Implements openvpn::ClientAPI::OpenVPNClient.
|
inline |
|
inlinestaticprivate |
|
inline |
|
inline |
|
inlineoverrideprivatevirtual |
Reimplemented from openvpn::ClientAPI::OpenVPNClient.
Definition at line 62 of file openvpn.cpp.
| std::string Client::certcheck_cert |
| std::string Client::certcheck_clientca_fn |
|
staticconstexprprivate |
|
private |
|
private |
Definition at line 78 of file openvpn.cpp.
|
private |