OpenVPN
Data Fields
key_state Struct Reference

Security parameter state of one TLS and data channel key session. More...

#include <ssl_common.h>

Collaboration diagram for key_state:
Collaboration graph
[legend]

Data Fields

int state
 
int key_id
 Key id for this key_state, inherited from struct tls_session. More...
 
struct key_state_ssl ks_ssl
 
time_t initial
 
time_t established
 
time_t must_negotiate
 
time_t must_die
 
time_t peer_last_packet
 
int initial_opcode
 
struct session_id session_id_remote
 
struct link_socket_actual remote_addr
 
struct crypto_options crypto_options
 
struct key_source2key_src
 
struct buffer plaintext_read_buf
 
struct buffer plaintext_write_buf
 
struct buffer ack_write_buf
 
struct reliablesend_reliable
 
struct reliablerec_reliable
 
struct reliable_ackrec_ack
 
struct buffer_listpaybuf
 
counter_type n_bytes
 
counter_type n_packets
 
enum ks_auth_state authenticated
 
time_t auth_deferred_expire
 
unsigned int mda_key_id
 
unsigned int mda_status
 
time_t acf_last_mod
 
struct auth_deferred_status plugin_auth
 
struct auth_deferred_status script_auth
 

Detailed Description

Security parameter state of one TLS and data channel key session.

This structure represents one security parameter session between OpenVPN peers. It includes the control channel TLS state and the data channel crypto state. It also contains the reliability layer structures used for control channel messages.

A new key_state structure is initialized for each hard or soft reset.

See also

Definition at line 185 of file ssl_common.h.

Field Documentation

◆ acf_last_mod

time_t key_state::acf_last_mod

Definition at line 234 of file ssl_common.h.

◆ ack_write_buf

struct buffer key_state::ack_write_buf

Definition at line 213 of file ssl_common.h.

Referenced by key_state_free(), key_state_init(), and tls_process().

◆ auth_deferred_expire

time_t key_state::auth_deferred_expire

◆ authenticated

enum ks_auth_state key_state::authenticated

◆ crypto_options

struct crypto_options key_state::crypto_options

◆ established

time_t key_state::established

Definition at line 198 of file ssl_common.h.

Referenced by receive_auth_pending(), send_push_request(), and tls_process().

◆ initial

time_t key_state::initial

Definition at line 197 of file ssl_common.h.

Referenced by send_auth_pending_messages(), and tls_process().

◆ initial_opcode

int key_state::initial_opcode

Definition at line 203 of file ssl_common.h.

Referenced by key_state_init(), and tls_process().

◆ key_id

int key_state::key_id

◆ key_src

struct key_source2* key_state::key_src

◆ ks_ssl

struct key_state_ssl key_state::ks_ssl

◆ mda_key_id

unsigned int key_state::mda_key_id

Definition at line 231 of file ssl_common.h.

Referenced by key_state_init(), tls_authenticate_key(), and verify_user_pass_management().

◆ mda_status

unsigned int key_state::mda_status

Definition at line 232 of file ssl_common.h.

Referenced by man_def_auth_test(), and tls_authenticate_key().

◆ must_die

time_t key_state::must_die

Definition at line 200 of file ssl_common.h.

Referenced by key_state_soft_reset(), and lame_duck_must_die().

◆ must_negotiate

time_t key_state::must_negotiate

Definition at line 199 of file ssl_common.h.

Referenced by tls_process().

◆ n_bytes

counter_type key_state::n_bytes

Definition at line 221 of file ssl_common.h.

Referenced by handle_data_channel_packet(), tls_post_encrypt(), and tls_process().

◆ n_packets

counter_type key_state::n_packets

Definition at line 222 of file ssl_common.h.

Referenced by handle_data_channel_packet(), tls_post_encrypt(), and tls_process().

◆ paybuf

struct buffer_list* key_state::paybuf

Definition at line 219 of file ssl_common.h.

Referenced by flush_payload_buffer(), key_state_free(), and tls_send_payload().

◆ peer_last_packet

time_t key_state::peer_last_packet

Definition at line 201 of file ssl_common.h.

Referenced by send_push_request(), and tls_pre_decrypt().

◆ plaintext_read_buf

struct buffer key_state::plaintext_read_buf

◆ plaintext_write_buf

struct buffer key_state::plaintext_write_buf

Definition at line 212 of file ssl_common.h.

Referenced by key_state_free(), key_state_init(), and tls_process().

◆ plugin_auth

struct auth_deferred_status key_state::plugin_auth

◆ rec_ack

struct reliable_ack* key_state::rec_ack

◆ rec_reliable

struct reliable* key_state::rec_reliable

Definition at line 216 of file ssl_common.h.

Referenced by key_state_free(), key_state_init(), tls_pre_decrypt(), and tls_process().

◆ remote_addr

struct link_socket_actual key_state::remote_addr

◆ script_auth

struct auth_deferred_status key_state::script_auth

◆ send_reliable

struct reliable* key_state::send_reliable

Definition at line 215 of file ssl_common.h.

Referenced by key_state_free(), key_state_init(), tls_pre_decrypt(), and tls_process().

◆ session_id_remote

struct session_id key_state::session_id_remote

◆ state

int key_state::state

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