OpenVPN
context_2 Struct Reference

Level 2 context containing state that is reset on both SIGHUP and SIGUSR1 restarts. More...

#include <openvpn.h>

Collaboration diagram for context_2:

Data Fields

struct gc_arena gc
 Garbage collection arena for allocations done in the level 2 scope of this context_2 structure.
struct event_set * event_set
int event_set_max
bool event_set_owned
unsigned int event_set_status
struct link_socket ** link_sockets
struct link_socket_info ** link_socket_infos
bool link_socket_owned
const struct link_socket * accept_from
struct link_socket_actual * to_link_addr
struct link_socket_actual from
struct frame frame
struct fragment_master * fragment
struct frame frame_fragment
struct shaper shaper
counter_type tun_read_bytes
counter_type tun_write_bytes
counter_type link_read_bytes
counter_type dco_read_bytes
counter_type link_read_bytes_auth
counter_type link_write_bytes
counter_type dco_write_bytes
struct event_timeout wait_for_connect
struct event_timeout ping_send_interval
struct event_timeout ping_rec_interval
struct event_timeout inactivity_interval
int64_t inactivity_bytes
struct event_timeout session_interval
struct event_timeout auth_token_renewal_interval
char * options_string_local
char * options_string_remote
int occ_op
int occ_n_tries
struct event_timeout occ_interval
int original_recv_size
int max_recv_size_local
int max_recv_size_remote
int max_send_size_local
int max_send_size_remote
int occ_mtu_load_size
struct event_timeout occ_mtu_load_test_interval
int occ_mtu_load_n_tries
struct tls_multi * tls_multi
 TLS state structure for this VPN tunnel.
struct tls_auth_standalone * tls_auth_standalone
 TLS state structure required for the initial authentication of a client's connection attempt.
uint8_t session_id_key [SIPHASH_KEY_SIZE]
 the siphash secret we use to generate and verify our syn cookie like session ids from the server.
struct interval tmp_int
int tls_exit_signal
struct crypto_options crypto_options
 Security parameters and crypto state used by the Data Channel Crypto module to process data channel packet.
struct event_timeout packet_id_persist_interval
struct context_buffers * buffers
bool buffers_owned
struct buffer buf
struct buffer to_tun
struct buffer to_link
bool log_rw
struct event_timeout route_wakeup
struct event_timeout route_wakeup_expire
bool did_open_tun
struct timeval timeval
 Time to next event of timers and similar.
time_t coarse_timer_wakeup
time_t update_timeout_random_component
struct timeval timeout_random_component
struct event_timeout server_poll_interval
bool do_up_ran
time_t explicit_exit_notification_time_wait
struct event_timeout explicit_exit_notification_interval
struct env_set * es
bool es_owned
bool push_request_received
bool push_ifconfig_defined
time_t sent_push_reply_expiry
in_addr_t push_ifconfig_local
in_addr_t push_ifconfig_remote_netmask
in_addr_t push_ifconfig_local_alias
bool push_ifconfig_ipv6_defined
struct in6_addr push_ifconfig_ipv6_local
int push_ifconfig_ipv6_netbits
struct in6_addr push_ifconfig_ipv6_remote
struct event_timeout push_request_interval
time_t push_request_timeout
bool pulled_options_digest_init_done
md_ctx_t * pulled_options_state
struct sha256_digest pulled_options_digest
struct event_timeout scheduled_exit
int scheduled_exit_signal
struct man_def_auth_context mda_context

Detailed Description

Level 2 context containing state that is reset on both SIGHUP and SIGUSR1 restarts.

This structure is initialized at the top of the tunnel_point_to_point() and tunnel_server() functions. In other words, it is reset for every iteration of the main() function's inner SIGUSR1 loop.

Definition at line 224 of file openvpn.h.

Field Documentation

◆ accept_from

const struct link_socket* context_2::accept_from

Definition at line 243 of file openvpn.h.

Referenced by inherit_context_child(), and link_socket_init_phase1().

◆ auth_token_renewal_interval

struct event_timeout context_2::auth_token_renewal_interval

Definition at line 294 of file openvpn.h.

Referenced by do_init_timers(), and process_coarse_timers().

◆ buf

◆ buffers

◆ buffers_owned

bool context_2::buffers_owned

Definition at line 368 of file openvpn.h.

Referenced by do_close_free_buf(), do_init_buffers(), and inherit_context_top().

◆ coarse_timer_wakeup

time_t context_2::coarse_timer_wakeup

Definition at line 399 of file openvpn.h.

Referenced by check_coarse_timers(), and reset_coarse_timers().

◆ crypto_options

struct crypto_options context_2::crypto_options

Security parameters and crypto state used by the Data Channel Crypto module to process data channel packet.

Definition at line 349 of file openvpn.h.

Referenced by do_close_packet_id(), do_init_crypto_static(), do_init_crypto_test(), do_test_crypto(), encrypt_sign(), and process_incoming_link_part1().

◆ dco_read_bytes

◆ dco_write_bytes

◆ did_open_tun

bool context_2::did_open_tun

Definition at line 387 of file openvpn.h.

