tls_session Struct Reference

A TLS session. More...

#include <tls.h>


Data Fields

struct refcnt refcnt
 Reference counter.
struct xfer_filter_half plainstream
 Plaintext stream.
struct xfer_filter_half cipherstream
 Ciphertext stream.
struct tls_cipherspec tx_cipherspec
 Current TX cipher specification.
struct tls_cipherspec tx_cipherspec_pending
 Next TX cipher specification.
struct tls_cipherspec rx_cipherspec
 Current RX cipher specification.
struct tls_cipherspec rx_cipherspec_pending
 Next RX cipher specification.
struct tls_pre_master_secret pre_master_secret
 Premaster secret.
uint8_t master_secret [48]
 Master secret.
uint8_t server_random [32]
 Server random bytes.
struct tls_client_random client_random
 Client random bytes.
uint8_t handshake_md5_ctx [MD5_CTX_SIZE]
 MD5 context for handshake verification.
uint8_t handshake_sha1_ctx [SHA1_CTX_SIZE]
 SHA1 context for handshake verification.
struct x509_rsa_public_key rsa
 Hack: server RSA public key.
uint64_t tx_seq
 TX sequence number.
enum tls_tx_state tx_state
 TX state.
struct process process
 TX process.
uint64_t rx_seq
 RX sequence number.
enum tls_rx_state rx_state
 RX state.
size_t rx_rcvd
 Offset within current RX state.
struct tls_header rx_header
 Current received record header.
void * rx_data
 Current received raw data buffer.


Detailed Description

A TLS session.

Definition at line 132 of file tls.h.


Field Documentation

struct refcnt tls_session::refcnt [read]

Reference counter.

Definition at line 134 of file tls.h.

Referenced by add_tls().

Ciphertext stream.

Definition at line 139 of file tls.h.

Referenced by add_tls(), tls_cipherstream_close(), tls_cipherstream_deliver_raw(), tls_close(), tls_send_plaintext(), and tls_step().

Current TX cipher specification.

Definition at line 142 of file tls.h.

Referenced by add_tls(), free_tls(), tls_assemble_block(), tls_assemble_stream(), tls_send_plaintext(), and tls_step().

Next TX cipher specification.

Definition at line 144 of file tls.h.

Referenced by add_tls(), free_tls(), tls_generate_keys(), tls_select_cipher(), and tls_step().

Current RX cipher specification.

Definition at line 146 of file tls.h.

Referenced by add_tls(), free_tls(), tls_new_change_cipher(), tls_new_ciphertext(), tls_split_block(), and tls_split_stream().

Next RX cipher specification.

Definition at line 148 of file tls.h.

Referenced by add_tls(), free_tls(), tls_generate_keys(), tls_new_change_cipher(), and tls_select_cipher().

Premaster secret.

Definition at line 150 of file tls.h.

Referenced by add_tls(), tls_generate_master_secret(), and tls_send_client_key_exchange().

Master secret.

Definition at line 152 of file tls.h.

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

Server random bytes.

Definition at line 154 of file tls.h.

Referenced by tls_generate_keys(), tls_generate_master_secret(), and tls_new_server_hello().

Client random bytes.

Definition at line 156 of file tls.h.

Referenced by add_tls(), tls_generate_keys(), tls_generate_master_secret(), and tls_send_client_hello().

MD5 context for handshake verification.

Definition at line 158 of file tls.h.

Referenced by add_tls(), tls_add_handshake(), and tls_verify_handshake().

SHA1 context for handshake verification.

Definition at line 160 of file tls.h.

Referenced by add_tls(), tls_add_handshake(), and tls_verify_handshake().

Hack: server RSA public key.

Definition at line 163 of file tls.h.

Referenced by free_tls(), tls_new_certificate(), and tls_send_client_key_exchange().

TX sequence number.

Definition at line 166 of file tls.h.

Referenced by tls_send_plaintext(), and tls_step().

TX process.

Definition at line 170 of file tls.h.

Referenced by add_tls(), and tls_close().

RX sequence number.

Definition at line 173 of file tls.h.

Referenced by tls_new_change_cipher(), tls_new_ciphertext(), and tls_newdata_process_data().

RX state.

Definition at line 175 of file tls.h.

Referenced by tls_cipherstream_deliver_raw(), tls_newdata_process_data(), and tls_newdata_process_header().

Offset within current RX state.

Definition at line 177 of file tls.h.

Referenced by tls_cipherstream_deliver_raw().

Current received record header.

Definition at line 179 of file tls.h.

Referenced by tls_cipherstream_deliver_raw(), tls_newdata_process_data(), and tls_newdata_process_header().

Current received raw data buffer.

Definition at line 181 of file tls.h.

Referenced by free_tls(), tls_cipherstream_deliver_raw(), tls_newdata_process_data(), and tls_newdata_process_header().


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

Generated on Tue Apr 6 20:02:10 2010 for gPXE by  doxygen 1.5.7.1