24#define HS_CACHE_CLIENT_INTRO_STATE_MAX_AGE (2 * 60)
27#define HS_CACHE_MAX_AGE (2*24*60*60)
30#define HS_CACHE_MAX_SKEW (24*60*60)
32#define HS_CACHE_FAILURE_MAX_AGE (5*60)
82hs_cache_max_entry_lifetime(
void)
99 const char **desc_out);
116 rend_intro_point_failure_t failure);
125size_t hs_cache_get_total_allocation(
void);
129#ifdef HS_CACHE_PRIVATE
133typedef struct hs_cache_client_descriptor_t {
140 time_t expiration_ts;
150} hs_cache_client_descriptor_t;
154 const size_t min_remove_bytes,
155 uint64_t *next_lowest);
158STATIC 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)
STATIC size_t cache_clean_v3_by_downloaded_as_dir(const uint64_t target, const size_t max_remove_bytes, uint64_t *next_lowest)
const char * hs_cache_lookup_encoded_as_client(const ed25519_public_key_t *key)
STATIC size_t cache_clean_v3_as_dir(time_t now, time_t global_cutoff)
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_note(const ed25519_public_key_t *service_pk, const ed25519_public_key_t *auth_key, rend_intro_point_failure_t failure)
STATIC hs_cache_dir_descriptor_t * lookup_v3_desc_as_dir(const uint8_t *key)
const hs_descriptor_t * hs_cache_lookup_as_client(const ed25519_public_key_t *key)
STATIC hs_cache_client_descriptor_t * lookup_v3_desc_as_client(const uint8_t *key)
void hs_cache_client_intro_state_clean(time_t now)
void hs_cache_clean_as_client(time_t now)
void hs_cache_client_intro_state_purge(void)
size_t hs_cache_handle_oom(size_t min_remove_bytes)
#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_mark_dowloaded_as_dir(const hs_ident_dir_conn_t *ident)
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 containing circuit and connection identifier data for the whole HS subsystem.
Header file for rendcommon.c.
digest256map_t * intro_points
hs_desc_plaintext_data_t * plaintext_data
uint32_t unreachable_count