12#ifndef TOR_ROUTERPARSE_H
13#define TOR_ROUTERPARSE_H
24 int allow_annotations,
25 const char *prepend_annotations,
30 int allow_annotations,
31 const char *prepend_annotations,
32 int *can_dl_again_out);
33struct digest_ri_map_t;
35 int cache_copy,
struct digest_ri_map_t *routermap,
36 int *can_dl_again_out);
45#ifdef ROUTERDESC_TOKEN_TABLE_PRIVATE
50#define ED_DESC_SIGNATURE_PREFIX "Tor router descriptor signature v1"
52#ifdef ROUTERPARSE_PRIVATE
54 size_t cert_body_size,
57 time_t *family_expiration_out);
Header file for parsecommon.c.
STATIC int check_one_family_cert(const uint8_t *cert_body, size_t cert_body_size, const ed25519_public_key_t *identity_key, char **family_id_out, time_t *family_expiration_out)
const token_rule_t routerdesc_token_table[]
routerinfo_t * router_parse_entry_from_string(const char *s, const char *end, int cache_copy, int allow_annotations, const char *prepend_annotations, int *can_dl_again_out)
int router_get_extrainfo_hash(const char *s, size_t s_len, char *digest)
extrainfo_t * extrainfo_parse_entry_from_string(const char *s, const char *end, int cache_copy, struct digest_ri_map_t *routermap, int *can_dl_again_out)
int router_get_router_hash(const char *s, size_t s_len, char *digest)
void routerparse_free_all(void)
void routerparse_init(void)
int find_single_ipv6_orport(const smartlist_t *list, tor_addr_t *addr_out, uint16_t *port_out)
int router_parse_list_from_string(const char **s, const char *eos, smartlist_t *dest, saved_location_t saved_location, int is_extrainfo, int allow_annotations, const char *prepend_annotations, smartlist_t *invalid_digests_out)
Macros to implement mocking and selective exposure for the test code.