iPXE
tls_connection Struct Reference

A TLS connection. More...

#include <tls.h>

Data Fields

struct refcnt refcnt
 Reference counter.
struct tls_sessionsession
 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_session_ticket new_ticket
 New session ticket (if any).
struct interface plainstream
 Plaintext stream.
struct interface cipherstream
 Ciphertext stream.
uint16_t version
 Protocol version.
struct exchange_algorithmexchange
 Key exchange algorithm.
int secure_renegotiation
 Secure renegotiation flag.
int extended_master_secret
 Extended master secret flag.
struct tls_verify_data verify
 Verification data.
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 445 of file tls.h.

Field Documentation

◆ refcnt

struct refcnt tls_connection::refcnt

Reference counter.

Definition at line 447 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 452 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 454 of file tls.h.

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

◆ new_ticket

struct tls_session_ticket tls_connection::new_ticket

New session ticket (if any).

Definition at line 456 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 459 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 461 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

uint16_t tls_connection::version

Protocol version.

Definition at line 464 of file tls.h.

Referenced by add_tls(), tls_new_server_hello(), tls_send_record(), and tls_version().

◆ exchange

struct exchange_algorithm* tls_connection::exchange

Key exchange algorithm.

Definition at line 466 of file tls.h.

Referenced by add_tls(), tls_channel_apply(), tls_new_server_key_exchange(), tls_select_cipher(), and tls_send_client_key_exchange().

◆ secure_renegotiation

int tls_connection::secure_renegotiation

Secure renegotiation flag.

Definition at line 468 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 470 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 472 of file tls.h.

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

◆ channel

◆ key

◆ tx

◆ rx

◆ client

◆ server


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