iPXE
Data Fields
tls_connection Struct Reference

A TLS connection. More...

#include <tls.h>

Data Fields

struct refcnt refcnt
 Reference counter. More...
 
struct tls_sessionsession
 Session. More...
 
struct list_head list
 List of connections within the same session. More...
 
uint8_t session_id [32]
 Session ID. More...
 
size_t session_id_len
 Length of session ID. More...
 
void * new_session_ticket
 New session ticket. More...
 
size_t new_session_ticket_len
 Length of new session ticket. More...
 
struct interface plainstream
 Plaintext stream. More...
 
struct interface cipherstream
 Ciphertext stream. More...
 
uint16_t version
 Protocol version. More...
 
uint8_t master_secret [48]
 Master secret. More...
 
struct digest_algorithmhandshake_digest
 Digest algorithm used for handshake verification. More...
 
uint8_thandshake_ctx
 Digest algorithm context used for handshake verification. More...
 
int secure_renegotiation
 Secure renegotiation flag. More...
 
struct tls_verify_data verify
 Verification data. More...
 
struct tls_tx tx
 Transmit state. More...
 
struct tls_rx rx
 Receive state. More...
 
struct tls_client client
 Client state. More...
 
struct tls_server server
 Server state. More...
 

Detailed Description

A TLS connection.

Definition at line 414 of file tls.h.

Field Documentation

◆ refcnt

struct refcnt tls_connection::refcnt

Reference counter.

Definition at line 416 of file tls.h.

Referenced by add_tls().

◆ session

struct tls_session* tls_connection::session

◆ list

struct list_head tls_connection::list

List of connections within the same session.

Definition at line 421 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 423 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 425 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 427 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 429 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 432 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 434 of file tls.h.

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

◆ version

uint16_t tls_connection::version

Protocol version.

Definition at line 437 of file tls.h.

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

◆ master_secret

uint8_t tls_connection::master_secret[48]

Master secret.

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

Digest algorithm used for handshake verification.

Definition at line 441 of file tls.h.

Referenced by tls_add_handshake(), tls_clear_handshake(), tls_new_finished(), tls_prf(), tls_select_handshake(), tls_send_certificate_verify(), tls_send_finished(), and tls_verify_handshake().

◆ handshake_ctx

uint8_t* tls_connection::handshake_ctx

Digest algorithm context used for handshake verification.

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

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

◆ verify

struct tls_verify_data tls_connection::verify

Verification data.

Definition at line 447 of file tls.h.

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

◆ tx

struct tls_tx tls_connection::tx

◆ rx

struct tls_rx tls_connection::rx

◆ client

struct tls_client tls_connection::client

◆ server

struct tls_server tls_connection::server

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