commit ed0731c7ded26d84975411f4a0e35f2500f3eb2a Author: Nick Mathewson nickm@torproject.org Date: Fri Jun 15 14:49:15 2018 -0400
Extract routerinfo_t into its own header.
I was expecting this to be much worse. --- src/or/bridges.c | 1 + src/or/channeltls.c | 1 + src/or/circuitbuild.c | 1 + src/or/connection.c | 1 + src/or/connection_or.c | 1 + src/or/control.c | 1 + src/or/dirauth/dirvote.c | 1 + src/or/directory.c | 1 + src/or/dirserv.c | 1 + src/or/include.am | 1 + src/or/main.c | 1 + src/or/networkstatus.c | 1 + src/or/nodelist.c | 1 + src/or/or.h | 95 +------------------------------------ src/or/policies.c | 1 + src/or/relay.c | 1 + src/or/router.c | 1 + src/or/routerinfo_st.h | 105 +++++++++++++++++++++++++++++++++++++++++ src/or/routerlist.c | 1 + src/or/routerparse.c | 1 + src/or/routerset.c | 1 + src/or/status.c | 2 + src/test/test_address_set.c | 1 + src/test/test_config.c | 1 + src/test/test_connection.c | 1 + src/test/test_dir.c | 1 + src/test/test_dir_common.c | 1 + src/test/test_dir_handle_get.c | 1 + src/test/test_entrynodes.c | 1 + src/test/test_hs.c | 1 + src/test/test_hs_common.c | 1 + src/test/test_hs_service.c | 1 + src/test/test_microdesc.c | 1 + src/test/test_nodelist.c | 1 + src/test/test_policy.c | 1 + src/test/test_rendcache.c | 1 + src/test/test_router.c | 2 + src/test/test_routerset.c | 1 + src/test/test_status.c | 1 + 39 files changed, 145 insertions(+), 94 deletions(-)
diff --git a/src/or/bridges.c b/src/or/bridges.c index 3108e1495..013c45cd5 100644 --- a/src/or/bridges.c +++ b/src/or/bridges.c @@ -28,6 +28,7 @@ #include "transports.h"
#include "node_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
/** Information about a configured bridge. Currently this just matches the diff --git a/src/or/channeltls.c b/src/or/channeltls.c index 4d5677821..dd0c1628c 100644 --- a/src/or/channeltls.c +++ b/src/or/channeltls.c @@ -63,6 +63,7 @@ #include "or_connection_st.h" #include "or_handshake_certs_st.h" #include "or_handshake_state_st.h" +#include "routerinfo_st.h"
/** How many CELL_PADDING cells have we received, ever? */ uint64_t stats_n_padding_cells_processed = 0; diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index b871bd10c..103dd6eb9 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -71,6 +71,7 @@ #include "or_circuit_st.h" #include "origin_circuit_st.h" #include "microdesc_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
static channel_t * channel_connect_for_circuit(const tor_addr_t *addr, diff --git a/src/or/connection.c b/src/or/connection.c index 283f09652..6e133f8d4 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -119,6 +119,7 @@ #include "listener_connection_st.h" #include "or_connection_st.h" #include "port_cfg_st.h" +#include "routerinfo_st.h" #include "socks_request_st.h"
static connection_t *connection_listener_new( diff --git a/src/or/connection_or.c b/src/or/connection_or.c index 070253dce..1810c3954 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -64,6 +64,7 @@ #include "or_connection_st.h" #include "or_handshake_certs_st.h" #include "or_handshake_state_st.h" +#include "routerinfo_st.h"
static int connection_tls_finish_handshake(or_connection_t *conn); static int connection_or_launch_v3_or_handshake(or_connection_t *conn); diff --git a/src/or/control.c b/src/or/control.c index 642d38774..520b6178f 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -94,6 +94,7 @@ #include "rend_authorized_client_st.h" #include "rend_encoded_v2_service_descriptor_st.h" #include "rend_service_descriptor_st.h" +#include "routerinfo_st.h" #include "routerlist_st.h" #include "socks_request_st.h"
diff --git a/src/or/dirauth/dirvote.c b/src/or/dirauth/dirvote.c index 73fa07bfe..94a6139f5 100644 --- a/src/or/dirauth/dirvote.c +++ b/src/or/dirauth/dirvote.c @@ -36,6 +36,7 @@ #include "networkstatus_voter_info_st.h" #include "node_st.h" #include "ns_detached_signatures_st.h" +#include "routerinfo_st.h" #include "routerlist_st.h" #include "vote_microdesc_hash_st.h" #include "vote_routerstatus_st.h" diff --git a/src/or/directory.c b/src/or/directory.c index f3080bc1f..4e2e96886 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -61,6 +61,7 @@ #include "networkstatus_st.h" #include "node_st.h" #include "rend_service_descriptor_st.h" +#include "routerinfo_st.h"
/** * \file directory.c diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 8cfccda61..e54782d19 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -40,6 +40,7 @@ #include "extrainfo_st.h" #include "microdesc_st.h" #include "node_st.h" +#include "routerinfo_st.h" #include "routerlist_st.h" #include "tor_version_st.h" #include "vote_routerstatus_st.h" diff --git a/src/or/include.am b/src/or/include.am index 564af4ba4..468b231f7 100644 --- a/src/or/include.am +++ b/src/or/include.am @@ -296,6 +296,7 @@ ORHEADERS = \ src/or/rephist.h \ src/or/replaycache.h \ src/or/router.h \ + src/or/routerinfo_st.h \ src/or/routerkeys.h \ src/or/routerlist.h \ src/or/routerlist_st.h \ diff --git a/src/or/main.c b/src/or/main.c index 73c23ee98..664105046 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -126,6 +126,7 @@ #include "networkstatus_st.h" #include "or_connection_st.h" #include "port_cfg_st.h" +#include "routerinfo_st.h" #include "socks_request_st.h"
#ifdef HAVE_SYSTEMD diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c index 1951414a8..dd994f085 100644 --- a/src/or/networkstatus.c +++ b/src/or/networkstatus.c @@ -82,6 +82,7 @@ #include "networkstatus_voter_info_st.h" #include "ns_detached_signatures_st.h" #include "node_st.h" +#include "routerinfo_st.h" #include "routerlist_st.h" #include "vote_microdesc_hash_st.h" #include "vote_routerstatus_st.h" diff --git a/src/or/nodelist.c b/src/or/nodelist.c index 91d100336..5e575e9a8 100644 --- a/src/or/nodelist.c +++ b/src/or/nodelist.c @@ -72,6 +72,7 @@ #include "microdesc_st.h" #include "networkstatus_st.h" #include "node_st.h" +#include "routerinfo_st.h" #include "routerlist_st.h" #include "routerstatus_st.h"
diff --git a/src/or/or.h b/src/or/or.h index 40d7dfee3..208ec6d33 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -1599,100 +1599,7 @@ typedef struct protover_summary_flags_t { unsigned int supports_v3_rendezvous_point: 1; } protover_summary_flags_t;
-/** Information about another onion router in the network. */ -typedef struct { - signed_descriptor_t cache_info; - char *nickname; /**< Human-readable OR name. */ - - uint32_t addr; /**< IPv4 address of OR, in host order. */ - uint16_t or_port; /**< Port for TLS connections. */ - uint16_t dir_port; /**< Port for HTTP directory connections. */ - - /** A router's IPv6 address, if it has one. */ - /* XXXXX187 Actually these should probably be part of a list of addresses, - * not just a special case. Use abstractions to access these; don't do it - * directly. */ - tor_addr_t ipv6_addr; - uint16_t ipv6_orport; - - crypto_pk_t *onion_pkey; /**< Public RSA key for onions. */ - crypto_pk_t *identity_pkey; /**< Public RSA key for signing. */ - /** Public curve25519 key for onions */ - curve25519_public_key_t *onion_curve25519_pkey; - /** What's the earliest expiration time on all the certs in this - * routerinfo? */ - time_t cert_expiration_time; - - char *platform; /**< What software/operating system is this OR using? */ - - char *protocol_list; /**< Encoded list of subprotocol versions supported - * by this OR */ - - /* link info */ - uint32_t bandwidthrate; /**< How many bytes does this OR add to its token - * bucket per second? */ - uint32_t bandwidthburst; /**< How large is this OR's token bucket? */ - /** How many bytes/s is this router known to handle? */ - uint32_t bandwidthcapacity; - smartlist_t *exit_policy; /**< What streams will this OR permit - * to exit on IPv4? NULL for 'reject *:*'. */ - /** What streams will this OR permit to exit on IPv6? - * NULL for 'reject *:*' */ - struct short_policy_t *ipv6_exit_policy; - long uptime; /**< How many seconds the router claims to have been up */ - smartlist_t *declared_family; /**< Nicknames of router which this router - * claims are its family. */ - char *contact_info; /**< Declared contact info for this router. */ - unsigned int is_hibernating:1; /**< Whether the router claims to be - * hibernating */ - unsigned int caches_extra_info:1; /**< Whether the router says it caches and - * serves extrainfo documents. */ - unsigned int allow_single_hop_exits:1; /**< Whether the router says - * it allows single hop exits. */ - - unsigned int wants_to_be_hs_dir:1; /**< True iff this router claims to be - * a hidden service directory. */ - unsigned int policy_is_reject_star:1; /**< True iff the exit policy for this - * router rejects everything. */ - /** True if, after we have added this router, we should re-launch - * tests for it. */ - unsigned int needs_retest_if_added:1; - - /** True iff this router included "tunnelled-dir-server" in its descriptor, - * implying it accepts tunnelled directory requests, or it advertised - * dir_port > 0. */ - unsigned int supports_tunnelled_dir_requests:1; - - /** Used during voting to indicate that we should not include an entry for - * this routerinfo. Used only during voting. */ - unsigned int omit_from_vote:1; - - /** Flags to summarize the protocol versions for this routerinfo_t. */ - protover_summary_flags_t pv; - -/** Tor can use this router for general positions in circuits; we got it - * from a directory server as usual, or we're an authority and a server - * uploaded it. */ -#define ROUTER_PURPOSE_GENERAL 0 -/** Tor should avoid using this router for circuit-building: we got it - * from a controller. If the controller wants to use it, it'll have to - * ask for it by identity. */ -#define ROUTER_PURPOSE_CONTROLLER 1 -/** Tor should use this router only for bridge positions in circuits: we got - * it via a directory request from the bridge itself, or a bridge - * authority. */ -#define ROUTER_PURPOSE_BRIDGE 2 -/** Tor should not use this router; it was marked in cached-descriptors with - * a purpose we didn't recognize. */ -#define ROUTER_PURPOSE_UNKNOWN 255 - - /** In what way did we find out about this router? One of ROUTER_PURPOSE_*. - * Routers of different purposes are kept segregated and used for different - * things; see notes on ROUTER_PURPOSE_* macros above. - */ - uint8_t purpose; -} routerinfo_t; - +typedef struct routerinfo_t routerinfo_t; typedef struct extrainfo_t extrainfo_t; typedef struct routerstatus_t routerstatus_t;
diff --git a/src/or/policies.c b/src/or/policies.c index 07cf12387..bc4a9a920 100644 --- a/src/or/policies.c +++ b/src/or/policies.c @@ -34,6 +34,7 @@ #include "microdesc_st.h" #include "node_st.h" #include "port_cfg_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
/** Policy that addresses for incoming SOCKS connections must match. */ diff --git a/src/or/relay.c b/src/or/relay.c index 1eaf6f7db..ff97b5266 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -87,6 +87,7 @@ #include "entry_connection_st.h" #include "or_circuit_st.h" #include "origin_circuit_st.h" +#include "routerinfo_st.h" #include "socks_request_st.h"
static edge_connection_t *relay_lookup_conn(circuit_t *circ, cell_t *cell, diff --git a/src/or/router.c b/src/or/router.c index 28dd360d3..ddbfb0313 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -47,6 +47,7 @@ #include "node_st.h" #include "origin_circuit_st.h" #include "port_cfg_st.h" +#include "routerinfo_st.h"
/** * \file router.c diff --git a/src/or/routerinfo_st.h b/src/or/routerinfo_st.h new file mode 100644 index 000000000..800a8cbe3 --- /dev/null +++ b/src/or/routerinfo_st.h @@ -0,0 +1,105 @@ +/* Copyright (c) 2001 Matej Pfajfar. + * Copyright (c) 2001-2004, Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2017, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#ifndef ROUTERINFO_ST_H +#define ROUTERINFO_ST_H + +/** Information about another onion router in the network. */ +struct routerinfo_t { + signed_descriptor_t cache_info; + char *nickname; /**< Human-readable OR name. */ + + uint32_t addr; /**< IPv4 address of OR, in host order. */ + uint16_t or_port; /**< Port for TLS connections. */ + uint16_t dir_port; /**< Port for HTTP directory connections. */ + + /** A router's IPv6 address, if it has one. */ + /* XXXXX187 Actually these should probably be part of a list of addresses, + * not just a special case. Use abstractions to access these; don't do it + * directly. */ + tor_addr_t ipv6_addr; + uint16_t ipv6_orport; + + crypto_pk_t *onion_pkey; /**< Public RSA key for onions. */ + crypto_pk_t *identity_pkey; /**< Public RSA key for signing. */ + /** Public curve25519 key for onions */ + curve25519_public_key_t *onion_curve25519_pkey; + /** What's the earliest expiration time on all the certs in this + * routerinfo? */ + time_t cert_expiration_time; + + char *platform; /**< What software/operating system is this OR using? */ + + char *protocol_list; /**< Encoded list of subprotocol versions supported + * by this OR */ + + /* link info */ + uint32_t bandwidthrate; /**< How many bytes does this OR add to its token + * bucket per second? */ + uint32_t bandwidthburst; /**< How large is this OR's token bucket? */ + /** How many bytes/s is this router known to handle? */ + uint32_t bandwidthcapacity; + smartlist_t *exit_policy; /**< What streams will this OR permit + * to exit on IPv4? NULL for 'reject *:*'. */ + /** What streams will this OR permit to exit on IPv6? + * NULL for 'reject *:*' */ + struct short_policy_t *ipv6_exit_policy; + long uptime; /**< How many seconds the router claims to have been up */ + smartlist_t *declared_family; /**< Nicknames of router which this router + * claims are its family. */ + char *contact_info; /**< Declared contact info for this router. */ + unsigned int is_hibernating:1; /**< Whether the router claims to be + * hibernating */ + unsigned int caches_extra_info:1; /**< Whether the router says it caches and + * serves extrainfo documents. */ + unsigned int allow_single_hop_exits:1; /**< Whether the router says + * it allows single hop exits. */ + + unsigned int wants_to_be_hs_dir:1; /**< True iff this router claims to be + * a hidden service directory. */ + unsigned int policy_is_reject_star:1; /**< True iff the exit policy for this + * router rejects everything. */ + /** True if, after we have added this router, we should re-launch + * tests for it. */ + unsigned int needs_retest_if_added:1; + + /** True iff this router included "tunnelled-dir-server" in its descriptor, + * implying it accepts tunnelled directory requests, or it advertised + * dir_port > 0. */ + unsigned int supports_tunnelled_dir_requests:1; + + /** Used during voting to indicate that we should not include an entry for + * this routerinfo. Used only during voting. */ + unsigned int omit_from_vote:1; + + /** Flags to summarize the protocol versions for this routerinfo_t. */ + protover_summary_flags_t pv; + +/** Tor can use this router for general positions in circuits; we got it + * from a directory server as usual, or we're an authority and a server + * uploaded it. */ +#define ROUTER_PURPOSE_GENERAL 0 +/** Tor should avoid using this router for circuit-building: we got it + * from a controller. If the controller wants to use it, it'll have to + * ask for it by identity. */ +#define ROUTER_PURPOSE_CONTROLLER 1 +/** Tor should use this router only for bridge positions in circuits: we got + * it via a directory request from the bridge itself, or a bridge + * authority. */ +#define ROUTER_PURPOSE_BRIDGE 2 +/** Tor should not use this router; it was marked in cached-descriptors with + * a purpose we didn't recognize. */ +#define ROUTER_PURPOSE_UNKNOWN 255 + + /** In what way did we find out about this router? One of ROUTER_PURPOSE_*. + * Routers of different purposes are kept segregated and used for different + * things; see notes on ROUTER_PURPOSE_* macros above. + */ + uint8_t purpose; +}; + +#endif + diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 425ad8273..ad7e4102c 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -133,6 +133,7 @@ #include "networkstatus_st.h" #include "networkstatus_voter_info_st.h" #include "node_st.h" +#include "routerinfo_st.h" #include "routerlist_st.h" #include "vote_routerstatus_st.h"
diff --git a/src/or/routerparse.c b/src/or/routerparse.c index dee4220b6..040745f65 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -91,6 +91,7 @@ #include "rend_authorized_client_st.h" #include "rend_intro_point_st.h" #include "rend_service_descriptor_st.h" +#include "routerinfo_st.h" #include "routerlist_st.h" #include "tor_version_st.h" #include "vote_microdesc_hash_st.h" diff --git a/src/or/routerset.c b/src/or/routerset.c index 1033702f3..415fa0ce7 100644 --- a/src/or/routerset.c +++ b/src/or/routerset.c @@ -37,6 +37,7 @@ #include "routerset.h"
#include "node_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
/** Return a new empty routerset. */ diff --git a/src/or/status.c b/src/or/status.c index 4b8033d11..2cfc43679 100644 --- a/src/or/status.c +++ b/src/or/status.c @@ -30,6 +30,8 @@ #include "hs_service.h" #include "dos.h"
+#include "routerinfo_st.h" + static void log_accounting(const time_t now, const or_options_t *options); #include "geoip.h"
diff --git a/src/test/test_address_set.c b/src/test/test_address_set.c index efc4d4e8a..93469573f 100644 --- a/src/test/test_address_set.c +++ b/src/test/test_address_set.c @@ -12,6 +12,7 @@
#include "microdesc_st.h" #include "networkstatus_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
#include "test.h" diff --git a/src/test/test_config.c b/src/test/test_config.c index 2b761d2ba..ea0f45f22 100644 --- a/src/test/test_config.c +++ b/src/test/test_config.c @@ -46,6 +46,7 @@
#include "dir_server_st.h" #include "port_cfg_st.h" +#include "routerinfo_st.h"
static void test_config_addressmap(void *arg) diff --git a/src/test/test_connection.c b/src/test/test_connection.c index 6f9c2706c..5d2aa65c8 100644 --- a/src/test/test_connection.c +++ b/src/test/test_connection.c @@ -28,6 +28,7 @@ #include "entry_connection_st.h" #include "node_st.h" #include "or_connection_st.h" +#include "routerinfo_st.h" #include "socks_request_st.h"
static void * test_conn_get_basic_setup(const struct testcase_t *tc); diff --git a/src/test/test_dir.c b/src/test/test_dir.c index c25665d3e..ac5b3bd7c 100644 --- a/src/test/test_dir.c +++ b/src/test/test_dir.c @@ -52,6 +52,7 @@ #include "networkstatus_voter_info_st.h" #include "ns_detached_signatures_st.h" #include "port_cfg_st.h" +#include "routerinfo_st.h" #include "routerlist_st.h" #include "tor_version_st.h" #include "vote_microdesc_hash_st.h" diff --git a/src/test/test_dir_common.c b/src/test/test_dir_common.c index c23282ba8..3ec9fd691 100644 --- a/src/test/test_dir_common.c +++ b/src/test/test_dir_common.c @@ -17,6 +17,7 @@ #include "authority_cert_st.h" #include "networkstatus_st.h" #include "networkstatus_voter_info_st.h" +#include "routerinfo_st.h" #include "vote_microdesc_hash_st.h" #include "vote_routerstatus_st.h"
diff --git a/src/test/test_dir_handle_get.c b/src/test/test_dir_handle_get.c index c8704505e..3babffb9e 100644 --- a/src/test/test_dir_handle_get.c +++ b/src/test/test_dir_handle_get.c @@ -38,6 +38,7 @@ #include "dir_server_st.h" #include "networkstatus_st.h" #include "rend_encoded_v2_service_descriptor_st.h" +#include "routerinfo_st.h" #include "routerlist_st.h"
#ifdef _WIN32 diff --git a/src/test/test_entrynodes.c b/src/test/test_entrynodes.c index 6a93921f9..bc075e91a 100644 --- a/src/test/test_entrynodes.c +++ b/src/test/test_entrynodes.c @@ -37,6 +37,7 @@ #include "networkstatus_st.h" #include "node_st.h" #include "origin_circuit_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
#include "test_helpers.h" diff --git a/src/test/test_hs.c b/src/test/test_hs.c index c546af2fe..f2c520aee 100644 --- a/src/test/test_hs.c +++ b/src/test/test_hs.c @@ -25,6 +25,7 @@ #include "node_st.h" #include "rend_encoded_v2_service_descriptor_st.h" #include "rend_intro_point_st.h" +#include "routerinfo_st.h"
#include "test_helpers.h"
diff --git a/src/test/test_hs_common.c b/src/test/test_hs_common.c index 342626bcc..b4969fa7b 100644 --- a/src/test/test_hs_common.c +++ b/src/test/test_hs_common.c @@ -36,6 +36,7 @@ #include "microdesc_st.h" #include "networkstatus_st.h" #include "node_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
/** Test the validation of HS v3 addresses */ diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c index ab27b4dc4..a4a1449b4 100644 --- a/src/test/test_hs_service.c +++ b/src/test/test_hs_service.c @@ -58,6 +58,7 @@ #include "networkstatus_st.h" #include "node_st.h" #include "origin_circuit_st.h" +#include "routerinfo_st.h"
/* Trunnel */ #include "hs/cell_establish_intro.h" diff --git a/src/test/test_microdesc.c b/src/test/test_microdesc.c index 593089335..28d349466 100644 --- a/src/test/test_microdesc.c +++ b/src/test/test_microdesc.c @@ -15,6 +15,7 @@
#include "microdesc_st.h" #include "networkstatus_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
#include "test.h" diff --git a/src/test/test_nodelist.c b/src/test/test_nodelist.c index e41557ed3..df69466fb 100644 --- a/src/test/test_nodelist.c +++ b/src/test/test_nodelist.c @@ -15,6 +15,7 @@ #include "microdesc_st.h" #include "networkstatus_st.h" #include "node_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
#include "test.h" diff --git a/src/test/test_policy.c b/src/test/test_policy.c index 71c623070..61ebd27dc 100644 --- a/src/test/test_policy.c +++ b/src/test/test_policy.c @@ -12,6 +12,7 @@
#include "node_st.h" #include "port_cfg_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
/* Helper: assert that short_policy parses and writes back out as itself, diff --git a/src/test/test_rendcache.c b/src/test/test_rendcache.c index e5d531617..22af3473b 100644 --- a/src/test/test_rendcache.c +++ b/src/test/test_rendcache.c @@ -15,6 +15,7 @@ #include "rend_encoded_v2_service_descriptor_st.h" #include "rend_intro_point_st.h" #include "rend_service_descriptor_st.h" +#include "routerinfo_st.h"
#include "rend_test_helpers.h" #include "log_test_helpers.h" diff --git a/src/test/test_router.c b/src/test/test_router.c index 4e96e2453..d560a1aec 100644 --- a/src/test/test_router.c +++ b/src/test/test_router.c @@ -14,6 +14,8 @@ #include "router.h" #include "routerlist.h"
+#include "routerinfo_st.h" + /* Test suite stuff */ #include "test.h"
diff --git a/src/test/test_routerset.c b/src/test/test_routerset.c index 21db9bb3b..004b88ac8 100644 --- a/src/test/test_routerset.c +++ b/src/test/test_routerset.c @@ -11,6 +11,7 @@ #include "nodelist.h"
#include "node_st.h" +#include "routerinfo_st.h" #include "routerstatus_st.h"
#include "test.h" diff --git a/src/test/test_status.c b/src/test/test_status.c index 062a28f73..cedce1676 100644 --- a/src/test/test_status.c +++ b/src/test/test_status.c @@ -26,6 +26,7 @@ #include "statefile.h"
#include "origin_circuit_st.h" +#include "routerinfo_st.h"
#include "test.h"