Referenced by do_up(), do_update(), and init_instance().

◆ do_up_ran

bool context_2::do_up_ran

Definition at line 411 of file openvpn.h.

Referenced by do_up(), and do_update().

◆ es

◆ es_owned

bool context_2::es_owned

Definition at line 421 of file openvpn.h.

Referenced by do_env_set_destroy(), do_inherit_env(), and inherit_context_top().

◆ event_set

struct event_set* context_2::event_set

◆ event_set_max

int context_2::event_set_max

Definition at line 232 of file openvpn.h.

Referenced by do_event_set_init().

◆ event_set_owned

bool context_2::event_set_owned

Definition at line 233 of file openvpn.h.

Referenced by do_close_event_set(), do_event_set_init(), and inherit_context_top().

◆ event_set_status

unsigned int context_2::event_set_status

Definition at line 236 of file openvpn.h.

Referenced by io_wait(), multi_io_wait_lite(), process_io(), and tunnel_point_to_point().

◆ explicit_exit_notification_interval

struct event_timeout context_2::explicit_exit_notification_interval

◆ explicit_exit_notification_time_wait

time_t context_2::explicit_exit_notification_time_wait

◆ fragment

◆ frame

◆ frame_fragment

◆ from

◆ gc

struct gc_arena context_2::gc

Garbage collection arena for allocations done in the level 2 scope of this context_2 structure.

Definition at line 226 of file openvpn.h.

Referenced by close_instance(), context_gc_free(), do_init_crypto_tls(), do_init_frame_tls(), do_link_socket_new(), inherit_context_top(), init_instance(), and management_callback_proxy_cmd().

◆ inactivity_bytes

int64_t context_2::inactivity_bytes

Definition at line 289 of file openvpn.h.

Referenced by check_inactivity_timeout(), and register_activity().

◆ inactivity_interval

struct event_timeout context_2::inactivity_interval

◆ link_read_bytes

◆ link_read_bytes_auth

counter_type context_2::link_read_bytes_auth

Definition at line 269 of file openvpn.h.

Referenced by check_send_occ_req_dowork(), print_status(), and process_incoming_link_part2().

◆ link_socket_infos

struct link_socket_info** context_2::link_socket_infos

Definition at line 239 of file openvpn.h.

Referenced by get_link_socket_info(), inherit_context_child(), and multi_process_float().

◆ link_socket_owned

bool context_2::link_socket_owned

Definition at line 241 of file openvpn.h.

Referenced by do_close_link_socket(), do_link_socket_new(), and inherit_context_top().

◆ link_sockets

◆ link_write_bytes

◆ log_rw

◆ max_recv_size_local

int context_2::max_recv_size_local

◆ max_recv_size_remote

int context_2::max_recv_size_remote

Definition at line 310 of file openvpn.h.

Referenced by process_received_occ_msg().

◆ max_send_size_local

int context_2::max_send_size_local

◆ max_send_size_remote

int context_2::max_send_size_remote

Definition at line 312 of file openvpn.h.

Referenced by process_received_occ_msg().

◆ mda_context

◆ occ_interval

struct event_timeout context_2::occ_interval

◆ occ_mtu_load_n_tries

int context_2::occ_mtu_load_n_tries

Definition at line 319 of file openvpn.h.

Referenced by check_send_occ_load_test_dowork().

◆ occ_mtu_load_size

int context_2::occ_mtu_load_size

◆ occ_mtu_load_test_interval

struct event_timeout context_2::occ_mtu_load_test_interval

◆ occ_n_tries

int context_2::occ_n_tries

Definition at line 301 of file openvpn.h.

Referenced by check_send_occ_req_dowork().

◆ occ_op

◆ options_string_local

char* context_2::options_string_local

◆ options_string_remote

char* context_2::options_string_remote

◆ original_recv_size

int context_2::original_recv_size

Definition at line 308 of file openvpn.h.

Referenced by process_incoming_link_part1(), and process_incoming_link_part2().

◆ packet_id_persist_interval

struct event_timeout context_2::packet_id_persist_interval

Definition at line 355 of file openvpn.h.

Referenced by do_init_timers(), and process_coarse_timers().

◆ ping_rec_interval

struct event_timeout context_2::ping_rec_interval

◆ ping_send_interval

struct event_timeout context_2::ping_send_interval

Definition at line 284 of file openvpn.h.

Referenced by check_ping_send(), do_init_timers(), and process_outgoing_link().

◆ pulled_options_digest

struct sha256_digest context_2::pulled_options_digest

Definition at line 442 of file openvpn.h.

Referenced by do_up(), and process_incoming_push_reply().

◆ pulled_options_digest_init_done

bool context_2::pulled_options_digest_init_done

Definition at line 440 of file openvpn.h.

Referenced by process_incoming_push_reply().

◆ pulled_options_state

md_ctx_t* context_2::pulled_options_state

Definition at line 441 of file openvpn.h.

Referenced by do_close_tls(), and process_incoming_push_reply().

◆ push_ifconfig_defined

◆ push_ifconfig_ipv6_defined

◆ push_ifconfig_ipv6_local

