Tor 0.4.9.0-alpha-dev
Data Fields
protover_summary_flags_t Struct Reference

#include <or.h>

Data Fields

unsigned int protocols_known:1
 
unsigned int supports_extend2_cells:1
 
unsigned int supports_accepting_ipv6_extends:1
 
unsigned int supports_initiating_ipv6_extends:1
 
unsigned int supports_canonical_ipv6_conns:1
 
unsigned int supports_ed25519_link_handshake_compat:1
 
unsigned int supports_ed25519_link_handshake_any:1
 
unsigned int supports_ed25519_hs_intro: 1
 
unsigned int supports_establish_intro_dos_extension: 1
 
unsigned int supports_v3_hsdir: 1
 
unsigned int supports_v3_rendezvous_point: 1
 
unsigned int supports_hs_setup_padding: 1
 
unsigned int supports_congestion_control: 1
 
unsigned int supports_conflux: 1
 

Detailed Description

Flags used to summarize the declared protocol versions of a relay, so we don't need to parse them again and again.

Definition at line 686 of file or.h.

Field Documentation

◆ protocols_known

unsigned int protocols_known

True iff we have a proto line for this router, or a versions line from which we could infer the protocols.

Definition at line 689 of file or.h.

Referenced by memoize_protover_summary(), parse_introduce_cell_extension(), and summarize_protover_flags().

◆ supports_accepting_ipv6_extends

unsigned int supports_accepting_ipv6_extends

True iff this router has a version or protocol list that allows it to accept IPv6 connections. This requires Relay=2 or Relay=3.

Definition at line 697 of file or.h.

◆ supports_canonical_ipv6_conns

unsigned int supports_canonical_ipv6_conns

True iff this router has a version or protocol list that allows it to consider IPv6 connections canonical. This requires Relay=3.

Definition at line 705 of file or.h.

◆ supports_conflux

unsigned int supports_conflux

True iff this router supports conflux. Requires Relay=5

Definition at line 745 of file or.h.

Referenced by node_supports_conflux().

◆ supports_congestion_control

unsigned int supports_congestion_control

True iff this router supports congestion control. Requires both FlowCtrl=2 and Relay=4

Definition at line 742 of file or.h.

Referenced by parse_introduce_cell_extension().

◆ supports_ed25519_hs_intro

unsigned int supports_ed25519_hs_intro

True iff this router has a protocol list that allows it to be an introduction point supporting ed25519 authentication key which is part of the v3 protocol detailed in proposal 224. This requires HSIntro=4.

Definition at line 720 of file or.h.

Referenced by node_supports_ed25519_hs_intro().

◆ supports_ed25519_link_handshake_any

unsigned int supports_ed25519_link_handshake_any

True iff this router has a protocol list that allows it to negotiate ed25519 identity keys on a link handshake, at all. This requires some LinkAuth=X for X >= 3.

Definition at line 715 of file or.h.

Referenced by node_supports_ed25519_link_authentication().

◆ supports_ed25519_link_handshake_compat

unsigned int supports_ed25519_link_handshake_compat

True iff this router has a protocol list that allows it to negotiate ed25519 identity keys on a link handshake with us. This requires LinkAuth=3.

Definition at line 710 of file or.h.

Referenced by memoize_protover_summary(), and node_supports_ed25519_link_authentication().

◆ supports_establish_intro_dos_extension

unsigned int supports_establish_intro_dos_extension

True iff this router has a protocol list that allows it to support the ESTABLISH_INTRO DoS cell extension. Requires HSIntro=5.

Definition at line 724 of file or.h.

◆ supports_extend2_cells

unsigned int supports_extend2_cells

True iff this router has a version or protocol list that allows it to accept EXTEND2 cells. This requires Relay=2.

Definition at line 693 of file or.h.

Referenced by summarize_protover_flags().

◆ supports_hs_setup_padding

unsigned int supports_hs_setup_padding

True iff this router has a protocol list that allows clients to negotiate hs circuit setup padding. Requires Padding=2.

Definition at line 738 of file or.h.

Referenced by circpad_node_supports_padding().

◆ supports_initiating_ipv6_extends

unsigned int supports_initiating_ipv6_extends

True iff this router has a version or protocol list that allows it to initiate IPv6 connections. This requires Relay=3.

Definition at line 701 of file or.h.

◆ supports_v3_hsdir

unsigned int supports_v3_hsdir

True iff this router has a protocol list that allows it to be an hidden service directory supporting version 3 as seen in proposal 224. This requires HSDir=2.

Definition at line 729 of file or.h.

Referenced by node_supports_v3_hsdir(), and summarize_protover_flags().

◆ supports_v3_rendezvous_point

unsigned int supports_v3_rendezvous_point

True iff this router has a protocol list that allows it to be an hidden service rendezvous point supporting version 3 as seen in proposal 224. This requires HSRend=2.

Definition at line 734 of file or.h.

Referenced by node_supports_v3_rendezvous_point().


The documentation for this struct was generated from the following file: