tor
master
|
#include <or.h>
Public Member Functions | |
HT_ENTRY (microdesc_t) node | |
Data Fields | |
time_t | last_listed |
saved_location_bitfield_t | saved_location: 3 |
unsigned int | no_save: 1 |
unsigned int | held_in_map: 1 |
unsigned int | held_by_nodes |
off_t | off |
char * | body |
size_t | bodylen |
char | digest [DIGEST256_LEN] |
crypto_pk_t * | onion_pkey |
curve25519_public_key_t * | onion_curve25519_pkey |
ed25519_public_key_t * | ed25519_identity_pkey |
tor_addr_t | ipv6_addr |
uint16_t | ipv6_orport |
smartlist_t * | family |
short_policy_t * | exit_policy |
short_policy_t * | ipv6_exit_policy |
A microdescriptor is the smallest amount of information needed to build a circuit through a router. They are generated by the directory authorities, using information from the uploaded routerinfo documents. They are not self-signed, but are rather authenticated by having their hash in a signed networkstatus document.
HT_ENTRY | ( | microdesc_t | ) |
Hashtable node, used to look up the microdesc by its digest.
char* body |
A pointer to the encoded body of the microdescriptor. If the saved_location is SAVED_IN_CACHE, then the body is a pointer into an mmap'd region. Otherwise, it is a malloc'd string. The string might not be NUL-terminated; take the length from bodylen.
size_t bodylen |
The length of the microdescriptor in body.
char digest[DIGEST256_LEN] |
A SHA256-digest of the microdescriptor.
ed25519_public_key_t* ed25519_identity_pkey |
Ed25519 identity key, if included.
short_policy_t* exit_policy |
IPv4 exit policy summary
smartlist_t* family |
As routerinfo_t.family
unsigned int held_by_nodes |
Reference count: how many node_ts have a reference to this microdesc?
unsigned int held_in_map |
If true, this microdesc has an entry in the microdesc_map
tor_addr_t ipv6_addr |
short_policy_t* ipv6_exit_policy |
IPv6 exit policy summary
uint16_t ipv6_orport |
As routerinfo_t.ipv6_orport
time_t last_listed |
When was this microdescriptor last listed in a consensus document? Once a microdesc has been unlisted long enough, we can drop it.
unsigned int no_save |
If true, do not attempt to cache this microdescriptor on disk.
off_t off |
If saved_location == SAVED_IN_CACHE, this field holds the offset of the microdescriptor in the cache.
curve25519_public_key_t* onion_curve25519_pkey |
crypto_pk_t* onion_pkey |
saved_location_bitfield_t saved_location |
Where is this microdescriptor currently stored?