struct in6_addr context_2::push_ifconfig_ipv6_local

◆ push_ifconfig_ipv6_netbits

int context_2::push_ifconfig_ipv6_netbits

◆ push_ifconfig_ipv6_remote

struct in6_addr context_2::push_ifconfig_ipv6_remote

◆ push_ifconfig_local

◆ push_ifconfig_local_alias

in_addr_t context_2::push_ifconfig_local_alias

Definition at line 429 of file openvpn.h.

Referenced by multi_select_virtual_addr(), and prepare_push_reply().

◆ push_ifconfig_remote_netmask

in_addr_t context_2::push_ifconfig_remote_netmask

◆ push_request_interval

struct event_timeout context_2::push_request_interval

◆ push_request_received

bool context_2::push_request_received

◆ push_request_timeout

time_t context_2::push_request_timeout

◆ route_wakeup

struct event_timeout context_2::route_wakeup

◆ route_wakeup_expire

struct event_timeout context_2::route_wakeup_expire

Definition at line 384 of file openvpn.h.

Referenced by check_add_routes(), check_add_routes_action(), do_up(), and do_update().

◆ scheduled_exit

struct event_timeout context_2::scheduled_exit

Definition at line 444 of file openvpn.h.

Referenced by process_coarse_timers(), and schedule_exit().

◆ scheduled_exit_signal

int context_2::scheduled_exit_signal

Definition at line 445 of file openvpn.h.

Referenced by check_scheduled_exit(), and schedule_exit().

◆ sent_push_reply_expiry

time_t context_2::sent_push_reply_expiry

Definition at line 426 of file openvpn.h.

Referenced by process_incoming_push_request().

◆ server_poll_interval

struct event_timeout context_2::server_poll_interval

◆ session_id_key

uint8_t context_2::session_id_key[SIPHASH_KEY_SIZE]

the siphash secret we use to generate and verify our syn cookie like session ids from the server.

Definition at line 339 of file openvpn.h.

Referenced by do_init_crypto_tls(), and do_pre_decrypt_check().

◆ session_interval

struct event_timeout context_2::session_interval

Definition at line 291 of file openvpn.h.

Referenced by check_session_timeout(), and do_init_timers().

◆ shaper

struct shaper context_2::shaper

◆ timeout_random_component

struct timeval context_2::timeout_random_component

◆ timeval

◆ tls_auth_standalone

struct tls_auth_standalone* context_2::tls_auth_standalone

TLS state structure required for the initial authentication of a client's connection attempt.

This structure is used by the tls_pre_decrypt_lite() function when it performs the HMAC firewall check on the first connection packet received from a new client. See the --tls-auth commandline option.

Definition at line 327 of file openvpn.h.

Referenced by do_close_tls(), do_init_crypto_tls(), do_init_frame_tls(), and do_pre_decrypt_check().

◆ tls_exit_signal

int context_2::tls_exit_signal

◆ tls_multi

struct tls_multi* context_2::tls_multi

TLS state structure for this VPN tunnel.

Definition at line 324 of file openvpn.h.

Referenced by cc_exit_notify_enabled(), check_connection_established(), check_dco_key_status(), check_incoming_control_channel(), check_pull_client_ncp(), check_send_auth_token(), check_server_poll_timeout(), check_tls(), check_tls_errors(), connection_established(), dco_get_peer_stats(), do_close_tls(), do_compute_occ_strings(), do_deferred_options(), do_deferred_options_part2(), do_deferred_p2p_ncp(), do_init_crypto_tls(), do_init_frame_tls(), do_open_tun(), do_up(), encrypt_sign(), format_common_name(), handle_connection_attempt(), inherit_context_top(), learn_address_script(), management_callback_kill_by_cn(), management_client_auth(), management_client_pending_auth(), management_get_peer_info(), multi_assign_peer_id(), multi_check_dest_addr_allowed(), multi_client_connect_compress_migrate(), multi_client_connect_early_setup(), multi_client_connect_late_setup(), multi_client_connect_setenv(), multi_client_generate_tls_keys(), multi_client_set_protocol_options(), multi_close_instance(), multi_connection_established(), multi_create_instance(), multi_delete_dup(), multi_instance_string(), multi_print_status(), multi_process_float(), multi_process_post(), multi_select_virtual_addr(), override_locked_username(), pre_select(), prepare_push_reply(), process_coarse_timers(), process_incoming_dco(), process_incoming_link_part1(), process_incoming_push_request(), process_outgoing_link(), receive_auth_pending(), receive_cr_response(), schedule_exit(), send_auth_failed(), send_control_channel_string(), send_push_request(), send_push_update(), send_single_push_update(), setup2(), support_push_update(), and tls_print_deferred_options_results().

◆ tmp_int

struct interval context_2::tmp_int

◆ to_link

◆ to_link_addr

◆ to_tun

◆ tun_read_bytes

◆ tun_write_bytes

◆ update_timeout_random_component

time_t context_2::update_timeout_random_component

◆ wait_for_connect

struct event_timeout context_2::wait_for_connect

The documentation for this struct was generated from the following file: