30 const char *base64_blinded_pk,
34 const uint8_t *hsdir_index;
49 hsdir_index = hsdir_node->hsdir_index.
fetch;
55 hex_str((
const char *) hsdir_index,
57 memwipe(onion_address, 0,
sizeof(onion_address));
66 const char *hsdir_id_digest,
81 hsdir_id_digest, reason);
90 const char *hsdir_id_digest)
102 control_event_hsv3_descriptor_received(onion_address, base64_blinded_pk,
134 const char *hsdir_id_digest,
136 const uint8_t *hsdir_index)
150 hex_str((
const char *) hsdir_index,
160 const char *hsdir_id_digest)
179 const char *hsdir_id_digest,
193 hsdir_id_digest, body);
228 if (hsdirs_rs == NULL) {
242 } SMARTLIST_FOREACH_END(rs);
247 smartlist_free(hsdirs);
const char * hex_str(const char *from, size_t fromlen)
void control_event_hs_descriptor_content(const char *onion_address, const char *desc_id, const char *hsdir_id_digest, const char *content)
void control_event_hs_descriptor_requested(const char *onion_address, rend_auth_type_t auth_type, const char *id_digest, const char *desc_id, const char *hsdir_index)
void control_event_hs_descriptor_upload(const char *onion_address, const char *id_digest, const char *desc_id, const char *hsdir_index)
void control_event_hs_descriptor_uploaded(const char *id_digest, const char *onion_address)
void control_event_hsv3_descriptor_failed(const char *onion_address, const char *desc_id, const char *hsdir_id_digest, const char *reason)
void control_event_hs_descriptor_created(const char *onion_address, const char *desc_id, int replica)
Header file for control_events.c.
void memwipe(void *mem, uint8_t byte, size_t sz)
Common functions for cryptographic routines.
void hs_client_launch_v3_desc_fetch(const ed25519_public_key_t *onion_identity_pk, const smartlist_t *hsdirs)
Header file containing client data for the HS subsystem.
void hs_get_responsible_hsdirs(const ed25519_public_key_t *blinded_pk, uint64_t time_period_num, int use_second_hsdir_index, int for_fetching, smartlist_t *responsible_dirs)
uint64_t hs_get_time_period_num(time_t now)
void hs_build_address(const ed25519_public_key_t *key, uint8_t version, char *addr_out)
int hs_parse_address(const char *address, ed25519_public_key_t *key_out, uint8_t *checksum_out, uint8_t *version_out)
Header file containing common data for the whole HS subsystem.
#define HS_SERVICE_ADDR_LEN_BASE32
void hs_control_desc_event_created(const char *onion_address, const ed25519_public_key_t *blinded_pk)
void hs_control_desc_event_upload(const char *onion_address, const char *hsdir_id_digest, const ed25519_public_key_t *blinded_pk, const uint8_t *hsdir_index)
int hs_control_hspost_command(const char *body, const char *onion_address, const smartlist_t *hsdirs_rs)
void hs_control_desc_event_uploaded(const hs_ident_dir_conn_t *ident, const char *hsdir_id_digest)
void hs_control_desc_event_requested(const ed25519_public_key_t *onion_pk, const char *base64_blinded_pk, const routerstatus_t *hsdir_rs)
void hs_control_hsfetch_command(const ed25519_public_key_t *onion_identity_pk, const smartlist_t *hsdirs)
void hs_control_desc_event_received(const hs_ident_dir_conn_t *ident, const char *hsdir_id_digest)
void hs_control_desc_event_failed(const hs_ident_dir_conn_t *ident, const char *hsdir_id_digest, const char *reason)
void hs_control_desc_event_content(const hs_ident_dir_conn_t *ident, const char *hsdir_id_digest, const char *body)
Header file containing control port event related code.
hs_desc_decode_status_t hs_desc_decode_plaintext(const char *encoded, hs_desc_plaintext_data_t *plaintext)
Header file for hs_descriptor.c.
void hs_service_upload_desc_to_dir(const char *encoded_desc, const uint8_t version, const ed25519_public_key_t *identity_pk, const ed25519_public_key_t *blinded_pk, const routerstatus_t *hsdir_rs)
Header file containing service data for the HS subsystem.
Node information structure.
const node_t * node_get_by_id(const char *identity_digest)
Header file for nodelist.c.
Master header file for Tor-specific functionality.
Routerstatus (consensus entry) structure.
smartlist_t * smartlist_new(void)
#define SMARTLIST_FOREACH_BEGIN(sl, type, var)
ed25519_public_key_t blinded_pubkey
ed25519_public_key_t blinded_pk
ed25519_public_key_t identity_pk
uint8_t fetch[DIGEST256_LEN]
char identity_digest[DIGEST_LEN]
#define ED25519_BASE64_LEN