mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
prop224: Add hsdir consensus parameters
Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
committed by
Nick Mathewson
parent
267bc7bc3b
commit
06909cafef
@@ -857,6 +857,36 @@ hs_get_previous_srv(uint64_t time_period_num)
|
||||
return sr_value;
|
||||
}
|
||||
|
||||
/* Return the number of replicas defined by a consensus parameter or the
|
||||
* default value. */
|
||||
int32_t
|
||||
hs_get_hsdir_n_replicas(void)
|
||||
{
|
||||
/* The [1,16] range is a specification requirement. */
|
||||
return networkstatus_get_param(NULL, "hsdir_n_replicas",
|
||||
HS_DEFAULT_HSDIR_N_REPLICAS, 1, 16);
|
||||
}
|
||||
|
||||
/* Return the spread fetch value defined by a consensus parameter or the
|
||||
* default value. */
|
||||
int32_t
|
||||
hs_get_hsdir_spread_fetch(void)
|
||||
{
|
||||
/* The [1,128] range is a specification requirement. */
|
||||
return networkstatus_get_param(NULL, "hsdir_spread_fetch",
|
||||
HS_DEFAULT_HSDIR_SPREAD_FETCH, 1, 128);
|
||||
}
|
||||
|
||||
/* Return the spread store value defined by a consensus parameter or the
|
||||
* default value. */
|
||||
int32_t
|
||||
hs_get_hsdir_spread_store(void)
|
||||
{
|
||||
/* The [1,128] range is a specification requirement. */
|
||||
return networkstatus_get_param(NULL, "hsdir_spread_store",
|
||||
HS_DEFAULT_HSDIR_SPREAD_STORE, 1, 128);
|
||||
}
|
||||
|
||||
/* Initialize the entire HS subsytem. This is called in tor_init() before any
|
||||
* torrc options are loaded. Only for >= v3. */
|
||||
void
|
||||
|
||||
@@ -113,6 +113,13 @@
|
||||
#define HS_SRV_DISASTER_PREFIX "shared-random-disaster"
|
||||
#define HS_SRV_DISASTER_PREFIX_LEN (sizeof(HS_SRV_DISASTER_PREFIX) - 1)
|
||||
|
||||
/* Default value of number of hsdir replicas (hsdir_n_replicas). */
|
||||
#define HS_DEFAULT_HSDIR_N_REPLICAS 2
|
||||
/* Default value of hsdir spread store (hsdir_spread_store). */
|
||||
#define HS_DEFAULT_HSDIR_SPREAD_STORE 3
|
||||
/* Default value of hsdir spread fetch (hsdir_spread_fetch). */
|
||||
#define HS_DEFAULT_HSDIR_SPREAD_FETCH 3
|
||||
|
||||
/* Type of authentication key used by an introduction point. */
|
||||
typedef enum {
|
||||
HS_AUTH_KEY_TYPE_LEGACY = 1,
|
||||
@@ -203,6 +210,10 @@ void hs_build_hs_index(uint64_t replica,
|
||||
const ed25519_public_key_t *blinded_pk,
|
||||
uint64_t period_num, uint8_t *hs_index_out);
|
||||
|
||||
int32_t hs_get_hsdir_n_replicas(void);
|
||||
int32_t hs_get_hsdir_spread_fetch(void);
|
||||
int32_t hs_get_hsdir_spread_store(void);
|
||||
|
||||
#ifdef HS_COMMON_PRIVATE
|
||||
|
||||
#ifdef TOR_UNIT_TESTS
|
||||
|
||||
Reference in New Issue
Block a user