10 #define TOR_HS_CACHE_H
23 #define HS_CACHE_CLIENT_INTRO_STATE_MAX_AGE (2 * 60)
26 #define HS_CACHE_MAX_AGE (2*24*60*60)
29 #define HS_CACHE_MAX_SKEW (24*60*60)
31 #define HS_CACHE_FAILURE_MAX_AGE (5*60)
77 hs_cache_max_entry_lifetime(
void)
94 const char **desc_out);
110 rend_intro_point_failure_t failure);
119 size_t hs_cache_get_total_allocation(
void);
123 #ifdef HS_CACHE_PRIVATE
127 typedef struct hs_cache_client_descriptor_t {
134 time_t expiration_ts;
144 } hs_cache_client_descriptor_t;
148 STATIC hs_cache_client_descriptor_t *
Header for crypto_ed25519.c.
hs_desc_decode_status_t hs_cache_store_as_client(const char *desc_str, const ed25519_public_key_t *identity_pk)
void hs_cache_remove_as_client(const ed25519_public_key_t *key)
const char * hs_cache_lookup_encoded_as_client(const ed25519_public_key_t *key)
const hs_descriptor_t * hs_cache_lookup_as_client(const ed25519_public_key_t *key)
STATIC size_t cache_clean_v3_as_dir(time_t now, time_t global_cutoff)
STATIC hs_cache_client_descriptor_t * lookup_v3_desc_as_client(const uint8_t *key)
void hs_cache_client_intro_state_note(const ed25519_public_key_t *service_pk, const ed25519_public_key_t *auth_key, rend_intro_point_failure_t failure)
const hs_cache_intro_state_t * hs_cache_client_intro_state_find(const ed25519_public_key_t *service_pk, const ed25519_public_key_t *auth_key)
void hs_cache_client_intro_state_clean(time_t now)
void hs_cache_clean_as_client(time_t now)
size_t hs_cache_handle_oom(time_t now, size_t min_remove_bytes)
void hs_cache_client_intro_state_purge(void)
#define HS_CACHE_MAX_SKEW
void hs_cache_free_all(void)
int hs_cache_lookup_as_dir(uint32_t version, const char *query, const char **desc_out)
void hs_cache_decrement_allocation(size_t n)
int hs_cache_store_as_dir(const char *desc)
unsigned int hs_cache_get_max_descriptor_size(void)
void hs_cache_clean_as_dir(time_t now)
void hs_cache_purge_as_client(void)
void hs_cache_increment_allocation(size_t n)
Header file containing common data for the whole HS subsystem.
Header file for hs_descriptor.c.
Header file for rendcommon.c.
digest256map_t * intro_points
hs_desc_plaintext_data_t * plaintext_data
uint32_t unreachable_count