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.
uint8_t session_id [32]
 Session ID.
size_t session_id_len
 Length of session ID.
void * new_session_ticket
 New session ticket.
size_t new_session_ticket_len
 Length of new session ticket.
struct interface plainstream
 Plaintext stream.
struct interface cipherstream
 Ciphertext stream.
uint16_t version
 Protocol version.
uint8_t master_secret [48]
 Master secret.
struct digest_algorithmhandshake_digest
 Digest algorithm used for handshake verification.
uint8_thandshake_ctx
 Digest algorithm context used for handshake verification.
int secure_renegotiation
 Secure renegotiation flag.
int extended_master_secret
 Extended master secret flag.
struct tls_verify_data verify
 Verification data.
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 436 of file tls.h.

Field Documentation

◆ refcnt

struct refcnt tls_connection::refcnt

Reference counter.

Definition at line 438 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 443 of file tls.h.

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

◆ session_id

uint8_t tls_connection::session_id[32]

Session ID.

Definition at line 445 of file tls.h.

Referenced by tls_client_hello(), tls_new_finished(), tls_new_server_hello(), and tls_tx_step().

◆ session_id_len

size_t tls_connection::session_id_len

Length of session ID.

Definition at line 447 of file tls.h.

Referenced by tls_client_hello(), tls_new_finished(), tls_new_server_hello(), and tls_tx_step().

◆ new_session_ticket

void* tls_connection::new_session_ticket

New session ticket.

Definition at line 449 of file tls.h.

Referenced by free_tls(), tls_new_finished(), and tls_new_session_ticket().

◆ new_session_ticket_len

size_t tls_connection::new_session_ticket_len

Length of new session ticket.

Definition at line 451 of file tls.h.

Referenced by tls_new_finished(), and tls_new_session_ticket().

◆ plainstream

struct interface tls_connection::plainstream

Plaintext stream.

Definition at line 454 of file tls.h.

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

◆ cipherstream

struct interface tls_connection::cipherstream

Ciphertext stream.

Definition at line 456 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 459 of file tls.h.

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

◆ master_secret

uint8_t tls_connection::master_secret[48]

Master secret.

Definition at line 461 of file tls.h.

Referenced by tls_generate_keys(), tls_generate_master_secret(), tls_new_finished(), tls_send_finished(), and tls_tx_step().

◆ handshake_digest

struct digest_algorithm* tls_connection::handshake_digest

◆ handshake_ctx

uint8_t* tls_connection::handshake_ctx

Digest algorithm context used for handshake verification.

Definition at line 465 of file tls.h.

Referenced by free_tls(), tls_add_handshake(), tls_clear_handshake(), tls_select_handshake(), and tls_verify_handshake().

◆ secure_renegotiation

int tls_connection::secure_renegotiation

Secure renegotiation flag.

Definition at line 467 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 469 of file tls.h.

Referenced by tls_generate_master_secret(), tls_new_finished(), tls_new_hello_request(), and tls_new_server_hello().

◆ verify

struct tls_verify_data tls_connection::verify

Verification data.

Definition at line 471 of file tls.h.

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

◆ tx

◆ rx

◆ client

◆ server


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