Tor 0.4.9.1-alpha-dev
|
#include <or_connection_st.h>
Data Fields | |
connection_t | base_ |
char | identity_digest [DIGEST_LEN] |
char * | ext_or_auth_correct_client_hash |
char * | ext_or_transport |
char * | nickname |
struct tor_tls_t * | tls |
int | tls_error |
channel_tls_t * | chan |
tor_addr_port_t | canonical_orport |
unsigned int | is_canonical:1 |
unsigned int | is_outgoing:1 |
unsigned int | proxy_type:3 |
unsigned int | wide_circ_ids:1 |
unsigned int | potentially_used_for_bootstrapping:1 |
unsigned int | have_noted_bootstrap_problem:1 |
unsigned int | tracked_for_dos_mitigation: 1 |
unsigned int | is_pt: 1 |
uint16_t | link_proto |
uint16_t | idle_timeout |
or_handshake_state_t * | handshake_state |
time_t | timestamp_lastempty |
token_bucket_rw_t | bucket |
uint64_t | bytes_xmitted |
uint64_t | bytes_xmitted_by_tls |
Subtype of connection_t for an "OR connection" – that is, one that speaks cells over TLS.
Definition at line 22 of file or_connection_st.h.
connection_t base_ |
Definition at line 23 of file or_connection_st.h.
token_bucket_rw_t bucket |
Used for rate limiting when the connection is in state CONN_OPEN.
Definition at line 101 of file or_connection_st.h.
Referenced by connection_or_update_token_buckets_helper().
uint64_t bytes_xmitted |
Definition at line 108 of file or_connection_st.h.
uint64_t bytes_xmitted_by_tls |
Definition at line 108 of file or_connection_st.h.
tor_addr_port_t canonical_orport |
The "canonical" address and port for this relay's ORPort, if this is a known relay.
An ORPort is "canonical" in this sense only if it is the same ORPort that is listed for this identity in the consensus we have.
This field may be set on outbound connections for any relay, and on inbound connections after authentication. If we don't know the relay's identity, or if we don't have the relay's identity in our consensus, we leave this address as UNSPEC.
Definition at line 62 of file or_connection_st.h.
channel_tls_t* chan |
When we last used this conn for any client traffic. If not recent, we can rate limit it further.
Definition at line 48 of file or_connection_st.h.
Referenced by channel_tls_handle_cell(), channel_tls_handle_state_change_on_orconn(), channel_tls_update_marks(), connection_or_about_to_close(), connection_or_change_state(), connection_or_check_canonicity(), connection_or_client_learned_peer_id(), connection_or_client_used(), connection_or_flushed_some(), connection_or_get_alleged_ed25519_id(), connection_or_get_num_circuits(), connection_or_is_bad_for_new_circs(), connection_or_notify_error(), connection_or_set_identity_digest(), and connection_tls_start_handshake().
char* ext_or_auth_correct_client_hash |
This is the ClientHash value we expect to receive from the client during the Extended ORPort authentication protocol. We compute it upon receiving the ClientNonce from the client, and we compare it with the actual ClientHash value sent by the client.
Definition at line 34 of file or_connection_st.h.
char* ext_or_transport |
String carrying the name of the pluggable transport (e.g. "obfs2") that is obfuscating this connection. If no pluggable transports are used, it's NULL.
Definition at line 38 of file or_connection_st.h.
or_handshake_state_t* handshake_state |
If we are setting this connection up, state information to do so.
Definition at line 96 of file or_connection_st.h.
Referenced by connection_init_or_handshake_state(), connection_or_nonopen_was_started_here(), connection_or_send_auth_challenge_cell(), connection_or_send_certs_cell(), connection_or_send_netinfo(), and connection_or_send_versions().
unsigned int have_noted_bootstrap_problem |
True iff this connection has had its bootstrap failure logged with control_event_bootstrap_problem.
Definition at line 82 of file or_connection_st.h.
Referenced by control_event_bootstrap_prob_or().
char identity_digest[DIGEST_LEN] |
Hash of the public RSA key for the other side's identity key, or zeroes if the other side hasn't shown us a valid identity key.
Definition at line 27 of file or_connection_st.h.
Referenced by connection_or_check_canonicity(), connection_or_clear_identity(), connection_or_client_learned_peer_id(), connection_or_update_token_buckets_helper(), and orconn_target_get_name().
uint16_t idle_timeout |
How long can this connection sit with no circuits on it before we close it? Based on IDLE_CIRCUIT_TIMEOUT_{NON,}CANONICAL and on is_canonical, randomized.
Definition at line 92 of file or_connection_st.h.
unsigned int is_canonical |
Should this connection be used for extending circuits to the server matching the identity_digest field? Set to true if we're pretty sure we aren't getting MITMed, either because we're connected to an address listed in a server descriptor, or because an authenticated NETINFO cell listed the address we're connected to as recognized.
Definition at line 69 of file or_connection_st.h.
Referenced by connection_or_group_set_badness_().
unsigned int is_outgoing |
True iff this is an outgoing connection.
Definition at line 72 of file or_connection_st.h.
unsigned int is_pt |
True iff this connection is using a pluggable transport
Definition at line 88 of file or_connection_st.h.
uint16_t link_proto |
What protocol version are we using? 0 for "none negotiated yet."
Definition at line 90 of file or_connection_st.h.
Referenced by connection_fetch_var_cell_from_buf().
char* nickname |
Nickname of OR on other side (if any).
Definition at line 40 of file or_connection_st.h.
unsigned int potentially_used_for_bootstrapping |
True iff a failure on this connection indicates a possible bootstrapping problem. We set this as true if we notice that this connection could handle a pending origin circuit, or if we launch it to handle an origin circuit.
Definition at line 79 of file or_connection_st.h.
Referenced by control_event_bootstrap_prob_or().
unsigned int proxy_type |
One of PROXY_NONE...PROXY_HAPROXY
Definition at line 73 of file or_connection_st.h.
Referenced by connection_or_finished_connecting(), and connection_or_finished_flushing().
time_t timestamp_lastempty |
When was the outbuf last completely empty?
Definition at line 99 of file or_connection_st.h.
struct tor_tls_t* tls |
TLS connection state.
Definition at line 42 of file or_connection_st.h.
Referenced by connection_or_block_renegotiation(), connection_or_get_state_description(), connection_or_nonopen_was_started_here(), connection_or_send_certs_cell(), and connection_tls_start_handshake().
int tls_error |
Last tor_tls error code.
Definition at line 43 of file or_connection_st.h.
unsigned int tracked_for_dos_mitigation |
True iff this is a client connection and its address has been put in the geoip cache and handled by the DoS mitigation subsystem. We use this to insure we have a coherent count of concurrent connection.
Definition at line 86 of file or_connection_st.h.
unsigned int wide_circ_ids |
Definition at line 74 of file or_connection_st.h.