mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-25 07:07:52 +01:00
hs-v3: Add protover HSIntro=5
Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
5419fd5d9f
commit
6c79172924
5 changed files with 21 additions and 3 deletions
|
@ -843,6 +843,10 @@ typedef struct protover_summary_flags_t {
|
|||
/** True iff this router has a protocol list that allows clients to
|
||||
* negotiate hs circuit setup padding. Requires Padding>=2. */
|
||||
unsigned int supports_hs_setup_padding : 1;
|
||||
|
||||
/** True iff this router has a protocol list that allows it to support the
|
||||
* ESTABLISH_INTRO DoS cell extension. Requires HSIntro>=5. */
|
||||
unsigned int supports_establish_intro_dos_extension : 1;
|
||||
} protover_summary_flags_t;
|
||||
|
||||
typedef struct routerinfo_t routerinfo_t;
|
||||
|
|
|
@ -392,7 +392,7 @@ protover_get_supported_protocols(void)
|
|||
"Desc=1-2 "
|
||||
"DirCache=1-2 "
|
||||
"HSDir=1-2 "
|
||||
"HSIntro=3-4 "
|
||||
"HSIntro=3-5 "
|
||||
"HSRend=1-2 "
|
||||
"Link=1-5 "
|
||||
#ifdef HAVE_WORKING_TOR_TLS_GET_TLSSECRETS
|
||||
|
|
|
@ -450,7 +450,9 @@ memoize_protover_summary(protover_summary_flags_t *out,
|
|||
PROTOVER_HS_RENDEZVOUS_POINT_V3);
|
||||
out->supports_hs_setup_padding =
|
||||
protocol_list_supports_protocol(protocols, PRT_PADDING,
|
||||
PROTOVER_HS_SETUP_PADDING);
|
||||
PROTOVER_HS_SETUP_PADDING);
|
||||
out->supports_establish_intro_dos_extension =
|
||||
protocol_list_supports_protocol(protocols, PRT_HSINTRO, 5);
|
||||
|
||||
protover_summary_flags_t *new_cached = tor_memdup(out, sizeof(*out));
|
||||
cached = strmap_set(protover_summary_map, protocols, new_cached);
|
||||
|
|
|
@ -1106,7 +1106,7 @@ node_ed25519_id_matches(const node_t *node, const ed25519_public_key_t *id)
|
|||
/** Dummy object that should be unreturnable. Used to ensure that
|
||||
* node_get_protover_summary_flags() always returns non-NULL. */
|
||||
static const protover_summary_flags_t zero_protover_flags = {
|
||||
0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0
|
||||
};
|
||||
|
||||
/** Return the protover_summary_flags for a given node. */
|
||||
|
@ -1166,6 +1166,17 @@ node_supports_ed25519_hs_intro(const node_t *node)
|
|||
return node_get_protover_summary_flags(node)->supports_ed25519_hs_intro;
|
||||
}
|
||||
|
||||
/** Return true iff <b>node</b> supports the DoS ESTABLISH_INTRO cell
|
||||
* extenstion. */
|
||||
int
|
||||
node_supports_establish_intro_dos_extension(const node_t *node)
|
||||
{
|
||||
tor_assert(node);
|
||||
|
||||
return node_get_protover_summary_flags(node)->
|
||||
supports_establish_intro_dos_extension;
|
||||
}
|
||||
|
||||
/** Return true iff <b>node</b> supports to be a rendezvous point for hidden
|
||||
* service version 3 (HSRend=2). */
|
||||
int
|
||||
|
|
|
@ -76,6 +76,7 @@ int node_supports_ed25519_link_authentication(const node_t *node,
|
|||
int node_supports_v3_hsdir(const node_t *node);
|
||||
int node_supports_ed25519_hs_intro(const node_t *node);
|
||||
int node_supports_v3_rendezvous_point(const node_t *node);
|
||||
int node_supports_establish_intro_dos_extension(const node_t *node);
|
||||
const uint8_t *node_get_rsa_id_digest(const node_t *node);
|
||||
smartlist_t *node_get_link_specifier_smartlist(const node_t *node,
|
||||
bool direct_conn);
|
||||
|
|
Loading…
Add table
Reference in a new issue