iPXE
tls_connection Struct Reference

A TLS connection. More...

#include <tls.h>

Data Fields

struct refcnt refcnt
 Reference counter.
struct tls_session * session
 Session.
struct list_head list
 List of connections within the same session.
struct tls_session_id new_id
 New session ID (if any).
struct tls_cursor new_ticket
 New session ticket (if any).
struct interface plainstream
 Plaintext stream.
struct interface cipherstream
 Ciphertext stream.
uint16_t version
 Protocol version.
uint16_t legacy_version
 Legacy protocol version.
struct tls_cipher_suite * suite
 Cipher suite.
struct tls_named_group * group
 Key exchange named group.
int secure_renegotiation
 Secure renegotiation flag.
int extended_master_secret
 Extended master secret flag.
struct tls_verify_data verify
 Verification data.
struct tls_cursor cookie
 Cookie.
struct secure_channel channel
 Secure channel.
struct tls_key_schedule key
 Key schedule.
struct tls_tx tx
 Transmit state.
struct tls_rx rx
 Receive state.
struct tls_client client
 Client state.
struct tls_server server
 Server state.

Detailed Description

A TLS connection.

Definition at line 478 of file tls.h.

Field Documentation

◆ refcnt

struct refcnt tls_connection::refcnt

Reference counter.

Definition at line 480 of file tls.h.

Referenced by add_tls().

◆ session

◆ list

struct list_head tls_connection::list

List of connections within the same session.

Definition at line 485 of file tls.h.

Referenced by add_tls(), free_tls(), tls_close(), tls_establish(), tls_tx_resume_all(), and tls_tx_step().

◆ new_id

struct tls_session_id tls_connection::new_id

New session ID (if any).

Definition at line 487 of file tls.h.

Referenced by tls_establish(), tls_new_server_hello(), and tls_save().

◆ new_ticket

struct tls_cursor tls_connection::new_ticket

New session ticket (if any).

Definition at line 489 of file tls.h.

Referenced by free_tls(), tls_establish(), tls_new_session_ticket(), and tls_save().

◆ plainstream

struct interface tls_connection::plainstream

Plaintext stream.

Definition at line 492 of file tls.h.

Referenced by add_tls(), tls_cipherstream_window(), tls_close(), tls_establish(), tls_new_data(), and tls_tx_step().

◆ cipherstream

struct interface tls_connection::cipherstream

Ciphertext stream.

Definition at line 494 of file tls.h.

Referenced by add_tls(), tls_alloc_iob(), tls_close(), tls_plainstream_window(), tls_progress(), tls_send_record(), and tls_tx_step().

◆ version

◆ legacy_version

uint16_t tls_connection::legacy_version

Legacy protocol version.

Definition at line 499 of file tls.h.

Referenced by add_tls(), tls_select_cipher(), and tls_send_record().

◆ suite

◆ group

struct tls_named_group* tls_connection::group

◆ secure_renegotiation

int tls_connection::secure_renegotiation

Secure renegotiation flag.

Definition at line 505 of file tls.h.

Referenced by tls_client_hello(), tls_new_hello_request(), and tls_new_server_hello().

◆ extended_master_secret

int tls_connection::extended_master_secret

Extended master secret flag.

Definition at line 507 of file tls.h.

Referenced by tls_channel_load(), tls_new_hello_request(), tls_new_server_hello(), and tls_send_client_key_exchange().

◆ verify

struct tls_verify_data tls_connection::verify

Verification data.

Definition at line 509 of file tls.h.

Referenced by free_tls(), tls_channel_verify(), tls_client_hello(), tls_new_server_hello(), tls_send_finished(), and tls_set_verify_len().

◆ cookie

struct tls_cursor tls_connection::cookie

Cookie.

Definition at line 511 of file tls.h.

Referenced by free_tls(), tls_client_hello(), and tls_new_server_hello().

◆ channel

◆ key

◆ tx

◆ rx

◆ client

◆ server


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