Data Fields
signed_descriptor_t Struct Reference

#include <signed_descriptor_st.h>

Data Fields

char * signed_descriptor_body
size_t annotations_len
size_t signed_descriptor_len
char signed_descriptor_digest [DIGEST_LEN]
char identity_digest [DIGEST_LEN]
time_t published_on
char extra_info_digest [DIGEST_LEN]
char extra_info_digest256 [DIGEST256_LEN]
struct tor_cert_stsigning_key_cert
download_status_t ei_dl_status
saved_location_t saved_location
off_t saved_offset
int routerlist_index
time_t last_listed_as_valid_until
unsigned int do_not_cache: 1
unsigned int is_extrainfo: 1
unsigned int extrainfo_is_bogus: 1
unsigned int send_unencrypted: 1

Detailed Description

Information need to cache an onion router's descriptor.

Definition at line 13 of file signed_descriptor_st.h.

Field Documentation

◆ annotations_len

size_t signed_descriptor_t::annotations_len

Length of the annotations preceding the server descriptor.

Definition at line 19 of file signed_descriptor_st.h.

Referenced by dirserv_add_descriptor(), routerlist_reparse_old(), and signed_descriptor_get_body_impl().

◆ ei_dl_status

download_status_t signed_descriptor_t::ei_dl_status

For routerdescs only: Status of downloading the corresponding extrainfo.

Definition at line 37 of file signed_descriptor_st.h.

◆ extra_info_digest

char signed_descriptor_t::extra_info_digest[DIGEST_LEN]

For routerdescs only: digest of the corresponding extrainfo.

Definition at line 30 of file signed_descriptor_st.h.

Referenced by get_signed_descriptor_by_fp(), and routerinfo_incompatible_with_extrainfo().

◆ extra_info_digest256

char signed_descriptor_t::extra_info_digest256[DIGEST256_LEN]

For routerdescs only: A SHA256-digest of the extrainfo (if any)

Definition at line 32 of file signed_descriptor_st.h.

Referenced by routerinfo_incompatible_with_extrainfo().

◆ identity_digest

char signed_descriptor_t::identity_digest[DIGEST_LEN]

◆ last_listed_as_valid_until

time_t signed_descriptor_t::last_listed_as_valid_until

The valid-until time of the most recent consensus that listed this descriptor. 0 for "never listed in a consensus, so far as we know."

Definition at line 48 of file signed_descriptor_st.h.

◆ published_on

time_t signed_descriptor_t::published_on

◆ routerlist_index

int signed_descriptor_t::routerlist_index

What position is this descriptor within routerlist->routers or routerlist->old_routers? -1 for none.

Definition at line 45 of file signed_descriptor_st.h.

Referenced by routerlist_insert(), routerlist_insert_old(), routerlist_remove(), routerlist_remove_old(), routerlist_replace(), and signed_descriptor_move().

◆ saved_location

saved_location_t signed_descriptor_t::saved_location

Where is the descriptor saved?

Definition at line 39 of file signed_descriptor_st.h.

Referenced by router_get_my_descriptor(), and signed_descriptor_get_body_impl().

◆ saved_offset

off_t signed_descriptor_t::saved_offset

If saved_location is SAVED_IN_CACHE or SAVED_IN_JOURNAL, the offset of this descriptor in the corresponding file.

Definition at line 42 of file signed_descriptor_st.h.

Referenced by signed_descriptor_get_body_impl().

◆ signed_descriptor_body

char* signed_descriptor_t::signed_descriptor_body

Pointer to the raw server descriptor, preceded by annotations. Not necessarily NUL-terminated. If saved_location is SAVED_IN_CACHE, this pointer is null.

Definition at line 17 of file signed_descriptor_st.h.

Referenced by authority_cert_free_(), extrainfo_free_(), routerinfo_free_(), signed_descriptor_free_(), signed_descriptor_move(), and signed_descriptor_reset().

◆ signed_descriptor_digest

char signed_descriptor_t::signed_descriptor_digest[DIGEST_LEN]

Digest of the server descriptor, computed as specified in dir-spec.txt.

Definition at line 24 of file signed_descriptor_st.h.

Referenced by router_extrainfo_digest_is_me(), routerinfo_incompatible_with_extrainfo(), routerlist_insert(), and routers_make_ed_keys_unique().

◆ signed_descriptor_len

size_t signed_descriptor_t::signed_descriptor_len

◆ signing_key_cert

struct tor_cert_st* signed_descriptor_t::signing_key_cert

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