23#define FIRST_TOR_VERSION_TO_ADVERTISE_PROTOCOLS "0.2.9.3-alpha"
27#define PROTOVER_LINKAUTH_ED25519_HANDSHAKE 3
30#define PROTOVER_RELAY_EXTEND2 2
32#define PROTOVER_RELAY_ACCEPT_IPV6 2
34#define PROTOVER_RELAY_EXTEND_IPV6 3
37#define PROTOVER_RELAY_CANONICAL_IPV6 3
39#define PROTOVER_RELAY_NTOR_V3 4
41#define PROTOVER_CONFLUX_V1 1
44#define PROTOVER_HS_INTRO_V3 4
47#define PROTOVER_HS_INTRO_DOS 5
50#define PROTOVER_HS_RENDEZVOUS_POINT_V3 2
53#define PROTOVER_HSDIR_V3 2
56#define PROTOVER_HS_SETUP_PADDING 2
59#define PROTOVER_FLOWCTRL_CC 2
101#ifdef PROTOVER_PRIVATE
103typedef struct proto_entry_t {
115#if defined(TOR_UNIT_TESTS)
123#define proto_entry_free(entry) \
124 FREE_AND_NULL(proto_entry_t, proto_entry_free_, (entry))
STATIC char * encode_protocol_list(const smartlist_t *sl)
STATIC void proto_entry_free_(proto_entry_t *entry)
STATIC const char * protocol_type_to_str(protocol_type_t pr)
char * protover_compute_vote(const smartlist_t *list_of_proto_strings, int threshold)
STATIC smartlist_t * parse_protocol_list(const char *s)
bool protover_list_is_invalid(const char *s)
const char * protover_get_recommended_relay_protocols(void)
const char * protover_get_required_relay_protocols(void)
const char * protover_get_required_client_protocols(void)
void protover_free_all(void)
int protover_all_supported(const char *s, char **missing)
int protover_is_supported_here(protocol_type_t pr, uint32_t ver)
const char * protover_get_recommended_client_protocols(void)
int protocol_list_supports_protocol(const char *list, protocol_type_t tp, uint32_t version)
int protocol_list_supports_protocol_or_later(const char *list, protocol_type_t tp, uint32_t version)
const char * protover_get_supported_protocols(void)
C_RUST_COUPLED: src/rust/protover/protover.rs SUPPORTED_PROTOCOLS
const char * protover_compute_for_old_tor(const char *version)
C_RUST_COUPLED: src/rust/protover/protover.rs compute_for_old_tor
const char * protover_get_supported(const protocol_type_t type)
Macros to implement mocking and selective exposure for the test code.
Integer definitions used throughout Tor.