Data Fields | |
directory_keyword | tp |
int | n_args:30 |
char ** | args |
char * | object_type |
size_t | object_size |
char * | object_body |
crypto_pk_env_t * | key |
char * | error |
We parse a directory by breaking it into "tokens", each consisting of a keyword, a line full of arguments, and a binary object. The arguments and object are both optional, depending on the keyword type.
This structure is only allocated in memareas; do not allocate it on the heap, or token_clear() won't work.
Type of the token.
Referenced by authority_cert_parse_from_string(), extrainfo_parse_entry_from_string(), find_dir_signing_key(), get_next_token(), networkstatus_parse_detached_signatures(), networkstatus_parse_vote_from_string(), router_add_exit_policy(), router_parse_addr_policy(), router_parse_addr_policy_item_from_string(), router_parse_addr_policy_private(), router_parse_directory(), router_parse_runningrouters(), and tokenize_string().
Number of elements in args
Referenced by authority_cert_parse_from_string(), extrainfo_parse_entry_from_string(), get_next_token(), get_token_arguments(), microdescs_parse_from_string(), networkstatus_parse_detached_signatures(), networkstatus_parse_vote_from_string(), rend_parse_client_keys(), rend_parse_v2_service_descriptor(), router_parse_addr_policy(), router_parse_directory(), router_parse_entry_from_string(), router_parse_runningrouters(), and routerstatus_parse_entry_from_string().
char** directory_token_t::args |
Array of arguments from keyword line.
Referenced by authority_cert_parse_from_string(), extrainfo_parse_entry_from_string(), get_next_token(), get_token_arguments(), microdescs_parse_from_string(), networkstatus_parse_detached_signatures(), networkstatus_parse_vote_from_string(), rend_parse_client_keys(), rend_parse_introduction_points(), rend_parse_v2_service_descriptor(), router_parse_addr_policy(), router_parse_addr_policy_private(), router_parse_directory(), router_parse_entry_from_string(), router_parse_runningrouters(), and routerstatus_parse_entry_from_string().
-----BEGIN [object_type]-----
Referenced by check_signature_token(), extrainfo_parse_entry_from_string(), get_next_token(), networkstatus_parse_detached_signatures(), networkstatus_parse_vote_from_string(), and rend_parse_v2_service_descriptor().
Bytes in object_body
Referenced by check_signature_token(), extrainfo_parse_entry_from_string(), get_next_token(), networkstatus_parse_detached_signatures(), networkstatus_parse_vote_from_string(), and rend_parse_v2_service_descriptor().
Contents of object, base64-decoded.
Referenced by check_signature_token(), extrainfo_parse_entry_from_string(), get_next_token(), networkstatus_parse_detached_signatures(), networkstatus_parse_vote_from_string(), rend_parse_v2_service_descriptor(), and token_check_object().
For public keys only. Heap-allocated.
Referenced by authority_cert_parse_from_string(), find_dir_signing_key(), get_next_token(), microdescs_parse_from_string(), rend_parse_client_keys(), rend_parse_introduction_points(), rend_parse_v2_service_descriptor(), router_parse_entry_from_string(), token_check_object(), and token_clear().
char* directory_token_t::error |
For _ERR tokens only.
Referenced by router_parse_addr_policy_item_from_string(), and tokenize_string().