Tor
0.4.7.0-alpha-dev
|
#include <or_handshake_state_st.h>
Data Fields | |
time_t | sent_versions_at |
unsigned int | started_here: 1 |
unsigned int | received_versions: 1 |
unsigned int | received_auth_challenge: 1 |
unsigned int | received_certs_cell: 1 |
unsigned int | received_authenticate: 1 |
unsigned int | authenticated: 1 |
unsigned int | authenticated_rsa: 1 |
unsigned int | authenticated_ed25519: 1 |
unsigned int | sent_netinfo: 1 |
struct tor_cert_st * | own_link_cert |
uint8_t | authenticated_rsa_peer_id [DIGEST_LEN] |
ed25519_public_key_t | authenticated_ed25519_peer_id |
or_handshake_certs_t * | certs |
unsigned int | digest_sent_data: 1 |
unsigned int | digest_received_data: 1 |
crypto_digest_t * | digest_sent |
crypto_digest_t * | digest_received |
Stores flags and information related to the portion of a v2/v3 Tor OR connection handshake that happens after the TLS handshake is finished.
Definition at line 18 of file or_handshake_state_st.h.
ed25519_public_key_t authenticated_ed25519_peer_id |
Identity Ed25519 public key that we have received and authenticated for our peer on this connection.
Definition at line 65 of file or_handshake_state_st.h.
uint8_t authenticated_rsa_peer_id[DIGEST_LEN] |
Identity RSA digest that we have received and authenticated for our peer on this connection.
Definition at line 62 of file or_handshake_state_st.h.
or_handshake_certs_t* certs |
Certificates that a connection initiator sent us in a CERTS cell; we're holding on to them until we get an AUTHENTICATE cell.
Definition at line 79 of file or_handshake_state_st.h.
Referenced by connection_or_compute_authenticate_cell_body().
crypto_digest_t* digest_sent |
Digests of the cells that we have sent or received as part of a V3 handshake. Used for making and checking AUTHENTICATE cells.
Definition at line 72 of file or_handshake_state_st.h.
Referenced by or_handshake_state_free_(), and or_handshake_state_record_var_cell().
unsigned int digest_sent_data |
True iff we should feed outgoing cells into digest_sent and digest_received respectively.
From the server's side of the v3 handshake, we want to capture everything from the VERSIONS cell through and including the AUTH_CHALLENGE cell. From the client's, we want to capture everything from the VERSIONS cell through but not including the AUTHENTICATE cell.
Definition at line 56 of file or_handshake_state_st.h.
Referenced by or_handshake_state_record_var_cell().
struct tor_cert_st* own_link_cert |
The signing->ed25519 link certificate corresponding to the x509 certificate we used on the TLS connection (if this is a server-side connection). We make a copy of this here to prevent a race condition caused by TLS context rotation.
Definition at line 45 of file or_handshake_state_st.h.
unsigned int received_auth_challenge |
True iff we have received and processed an AUTH_CHALLENGE cell
Definition at line 27 of file or_handshake_state_st.h.
unsigned int received_authenticate |
True iff we have received and processed an AUTHENTICATE cell
Definition at line 31 of file or_handshake_state_st.h.
unsigned int received_certs_cell |
True iff we have received and processed a CERTS cell.
Definition at line 29 of file or_handshake_state_st.h.
unsigned int received_versions |
True iff we have received and processed a VERSIONS cell.
Definition at line 25 of file or_handshake_state_st.h.
time_t sent_versions_at |
When was the VERSIONS cell sent on this connection? Used to get an estimate of the skew in the returning NETINFO reply.
Definition at line 21 of file or_handshake_state_st.h.
Referenced by connection_or_send_versions().
unsigned int started_here |
True iff we originated this connection
Definition at line 23 of file or_handshake_state_st.h.
Referenced by connection_or_nonopen_was_started_here(), and connection_or_send_certs_cell().