OpenVPN
Data Fields
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:
Collaboration graph
[legend]

Data Fields

struct gc_arena gc
 Garbage collection arena for allocations done in the level 2 scope of this context_2 structure. More...
 
struct event_setevent_set
 
int event_set_max
 
bool event_set_owned
 
unsigned int event_set_status
 
struct link_socketlink_socket
 
bool link_socket_owned
 
struct link_socket_infolink_socket_info
 This variable is used instead link_socket->info for P2MP UDP childs. More...
 
const struct link_socketaccept_from
 
struct link_socket_actualto_link_addr
 
struct link_socket_actual from
 
struct frame frame
 
struct fragment_masterfragment
 
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_multitls_multi
 TLS state structure for this VPN tunnel. More...
 
struct tls_auth_standalonetls_auth_standalone
 TLS state structure required for the initial authentication of a client's connection attempt. More...
 
hmac_ctx_tsession_id_hmac
 the HMAC we use to generate and verify our syn cookie like session ids from the server. More...
 
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. More...
 
struct event_timeout packet_id_persist_interval
 
struct context_buffersbuffers
 
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. More...
 
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_setes
 
bool es_owned
 
bool fast_io
 
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_tpulled_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(), tunnel_server_udp(), and tunnel_server_tcp() functions. In other words, it is reset for every iteration of the main() function's inner SIGUSR1 loop.

Definition at line 226 of file openvpn.h.

Field Documentation

◆ accept_from

const struct link_socket* context_2::accept_from

Definition at line 245 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 296 of file openvpn.h.

Referenced by do_init_timers(), and process_coarse_timers().

◆ buf

struct buffer context_2::buf

◆ buffers

struct context_buffers* context_2::buffers

◆ buffers_owned

bool context_2::buffers_owned

Definition at line 371 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 402 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 352 of file openvpn.h.

Referenced by do_close_packet_id(), do_init_crypto_static(), encrypt_sign(), process_incoming_link_part1(), and test_crypto_thread().

◆ dco_read_bytes

counter_type context_2::dco_read_bytes

◆ dco_write_bytes

counter_type context_2::dco_write_bytes

◆ did_open_tun

bool context_2::did_open_tun

Definition at line 390 of file openvpn.h.

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

◆ do_up_ran

bool context_2::do_up_ran

Definition at line 414 of file openvpn.h.

Referenced by do_up().

◆ es

struct env_set* context_2::es

◆ es_owned

bool context_2::es_owned

Definition at line 424 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 234 of file openvpn.h.

Referenced by do_event_set_init().

◆ event_set_owned

bool context_2::event_set_owned

Definition at line 235 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

◆ 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

◆ fast_io

bool context_2::fast_io

Definition at line 427 of file openvpn.h.

Referenced by do_setup_fast_io(), io_wait(), and multi_process_io_udp().

◆ fragment

struct fragment_master* context_2::fragment

◆ frame

struct frame context_2::frame

◆ frame_fragment

struct frame context_2::frame_fragment

◆ from

struct link_socket_actual context_2::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 228 of file openvpn.h.

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

◆ inactivity_bytes

int64_t context_2::inactivity_bytes

Definition at line 291 of file openvpn.h.

Referenced by check_inactivity_timeout(), and register_activity().

◆ inactivity_interval

struct event_timeout context_2::inactivity_interval

◆ link_read_bytes

counter_type context_2::link_read_bytes

◆ link_read_bytes_auth

counter_type context_2::link_read_bytes_auth

Definition at line 271 of file openvpn.h.

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

◆ link_socket

struct link_socket* context_2::link_socket

◆ link_socket_info

struct link_socket_info* context_2::link_socket_info

This variable is used instead link_socket->info for P2MP UDP childs.

Definition at line 244 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_write_bytes

counter_type context_2::link_write_bytes

◆ log_rw

bool context_2::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 312 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 314 of file openvpn.h.

Referenced by process_received_occ_msg().

◆ mda_context

struct man_def_auth_context context_2::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 321 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 303 of file openvpn.h.

Referenced by check_send_occ_req_dowork().

◆ occ_op

int context_2::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 310 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 358 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 286 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 448 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 446 of file openvpn.h.

Referenced by process_incoming_push_reply().

◆ pulled_options_state

md_ctx_t* context_2::pulled_options_state

Definition at line 447 of file openvpn.h.

Referenced by do_close_tls(), and process_incoming_push_reply().

◆ push_ifconfig_defined

bool context_2::push_ifconfig_defined

◆ push_ifconfig_ipv6_defined

bool context_2::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

in_addr_t context_2::push_ifconfig_local

◆ push_ifconfig_local_alias

in_addr_t context_2::push_ifconfig_local_alias

Definition at line 435 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

Definition at line 386 of file openvpn.h.

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

◆ route_wakeup_expire

struct event_timeout context_2::route_wakeup_expire

Definition at line 387 of file openvpn.h.

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

◆ scheduled_exit

struct event_timeout context_2::scheduled_exit

Definition at line 450 of file openvpn.h.

Referenced by process_coarse_timers(), schedule_exit(), and send_auth_failed().

◆ scheduled_exit_signal

int context_2::scheduled_exit_signal

Definition at line 451 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 432 of file openvpn.h.

Referenced by process_incoming_push_request().

◆ server_poll_interval

struct event_timeout context_2::server_poll_interval

◆ session_id_hmac

hmac_ctx_t* context_2::session_id_hmac

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

Definition at line 341 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 293 of file openvpn.h.

Referenced by check_session_timeout(), and do_init_timers().

◆ shaper

struct shaper context_2::shaper

Definition at line 262 of file openvpn.h.

Referenced by do_init_traffic_shaper(), io_wait_dowork(), and process_outgoing_link().

◆ timeout_random_component

struct timeval context_2::timeout_random_component

◆ timeval

struct timeval context_2::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 329 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 326 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(), 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(), 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_client_connect_compress_migrate(), multi_client_connect_early_setup(), multi_client_connect_late_setup(), multi_client_connect_setenv(), multi_client_connect_source_ccd(), multi_client_generate_tls_keys(), multi_client_set_protocol_options(), multi_client_setup_dco_initial(), multi_close_instance(), multi_connection_established(), multi_create_instance(), multi_delete_dup(), multi_get_create_instance_udp(), multi_instance_string(), multi_print_status(), multi_process_float(), multi_process_post(), multi_select_virtual_addr(), p2p_set_dco_keepalive(), 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(), and send_push_request().

◆ tmp_int

struct interval context_2::tmp_int

◆ to_link

struct buffer context_2::to_link

◆ to_link_addr

struct link_socket_actual* context_2::to_link_addr

◆ to_tun

struct buffer context_2::to_tun

◆ tun_read_bytes

counter_type context_2::tun_read_bytes

◆ tun_write_bytes

counter_type context_2::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: