tor  master
Data Fields
dir_connection_t Struct Reference

#include <or.h>

Collaboration diagram for dir_connection_t:
Collaboration graph
[legend]

Data Fields

connection_t base_
 
char * requested_resource
 
unsigned int dirconn_direct:1
 
uint8_t router_purpose
 
smartlist_tspool
 
tor_compress_state_tcompress_state
 
rend_data_trend_data
 
struct hs_ident_dir_conn_ths_ident
 
struct circuit_guard_state_t * guard_state
 
char identity_digest [DIGEST_LEN]
 
uint64_t dirreq_id
 

Detailed Description

Subtype of connection_t for an "directory connection" – that is, an HTTP connection to retrieve or serve directory material.

Field Documentation

◆ compress_state

tor_compress_state_t* compress_state

The compression object doing on-the-fly compression for spooled data.

◆ dirconn_direct

unsigned int dirconn_direct

Is this dirconn direct, or via Tor?

◆ dirreq_id

uint64_t dirreq_id

Unique ID for directory requests; this used to be in connection_t, but that's going away and being used on channels instead. The dirserver still needs this for the incoming side, so it's moved here.

◆ guard_state

struct circuit_guard_state_t* guard_state

If this is a one-hop connection, tracks the state of the directory guard for this connection (if any).

◆ identity_digest

char identity_digest[DIGEST_LEN]

Hash of the public RSA key for the directory server's signing key.

◆ rend_data

rend_data_t* rend_data

What rendezvous service are we querying for?

◆ requested_resource

char* requested_resource

Which 'resource' did we ask the directory for? This is typically the part of the URL string that defines, relative to the directory conn purpose, what thing we want. For example, in router descriptor downloads by descriptor digest, it contains "d/", then one or more +-separated fingerprints.

◆ router_purpose

uint8_t router_purpose

If we're fetching descriptors, what router purpose shall we assign to them?

◆ spool

smartlist_t* spool

List of spooled_resource_t for objects that we're spooling. We use it from back to front.


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