[tor-commits] [tor/master] Revise things that had included router.h before

nickm at torproject.org nickm at torproject.org
Wed Sep 26 13:52:23 UTC 2018


commit 4f0bc0c8f56f4179482c21bf3122b67ee2fe26d1
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Sep 25 17:57:58 2018 -0400

    Revise things that had included router.h before
    
    Make them only include the headers that they needed, and sort their
    headers while we're at it.
---
 src/app/config/config.c                | 79 ++++++++++++++++++----------------
 src/app/main/main.c                    | 73 +++++++++++++++----------------
 src/core/mainloop/connection.c         | 46 ++++++++++----------
 src/core/mainloop/mainloop.c           | 59 ++++++++++++-------------
 src/core/or/circuitbuild.c             | 49 ++++++++++-----------
 src/core/or/circuituse.c               | 28 ++++++------
 src/core/or/command.c                  | 22 +++++-----
 src/core/or/connection_edge.c          | 45 +++++++++----------
 src/core/or/relay.c                    |  2 +-
 src/feature/client/bridges.c           | 18 ++++----
 src/feature/client/entrynodes.c        | 35 +++++++--------
 src/feature/control/control.c          | 57 ++++++++++++------------
 src/feature/control/fmt_serverstatus.c |  2 +-
 src/feature/dirauth/process_descs.c    |  2 +
 src/feature/dirauth/reachability.c     |  3 +-
 src/feature/dirclient/dirclient.c      |  4 +-
 src/feature/hs/hs_circuit.c            | 23 +++++-----
 src/feature/hs/hs_client.c             | 22 +++++-----
 src/feature/hs/hs_common.c             | 22 +++++-----
 src/feature/hs/hs_service.c            | 32 +++++++-------
 src/feature/nodelist/describe.c        |  2 +-
 src/feature/nodelist/networkstatus.c   | 48 +++++++++++----------
 src/feature/nodelist/node_select.c     |  3 +-
 src/feature/nodelist/nodelist.c        | 27 ++++++------
 src/feature/nodelist/routerlist.c      | 12 +++---
 src/feature/nodelist/routerparse.c     | 33 +++++++-------
 src/feature/nodelist/routerset.c       |  6 +--
 src/feature/relay/dns.c                | 18 ++++----
 src/feature/relay/router.c             | 63 ++++++++++++++-------------
 src/feature/relay/router.h             |  4 --
 src/feature/relay/selftest.c           |  2 +
 src/feature/rend/rendclient.c          | 24 +++++------
 src/feature/rend/rendservice.c         | 32 +++++++-------
 src/test/test_dir.c                    | 53 ++++++++++++-----------
 34 files changed, 489 insertions(+), 461 deletions(-)

diff --git a/src/app/config/config.c b/src/app/config/config.c
index 65899b640..91e275865 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -60,62 +60,65 @@
 
 #define CONFIG_PRIVATE
 #include "core/or/or.h"
-#include "feature/client/bridges.h"
-#include "feature/client/addressmap.h"
+#include "app/config/config.h"
+#include "app/config/confparse.h"
+#include "app/config/statefile.h"
+#include "app/main/main.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/cpuworker.h"
+#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
 #include "core/or/channel.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuitmux.h"
 #include "core/or/circuitmux_ewma.h"
 #include "core/or/circuitstats.h"
-#include "lib/compress/compress.h"
-#include "app/config/config.h"
-#include "lib/encoding/confline.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
 #include "core/or/connection_or.h"
-#include "feature/dircache/consdiffmgr.h"
+#include "core/or/dos.h"
+#include "core/or/policies.h"
+#include "core/or/relay.h"
+#include "core/or/scheduler.h"
+#include "feature/client/addressmap.h"
+#include "feature/client/bridges.h"
+#include "feature/client/entrynodes.h"
+#include "feature/client/transports.h"
 #include "feature/control/control.h"
-#include "app/config/confparse.h"
-#include "core/mainloop/cpuworker.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "lib/crypt_ops/crypto_init.h"
-#ifdef ENABLE_NSS
-#include "lib/crypt_ops/crypto_nss_mgt.h"
-#else
-#include "lib/crypt_ops/crypto_openssl_mgt.h"
-#endif
 #include "feature/dirauth/bwauth.h"
-#include "feature/dircache/dirserv.h"
 #include "feature/dirauth/guardfraction.h"
-#include "feature/relay/dns.h"
-#include "core/or/dos.h"
-#include "feature/client/entrynodes.h"
-#include "lib/log/git_revision.h"
-#include "feature/stats/geoip.h"
+#include "feature/dircache/consdiffmgr.h"
+#include "feature/dircache/dirserv.h"
+#include "feature/dircommon/voting_schedule.h"
 #include "feature/hibernate/hibernate.h"
-#include "app/main/main.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/hs/hs_config.h"
+#include "feature/nodelist/dirlist.h"
 #include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nickname.h"
 #include "feature/nodelist/nodelist.h"
-#include "core/or/policies.h"
-#include "core/or/relay.h"
+#include "feature/nodelist/routerset.h"
+#include "feature/relay/dns.h"
+#include "feature/relay/ext_orport.h"
+#include "feature/relay/routermode.h"
 #include "feature/rend/rendclient.h"
 #include "feature/rend/rendservice.h"
-#include "feature/hs/hs_config.h"
+#include "feature/stats/geoip.h"
 #include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routermode.h"
-#include "lib/sandbox/sandbox.h"
-#include "feature/nodelist/dirlist.h"
-#include "feature/nodelist/routerset.h"
-#include "core/or/scheduler.h"
-#include "app/config/statefile.h"
-#include "feature/client/transports.h"
-#include "feature/relay/ext_orport.h"
-#include "feature/dircommon/voting_schedule.h"
+#include "lib/compress/compress.h"
+#include "lib/crypt_ops/crypto_init.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_util.h"
+#include "lib/encoding/confline.h"
+#include "lib/log/git_revision.h"
 #include "lib/net/resolve.h"
+#include "lib/sandbox/sandbox.h"
+
+#ifdef ENABLE_NSS
+#include "lib/crypt_ops/crypto_nss_mgt.h"
+#else
+#include "lib/crypt_ops/crypto_openssl_mgt.h"
+#endif
+
 #ifdef _WIN32
 #include <shlobj.h>
 #endif
diff --git a/src/app/main/main.c b/src/app/main/main.c
index 6c7312f67..90bc8c510 100644
--- a/src/app/main/main.c
+++ b/src/app/main/main.c
@@ -11,63 +11,64 @@
 
 #include "core/or/or.h"
 
-#include "feature/client/addressmap.h"
-#include "lib/err/backtrace.h"
-#include "feature/client/bridges.h"
-#include "lib/container/buffers.h"
+#include "app/config/config.h"
+#include "app/config/statefile.h"
+#include "app/main/main.h"
+#include "app/main/ntmain.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/cpuworker.h"
+#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
 #include "core/or/channel.h"
-#include "core/or/channeltls.h"
 #include "core/or/channelpadding.h"
+#include "core/or/channeltls.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuitmux_ewma.h"
 #include "core/or/command.h"
-#include "lib/compress/compress.h"
-#include "app/config/config.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
 #include "core/or/connection_or.h"
-#include "feature/dircache/consdiffmgr.h"
+#include "core/or/policies.h"
+#include "core/or/protover.h"
+#include "core/or/relay.h"
+#include "core/or/scheduler.h"
+#include "core/or/status.h"
+#include "feature/api/tor_api.h"
+#include "feature/api/tor_api_internal.h"
+#include "feature/client/addressmap.h"
+#include "feature/client/bridges.h"
+#include "feature/client/entrynodes.h"
+#include "feature/client/transports.h"
 #include "feature/control/control.h"
-#include "core/mainloop/cpuworker.h"
-#include "lib/crypt_ops/crypto_s2k.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "feature/dircache/dirserv.h"
 #include "feature/dirauth/bwauth.h"
+#include "feature/dirauth/keypin.h"
 #include "feature/dirauth/process_descs.h"
-#include "feature/relay/dns.h"
-#include "feature/relay/routermode.h"
-#include "feature/client/entrynodes.h"
-#include "feature/stats/geoip.h"
+#include "feature/dircache/consdiffmgr.h"
+#include "feature/dircache/dirserv.h"
 #include "feature/hibernate/hibernate.h"
 #include "feature/hs/hs_cache.h"
-#include "feature/dirauth/keypin.h"
-#include "app/main/main.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/nodelist/authcert.h"
 #include "feature/nodelist/microdesc.h"
 #include "feature/nodelist/networkstatus.h"
 #include "feature/nodelist/nodelist.h"
-#include "app/main/ntmain.h"
+#include "feature/nodelist/routerlist.h"
+#include "feature/nodelist/routerparse.h"
+#include "feature/relay/dns.h"
+#include "feature/relay/ext_orport.h"
 #include "feature/relay/onion_queue.h"
-#include "core/or/policies.h"
-#include "core/or/protover.h"
-#include "feature/client/transports.h"
-#include "core/or/relay.h"
+#include "feature/relay/routerkeys.h"
+#include "feature/relay/routermode.h"
 #include "feature/rend/rendcache.h"
 #include "feature/rend/rendclient.h"
 #include "feature/rend/rendservice.h"
+#include "feature/stats/geoip.h"
 #include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routerkeys.h"
-#include "feature/nodelist/authcert.h"
-#include "feature/nodelist/routerlist.h"
-#include "feature/nodelist/routerparse.h"
-#include "core/or/scheduler.h"
-#include "app/config/statefile.h"
-#include "core/or/status.h"
-#include "feature/api/tor_api.h"
-#include "feature/api/tor_api_internal.h"
+#include "lib/compress/compress.h"
+#include "lib/container/buffers.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_s2k.h"
+#include "lib/err/backtrace.h"
 #include "lib/process/waitpid.h"
-#include "feature/relay/ext_orport.h"
+
 #include "lib/meminfo/meminfo.h"
 #include "lib/osinfo/uname.h"
 #include "lib/sandbox/sandbox.h"
diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index 699e7f710..18863fc04 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -59,51 +59,53 @@
 #include "feature/client/bridges.h"
 #include "lib/container/buffers.h"
 #include "lib/tls/buffers_tls.h"
+#include "lib/err/backtrace.h"
+
 /*
  * Define this so we get channel internal functions, since we're implementing
  * part of a subclass (channel_tls_t).
  */
 #define TOR_CHANNEL_INTERNAL_
 #define CONNECTION_PRIVATE
-#include "lib/err/backtrace.h"
+#include "app/config/config.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
 #include "core/or/channel.h"
 #include "core/or/channeltls.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuituse.h"
-#include "app/config/config.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
 #include "core/or/connection_or.h"
+#include "core/or/dos.h"
+#include "core/or/policies.h"
+#include "core/or/reasons.h"
+#include "core/or/relay.h"
+#include "core/proto/proto_http.h"
+#include "core/proto/proto_socks.h"
+#include "feature/client/dnsserv.h"
+#include "feature/client/entrynodes.h"
+#include "feature/client/transports.h"
 #include "feature/control/control.h"
-#include "lib/crypt_ops/crypto_util.h"
 #include "feature/dirauth/authmode.h"
-#include "feature/dircommon/directory.h"
 #include "feature/dircache/dirserv.h"
-#include "feature/relay/dns.h"
-#include "feature/relay/routermode.h"
-#include "feature/client/dnsserv.h"
-#include "core/or/dos.h"
-#include "feature/client/entrynodes.h"
-#include "feature/relay/ext_orport.h"
-#include "feature/stats/geoip.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/dircommon/directory.h"
 #include "feature/hibernate/hibernate.h"
 #include "feature/hs/hs_common.h"
 #include "feature/hs/hs_ident.h"
 #include "feature/nodelist/nodelist.h"
-#include "core/proto/proto_http.h"
-#include "core/proto/proto_socks.h"
-#include "core/or/policies.h"
-#include "core/or/reasons.h"
-#include "core/or/relay.h"
+#include "feature/nodelist/routerlist.h"
+#include "feature/nodelist/routerparse.h"
+#include "feature/relay/dns.h"
+#include "feature/relay/ext_orport.h"
+#include "feature/relay/routermode.h"
 #include "feature/rend/rendclient.h"
 #include "feature/rend/rendcommon.h"
+#include "feature/stats/geoip.h"
 #include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/nodelist/routerlist.h"
-#include "feature/client/transports.h"
-#include "feature/nodelist/routerparse.h"
+#include "lib/crypt_ops/crypto_util.h"
+
 #include "lib/sandbox/sandbox.h"
 #include "lib/net/buffers_net.h"
 #include "lib/tls/tortls.h"
diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c
index fb405817d..4a9da43c9 100644
--- a/src/core/mainloop/mainloop.c
+++ b/src/core/mainloop/mainloop.c
@@ -49,55 +49,56 @@
 #define MAINLOOP_PRIVATE
 #include "core/or/or.h"
 
-#include "feature/client/addressmap.h"
-#include "lib/err/backtrace.h"
-#include "feature/client/bridges.h"
-#include "lib/container/buffers.h"
-#include "lib/tls/buffers_tls.h"
+#include "app/config/config.h"
+#include "app/config/statefile.h"
+#include "app/main/ntmain.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/cpuworker.h"
+#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
+#include "core/mainloop/periodic.h"
 #include "core/or/channel.h"
-#include "core/or/channeltls.h"
 #include "core/or/channelpadding.h"
+#include "core/or/channeltls.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuituse.h"
-#include "app/config/config.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
 #include "core/or/connection_or.h"
-#include "feature/dircache/consdiffmgr.h"
+#include "core/or/dos.h"
+#include "core/or/status.h"
+#include "feature/client/addressmap.h"
+#include "feature/client/bridges.h"
+#include "feature/client/dnsserv.h"
+#include "feature/client/entrynodes.h"
+#include "feature/client/transports.h"
 #include "feature/control/control.h"
-#include "core/mainloop/cpuworker.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "feature/dircommon/directory.h"
-#include "feature/dircache/dirserv.h"
 #include "feature/dirauth/authmode.h"
 #include "feature/dirauth/reachability.h"
-#include "feature/relay/dns.h"
-#include "feature/client/dnsserv.h"
-#include "core/or/dos.h"
-#include "feature/client/entrynodes.h"
-#include "feature/stats/geoip.h"
+#include "feature/dircache/consdiffmgr.h"
+#include "feature/dircache/dirserv.h"
+#include "feature/dircommon/directory.h"
 #include "feature/hibernate/hibernate.h"
 #include "feature/hs/hs_cache.h"
 #include "feature/hs/hs_client.h"
 #include "feature/hs/hs_service.h"
-#include "core/mainloop/mainloop.h"
 #include "feature/nodelist/microdesc.h"
 #include "feature/nodelist/networkstatus.h"
 #include "feature/nodelist/nodelist.h"
-#include "app/main/ntmain.h"
-#include "core/mainloop/periodic.h"
-#include "feature/client/transports.h"
+#include "feature/nodelist/routerlist.h"
+#include "feature/relay/dns.h"
+#include "feature/relay/routerkeys.h"
+#include "feature/relay/routermode.h"
+#include "feature/relay/selftest.h"
 #include "feature/rend/rendcache.h"
 #include "feature/rend/rendservice.h"
+#include "feature/stats/geoip.h"
 #include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routermode.h"
-#include "feature/relay/routerkeys.h"
-#include "feature/relay/selftest.h"
-#include "feature/nodelist/routerlist.h"
-#include "app/config/statefile.h"
-#include "core/or/status.h"
+#include "lib/container/buffers.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/err/backtrace.h"
+#include "lib/tls/buffers_tls.h"
+
 #include "lib/net/buffers_net.h"
 #include "lib/evloop/compat_libevent.h"
 
diff --git a/src/core/or/circuitbuild.c b/src/core/or/circuitbuild.c
index f4e0776be..26f0fc4d4 100644
--- a/src/core/or/circuitbuild.c
+++ b/src/core/or/circuitbuild.c
@@ -28,46 +28,47 @@
 #define CIRCUITBUILD_PRIVATE
 
 #include "core/or/or.h"
-#include "feature/client/bridges.h"
+#include "app/config/config.h"
+#include "app/config/confparse.h"
+#include "core/crypto/hs_ntor.h"
+#include "core/crypto/onion_crypto.h"
+#include "core/crypto/onion_fast.h"
+#include "core/crypto/onion_tap.h"
+#include "core/crypto/relay_crypto.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/mainloop.h"
 #include "core/or/channel.h"
-#include "feature/client/circpathbias.h"
-#define CIRCUITBUILD_PRIVATE
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuitstats.h"
 #include "core/or/circuituse.h"
 #include "core/or/command.h"
-#include "app/config/config.h"
-#include "app/config/confparse.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
 #include "core/or/connection_or.h"
+#include "core/or/onion.h"
+#include "core/or/policies.h"
+#include "core/or/relay.h"
+#include "feature/client/bridges.h"
+#include "feature/client/circpathbias.h"
+#include "feature/client/entrynodes.h"
+#include "feature/client/transports.h"
 #include "feature/control/control.h"
-#include "lib/crypt_ops/crypto_rand.h"
 #include "feature/dircommon/directory.h"
-#include "feature/client/entrynodes.h"
-#include "core/crypto/hs_ntor.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/microdesc.h"
 #include "feature/nodelist/networkstatus.h"
-#include "feature/nodelist/nodelist.h"
-#include "core/or/onion.h"
-#include "core/crypto/onion_crypto.h"
-#include "core/crypto/onion_tap.h"
-#include "core/crypto/onion_fast.h"
-#include "core/or/policies.h"
-#include "core/or/relay.h"
-#include "core/crypto/relay_crypto.h"
-#include "feature/rend/rendcommon.h"
-#include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routermode.h"
-#include "feature/relay/selftest.h"
+#include "feature/nodelist/nickname.h"
 #include "feature/nodelist/node_select.h"
+#include "feature/nodelist/nodelist.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/routerparse.h"
 #include "feature/nodelist/routerset.h"
-#include "feature/client/transports.h"
+#include "feature/relay/router.h"
+#include "feature/relay/routermode.h"
+#include "feature/relay/selftest.h"
+#include "feature/rend/rendcommon.h"
+#include "feature/stats/rephist.h"
+#include "lib/crypt_ops/crypto_rand.h"
 
 #include "core/or/cell_st.h"
 #include "core/or/cpath_build_state_st.h"
diff --git a/src/core/or/circuituse.c b/src/core/or/circuituse.c
index 34b51a502..d035d66ea 100644
--- a/src/core/or/circuituse.c
+++ b/src/core/or/circuituse.c
@@ -28,36 +28,36 @@
  **/
 
 #include "core/or/or.h"
-#include "feature/client/addressmap.h"
-#include "feature/client/bridges.h"
+#include "app/config/config.h"
+#include "core/mainloop/connection.h"
 #include "core/or/channel.h"
-#include "feature/client/circpathbias.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuitstats.h"
 #include "core/or/circuituse.h"
-#include "app/config/config.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
+#include "core/or/policies.h"
+#include "feature/client/addressmap.h"
+#include "feature/client/bridges.h"
+#include "feature/client/circpathbias.h"
+#include "feature/client/entrynodes.h"
 #include "feature/control/control.h"
 #include "feature/dircommon/directory.h"
-#include "feature/client/entrynodes.h"
-#include "feature/hs/hs_common.h"
-#include "feature/hs/hs_client.h"
 #include "feature/hs/hs_circuit.h"
+#include "feature/hs/hs_client.h"
+#include "feature/hs/hs_common.h"
 #include "feature/hs/hs_ident.h"
 #include "feature/hs/hs_stats.h"
-#include "feature/nodelist/nodelist.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/networkstatus.h"
-#include "core/or/policies.h"
+#include "feature/nodelist/nodelist.h"
+#include "feature/nodelist/routerlist.h"
+#include "feature/relay/routermode.h"
+#include "feature/relay/selftest.h"
 #include "feature/rend/rendclient.h"
 #include "feature/rend/rendcommon.h"
 #include "feature/rend/rendservice.h"
 #include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routermode.h"
-#include "feature/relay/selftest.h"
-#include "feature/nodelist/routerlist.h"
 #include "lib/math/fp.h"
 #include "lib/time/tvdiff.h"
 
diff --git a/src/core/or/command.c b/src/core/or/command.c
index 9e19d28c7..cbe7f622e 100644
--- a/src/core/or/command.c
+++ b/src/core/or/command.c
@@ -37,26 +37,26 @@
  *   called when channels are created in circuitbuild.c
  */
 #include "core/or/or.h"
+#include "app/config/config.h"
+#include "core/crypto/onion_crypto.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/cpuworker.h"
 #include "core/or/channel.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/command.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_or.h"
-#include "app/config/config.h"
-#include "feature/control/control.h"
-#include "core/mainloop/cpuworker.h"
-#include "lib/crypt_ops/crypto_util.h"
 #include "core/or/dos.h"
-#include "feature/hibernate/hibernate.h"
-#include "feature/nodelist/nodelist.h"
 #include "core/or/onion.h"
-#include "core/crypto/onion_crypto.h"
-#include "feature/stats/rephist.h"
 #include "core/or/relay.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routermode.h"
+#include "feature/control/control.h"
+#include "feature/hibernate/hibernate.h"
+#include "feature/nodelist/describe.h"
+#include "feature/nodelist/nodelist.h"
 #include "feature/nodelist/routerlist.h"
+#include "feature/relay/routermode.h"
+#include "feature/stats/rephist.h"
+#include "lib/crypt_ops/crypto_util.h"
 
 #include "core/or/cell_st.h"
 #include "core/or/or_circuit_st.h"
diff --git a/src/core/or/connection_edge.c b/src/core/or/connection_edge.c
index 6dc0814b1..d8b45fe35 100644
--- a/src/core/or/connection_edge.c
+++ b/src/core/or/connection_edge.c
@@ -59,44 +59,45 @@
 
 #include "lib/err/backtrace.h"
 
-#include "feature/client/addressmap.h"
-#include "lib/container/buffers.h"
+#include "app/config/config.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/mainloop.h"
 #include "core/or/channel.h"
-#include "feature/client/circpathbias.h"
+#include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuituse.h"
-#include "app/config/config.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
 #include "core/or/connection_or.h"
-#include "feature/control/control.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "feature/relay/dns.h"
+#include "core/or/policies.h"
+#include "core/or/reasons.h"
+#include "core/or/relay.h"
+#include "core/proto/proto_http.h"
+#include "core/proto/proto_socks.h"
+#include "feature/client/addressmap.h"
+#include "feature/client/circpathbias.h"
 #include "feature/client/dnsserv.h"
-#include "feature/dircommon/directory.h"
+#include "feature/control/control.h"
 #include "feature/dircache/dirserv.h"
+#include "feature/dircommon/directory.h"
 #include "feature/hibernate/hibernate.h"
-#include "feature/hs/hs_common.h"
 #include "feature/hs/hs_cache.h"
-#include "feature/hs/hs_client.h"
 #include "feature/hs/hs_circuit.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/hs/hs_client.h"
+#include "feature/hs/hs_common.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/networkstatus.h"
 #include "feature/nodelist/nodelist.h"
-#include "core/or/policies.h"
-#include "core/proto/proto_http.h"
-#include "core/proto/proto_socks.h"
-#include "core/or/reasons.h"
-#include "core/or/relay.h"
+#include "feature/nodelist/routerlist.h"
+#include "feature/nodelist/routerset.h"
+#include "feature/relay/dns.h"
+#include "feature/relay/router.h"
+#include "feature/relay/routermode.h"
 #include "feature/rend/rendclient.h"
 #include "feature/rend/rendcommon.h"
 #include "feature/rend/rendservice.h"
 #include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routermode.h"
-#include "feature/nodelist/routerlist.h"
-#include "feature/nodelist/routerset.h"
-#include "core/or/circuitbuild.h"
+#include "lib/container/buffers.h"
+#include "lib/crypt_ops/crypto_util.h"
 
 #include "core/or/cell_st.h"
 #include "core/or/cpath_build_state_st.h"
diff --git a/src/core/or/relay.c b/src/core/or/relay.c
index 47be0f403..88bcdf070 100644
--- a/src/core/or/relay.c
+++ b/src/core/or/relay.c
@@ -77,7 +77,7 @@
 #include "core/crypto/relay_crypto.h"
 #include "feature/rend/rendcache.h"
 #include "feature/rend/rendcommon.h"
-#include "feature/relay/router.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/routerparse.h"
 #include "core/or/scheduler.h"
diff --git a/src/feature/client/bridges.c b/src/feature/client/bridges.c
index e8afb5a92..47a424955 100644
--- a/src/feature/client/bridges.c
+++ b/src/feature/client/bridges.c
@@ -14,22 +14,22 @@
 #define TOR_BRIDGES_PRIVATE
 
 #include "core/or/or.h"
-#include "feature/client/bridges.h"
-#include "core/or/circuitbuild.h"
 #include "app/config/config.h"
 #include "core/mainloop/connection.h"
-#include "feature/dircommon/directory.h"
+#include "core/or/circuitbuild.h"
+#include "core/or/policies.h"
+#include "feature/client/bridges.h"
+#include "feature/client/entrynodes.h"
+#include "feature/client/transports.h"
 #include "feature/dirclient/dirclient.h"
 #include "feature/dirclient/dlstatus.h"
-#include "feature/client/entrynodes.h"
-#include "feature/nodelist/nodelist.h"
-#include "core/or/policies.h"
-#include "feature/relay/router.h"
+#include "feature/dircommon/directory.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/dirlist.h"
+#include "feature/nodelist/nodelist.h"
+#include "feature/nodelist/routerinfo.h"
 #include "feature/nodelist/routerlist.h"
-
 #include "feature/nodelist/routerset.h"
-#include "feature/client/transports.h"
 
 #include "core/or/extend_info_st.h"
 #include "feature/nodelist/node_st.h"
diff --git a/src/feature/client/entrynodes.c b/src/feature/client/entrynodes.c
index 521bf33b5..8ad16af6d 100644
--- a/src/feature/client/entrynodes.c
+++ b/src/feature/client/entrynodes.c
@@ -113,40 +113,41 @@
 #define ENTRYNODES_PRIVATE
 
 #include "core/or/or.h"
+#include "app/config/config.h"
+#include "app/config/confparse.h"
+#include "app/config/statefile.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/mainloop.h"
 #include "core/or/channel.h"
-#include "feature/client/bridges.h"
-#include "feature/client/circpathbias.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
-#include "core/or/circuituse.h"
 #include "core/or/circuitstats.h"
-#include "app/config/config.h"
-#include "app/config/confparse.h"
-#include "core/mainloop/connection.h"
+#include "core/or/circuituse.h"
+#include "core/or/policies.h"
+#include "feature/client/bridges.h"
+#include "feature/client/circpathbias.h"
+#include "feature/client/entrynodes.h"
+#include "feature/client/transports.h"
 #include "feature/control/control.h"
-#include "lib/crypt_ops/crypto_rand.h"
 #include "feature/dircommon/directory.h"
-#include "feature/client/entrynodes.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/microdesc.h"
 #include "feature/nodelist/networkstatus.h"
-#include "feature/nodelist/nodelist.h"
-#include "core/or/policies.h"
-#include "feature/relay/router.h"
+#include "feature/nodelist/nickname.h"
 #include "feature/nodelist/node_select.h"
+#include "feature/nodelist/nodelist.h"
 #include "feature/nodelist/routerparse.h"
 #include "feature/nodelist/routerset.h"
-#include "feature/client/transports.h"
-#include "app/config/statefile.h"
-#include "lib/math/fp.h"
+#include "feature/relay/router.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/digestset.h"
 #include "lib/encoding/confline.h"
+#include "lib/math/fp.h"
 
 #include "feature/nodelist/node_st.h"
 #include "core/or/origin_circuit_st.h"
 #include "app/config/or_state_st.h"
 
-#include "lib/crypt_ops/digestset.h"
-
 /** A list of existing guard selection contexts. */
 static smartlist_t *guard_contexts = NULL;
 /** The currently enabled guard selection context. */
diff --git a/src/feature/control/control.c b/src/feature/control/control.c
index 43ec0bd8b..d8d08f2c8 100644
--- a/src/feature/control/control.c
+++ b/src/feature/control/control.c
@@ -36,9 +36,11 @@
 #define CONTROL_PRIVATE
 
 #include "core/or/or.h"
-#include "feature/client/addressmap.h"
-#include "feature/client/bridges.h"
-#include "lib/container/buffers.h"
+#include "app/config/config.h"
+#include "app/config/confparse.h"
+#include "app/main/main.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/mainloop.h"
 #include "core/or/channel.h"
 #include "core/or/channeltls.h"
 #include "core/or/circuitbuild.h"
@@ -46,49 +48,48 @@
 #include "core/or/circuitstats.h"
 #include "core/or/circuituse.h"
 #include "core/or/command.h"
-#include "lib/evloop/compat_libevent.h"
-#include "app/config/config.h"
-#include "app/config/confparse.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
 #include "core/or/connection_or.h"
+#include "core/or/policies.h"
+#include "core/or/reasons.h"
+#include "core/proto/proto_control0.h"
+#include "core/proto/proto_http.h"
+#include "feature/client/addressmap.h"
+#include "feature/client/bridges.h"
+#include "feature/client/dnsserv.h"
+#include "feature/client/entrynodes.h"
 #include "feature/control/control.h"
 #include "feature/control/fmt_serverstatus.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "feature/dircommon/directory.h"
+#include "feature/dircache/dirserv.h"
 #include "feature/dirclient/dirclient.h"
 #include "feature/dirclient/dlstatus.h"
-#include "feature/dircache/dirserv.h"
-#include "feature/client/dnsserv.h"
-#include "feature/client/entrynodes.h"
-#include "feature/stats/geoip.h"
+#include "feature/dircommon/directory.h"
 #include "feature/hibernate/hibernate.h"
 #include "feature/hs/hs_cache.h"
 #include "feature/hs/hs_common.h"
 #include "feature/hs/hs_control.h"
-#include "app/main/main.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/hs_common/shared_random_client.h"
+#include "feature/nodelist/authcert.h"
+#include "feature/nodelist/dirlist.h"
 #include "feature/nodelist/microdesc.h"
 #include "feature/nodelist/networkstatus.h"
 #include "feature/nodelist/nodelist.h"
-#include "core/or/policies.h"
-#include "core/proto/proto_control0.h"
-#include "core/proto/proto_http.h"
-#include "core/or/reasons.h"
+#include "feature/nodelist/routerinfo.h"
+#include "feature/nodelist/routerlist.h"
+#include "feature/nodelist/routerparse.h"
+#include "feature/relay/router.h"
+#include "feature/relay/routermode.h"
+#include "feature/relay/selftest.h"
 #include "feature/rend/rendclient.h"
 #include "feature/rend/rendcommon.h"
 #include "feature/rend/rendservice.h"
+#include "feature/stats/geoip.h"
 #include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routermode.h"
-#include "feature/relay/selftest.h"
-#include "feature/nodelist/authcert.h"
-#include "feature/nodelist/dirlist.h"
-#include "feature/nodelist/routerlist.h"
-#include "feature/nodelist/routerparse.h"
-#include "feature/hs_common/shared_random_client.h"
+#include "lib/container/buffers.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_util.h"
 #include "lib/encoding/confline.h"
+#include "lib/evloop/compat_libevent.h"
 
 #include "feature/dircache/cached_dir_st.h"
 #include "feature/control/control_connection_st.h"
diff --git a/src/feature/control/fmt_serverstatus.c b/src/feature/control/fmt_serverstatus.c
index ed9f14ab3..eef85d356 100644
--- a/src/feature/control/fmt_serverstatus.c
+++ b/src/feature/control/fmt_serverstatus.c
@@ -10,7 +10,7 @@
 #include "feature/dirauth/authmode.h"
 #include "feature/dirauth/voteflags.h"// XXXX remove
 #include "feature/nodelist/nodelist.h"
-#include "feature/relay/router.h"
+#include "feature/nodelist/routerinfo.h"
 
 #include "feature/nodelist/node_st.h"
 #include "feature/nodelist/routerinfo_st.h"
diff --git a/src/feature/dirauth/process_descs.c b/src/feature/dirauth/process_descs.c
index 1cf31f85c..823a1b879 100644
--- a/src/feature/dirauth/process_descs.c
+++ b/src/feature/dirauth/process_descs.c
@@ -21,8 +21,10 @@
 #include "feature/dirauth/reachability.h"
 #include "feature/dirclient/dlstatus.h"
 #include "feature/dircommon/directory.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/networkstatus.h"
 #include "feature/nodelist/nodelist.h"
+#include "feature/nodelist/routerinfo.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/routerparse.h"
 #include "feature/nodelist/torcert.h"
diff --git a/src/feature/dirauth/reachability.c b/src/feature/dirauth/reachability.c
index 79c98d3ee..122c239f9 100644
--- a/src/feature/dirauth/reachability.c
+++ b/src/feature/dirauth/reachability.c
@@ -17,10 +17,11 @@
 #include "core/or/channeltls.h"
 #include "core/or/command.h"
 #include "feature/dirauth/authmode.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/nodelist.h"
+#include "feature/nodelist/routerinfo.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/torcert.h"
-#include "feature/relay/router.h"
 #include "feature/stats/rephist.h"
 
 #include "feature/nodelist/node_st.h"
diff --git a/src/feature/dirclient/dirclient.c b/src/feature/dirclient/dirclient.c
index 16d2e03b4..4b86e96eb 100644
--- a/src/feature/dirclient/dirclient.c
+++ b/src/feature/dirclient/dirclient.c
@@ -15,8 +15,8 @@
 #include "feature/client/bridges.h"
 #include "feature/client/entrynodes.h"
 #include "feature/control/control.h"
-#include "feature/dirauth/dirvote.h"
 #include "feature/dirauth/authmode.h"
+#include "feature/dirauth/dirvote.h"
 #include "feature/dirauth/shared_random.h"
 #include "feature/dircache/dirserv.h"
 #include "feature/dirclient/dirclient.h"
@@ -28,11 +28,13 @@
 #include "feature/hs/hs_client.h"
 #include "feature/hs/hs_control.h"
 #include "feature/nodelist/authcert.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/dirlist.h"
 #include "feature/nodelist/microdesc.h"
 #include "feature/nodelist/networkstatus.h"
 #include "feature/nodelist/node_select.h"
 #include "feature/nodelist/nodelist.h"
+#include "feature/nodelist/routerinfo.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/routerset.h"
 #include "feature/relay/routermode.h"
diff --git a/src/feature/hs/hs_circuit.c b/src/feature/hs/hs_circuit.c
index 70760e013..092781d7e 100644
--- a/src/feature/hs/hs_circuit.c
+++ b/src/feature/hs/hs_circuit.c
@@ -8,27 +8,26 @@
 #define HS_CIRCUIT_PRIVATE
 
 #include "core/or/or.h"
-#include "feature/client/circpathbias.h"
+#include "app/config/config.h"
+#include "core/crypto/hs_ntor.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuituse.h"
-#include "app/config/config.h"
-#include "lib/crypt_ops/crypto_dh.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "feature/nodelist/nodelist.h"
 #include "core/or/policies.h"
 #include "core/or/relay.h"
-#include "feature/rend/rendservice.h"
-#include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-
+#include "feature/client/circpathbias.h"
 #include "feature/hs/hs_cell.h"
+#include "feature/hs/hs_circuit.h"
 #include "feature/hs/hs_circuitmap.h"
 #include "feature/hs/hs_ident.h"
-#include "core/crypto/hs_ntor.h"
 #include "feature/hs/hs_service.h"
-#include "feature/hs/hs_circuit.h"
+#include "feature/nodelist/describe.h"
+#include "feature/nodelist/nodelist.h"
+#include "feature/rend/rendservice.h"
+#include "feature/stats/rephist.h"
+#include "lib/crypt_ops/crypto_dh.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_util.h"
 
 /* Trunnel. */
 #include "trunnel/ed25519_cert.h"
diff --git a/src/feature/hs/hs_client.c b/src/feature/hs/hs_client.c
index 0d382f9c8..3fd6d1f01 100644
--- a/src/feature/hs/hs_client.c
+++ b/src/feature/hs/hs_client.c
@@ -9,18 +9,17 @@
 #define HS_CLIENT_PRIVATE
 
 #include "core/or/or.h"
-#include "feature/client/circpathbias.h"
+#include "app/config/config.h"
+#include "core/crypto/hs_ntor.h"
+#include "core/mainloop/connection.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuituse.h"
-#include "app/config/config.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
-#include "lib/crypt_ops/crypto_format.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "feature/dircommon/directory.h"
+#include "core/or/reasons.h"
+#include "feature/client/circpathbias.h"
 #include "feature/dirclient/dirclient.h"
+#include "feature/dircommon/directory.h"
 #include "feature/hs/hs_cache.h"
 #include "feature/hs/hs_cell.h"
 #include "feature/hs/hs_circuit.h"
@@ -29,13 +28,14 @@
 #include "feature/hs/hs_control.h"
 #include "feature/hs/hs_descriptor.h"
 #include "feature/hs/hs_ident.h"
-#include "core/crypto/hs_ntor.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/networkstatus.h"
 #include "feature/nodelist/nodelist.h"
-#include "core/or/reasons.h"
-#include "feature/rend/rendclient.h"
-#include "feature/relay/router.h"
 #include "feature/nodelist/routerset.h"
+#include "feature/rend/rendclient.h"
+#include "lib/crypt_ops/crypto_format.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_util.h"
 
 #include "core/or/cpath_build_state_st.h"
 #include "feature/dircommon/dir_connection_st.h"
diff --git a/src/feature/hs/hs_common.c b/src/feature/hs/hs_common.c
index c36892e0f..4bad4ae6e 100644
--- a/src/feature/hs/hs_common.c
+++ b/src/feature/hs/hs_common.c
@@ -15,23 +15,23 @@
 
 #include "app/config/config.h"
 #include "core/or/circuitbuild.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "feature/nodelist/networkstatus.h"
-#include "feature/nodelist/nodelist.h"
+#include "core/or/policies.h"
+#include "feature/dirauth/shared_random_state.h"
 #include "feature/hs/hs_cache.h"
-#include "feature/hs/hs_common.h"
+#include "feature/hs/hs_circuitmap.h"
 #include "feature/hs/hs_client.h"
+#include "feature/hs/hs_common.h"
 #include "feature/hs/hs_ident.h"
 #include "feature/hs/hs_service.h"
-#include "feature/hs/hs_circuitmap.h"
-#include "core/or/policies.h"
+#include "feature/hs_common/shared_random_client.h"
+#include "feature/nodelist/describe.h"
+#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nodelist.h"
+#include "feature/nodelist/routerset.h"
 #include "feature/rend/rendcommon.h"
 #include "feature/rend/rendservice.h"
-#include "feature/nodelist/routerset.h"
-#include "feature/relay/router.h"
-#include "feature/hs_common/shared_random_client.h"
-#include "feature/dirauth/shared_random_state.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_util.h"
 
 #include "core/or/edge_connection_st.h"
 #include "feature/nodelist/networkstatus_st.h"
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index aa031bd70..78654bfb2 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -9,29 +9,29 @@
 #define HS_SERVICE_PRIVATE
 
 #include "core/or/or.h"
-#include "feature/client/circpathbias.h"
+#include "app/config/config.h"
+#include "app/config/statefile.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/mainloop.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuituse.h"
-#include "app/config/config.h"
-#include "core/mainloop/connection.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "lib/crypt_ops/crypto_ope.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "feature/dircommon/directory.h"
+#include "core/or/relay.h"
+#include "feature/client/circpathbias.h"
 #include "feature/dirclient/dirclient.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/dircommon/directory.h"
+#include "feature/hs_common/shared_random_client.h"
+#include "feature/keymgt/loadkey.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nickname.h"
+#include "feature/nodelist/node_select.h"
 #include "feature/nodelist/nodelist.h"
-#include "core/or/relay.h"
 #include "feature/rend/rendservice.h"
-#include "feature/relay/router.h"
-#include "feature/keymgt/loadkey.h"
-//#include "feature/relay/routerkeys.h"
-#include "feature/nodelist/node_select.h"
-#include "feature/hs_common/shared_random_client.h"
-#include "app/config/statefile.h"
+#include "lib/crypt_ops/crypto_ope.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_util.h"
 
 #include "feature/hs/hs_circuit.h"
 #include "feature/hs/hs_common.h"
diff --git a/src/feature/nodelist/describe.c b/src/feature/nodelist/describe.c
index 0ef9e3e7f..6df3da196 100644
--- a/src/feature/nodelist/describe.c
+++ b/src/feature/nodelist/describe.c
@@ -11,7 +11,7 @@
 
 #include "core/or/or.h"
 #include "feature/nodelist/describe.h"
-#include "feature/relay/router.h"
+#include "feature/nodelist/routerinfo.h"
 
 #include "core/or/extend_info_st.h"
 #include "feature/nodelist/node_st.h"
diff --git a/src/feature/nodelist/networkstatus.c b/src/feature/nodelist/networkstatus.c
index 40457ef68..67b5a1d04 100644
--- a/src/feature/nodelist/networkstatus.c
+++ b/src/feature/nodelist/networkstatus.c
@@ -38,45 +38,47 @@
 
 #define NETWORKSTATUS_PRIVATE
 #include "core/or/or.h"
-#include "feature/client/bridges.h"
+#include "app/config/config.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
 #include "core/or/channel.h"
+#include "core/or/channelpadding.h"
 #include "core/or/circuitmux.h"
 #include "core/or/circuitmux_ewma.h"
 #include "core/or/circuitstats.h"
-#include "app/config/config.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
 #include "core/or/connection_or.h"
-#include "feature/dircache/consdiffmgr.h"
+#include "core/or/dos.h"
+#include "core/or/protover.h"
+#include "core/or/relay.h"
+#include "core/or/scheduler.h"
+#include "feature/client/bridges.h"
+#include "feature/client/entrynodes.h"
+#include "feature/client/transports.h"
 #include "feature/control/control.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "feature/dircommon/directory.h"
+#include "feature/dirauth/reachability.h"
+#include "feature/dircache/consdiffmgr.h"
+#include "feature/dircache/dirserv.h"
 #include "feature/dirclient/dirclient.h"
 #include "feature/dirclient/dlstatus.h"
-#include "feature/dircache/dirserv.h"
-#include "feature/dirauth/reachability.h"
-#include "core/or/dos.h"
-#include "feature/client/entrynodes.h"
+#include "feature/dircommon/directory.h"
+#include "feature/dircommon/voting_schedule.h"
 #include "feature/hibernate/hibernate.h"
-#include "core/mainloop/mainloop.h"
-#include "feature/nodelist/microdesc.h"
-#include "feature/nodelist/networkstatus.h"
-#include "feature/nodelist/nodelist.h"
-#include "core/or/protover.h"
-#include "core/or/relay.h"
-#include "feature/relay/routermode.h"
 #include "feature/nodelist/authcert.h"
 #include "feature/nodelist/dirlist.h"
+#include "feature/nodelist/fmt_routerstatus.h"
+#include "feature/nodelist/microdesc.h"
+#include "feature/nodelist/networkstatus.h"
 #include "feature/nodelist/node_select.h"
+#include "feature/nodelist/nodelist.h"
+#include "feature/nodelist/routerinfo.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/routerparse.h"
-#include "core/or/scheduler.h"
-#include "feature/client/transports.h"
 #include "feature/nodelist/torcert.h"
-#include "core/or/channelpadding.h"
-#include "feature/dircommon/voting_schedule.h"
-#include "feature/nodelist/fmt_routerstatus.h"
+#include "feature/relay/routermode.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_util.h"
 
 #include "feature/dirauth/dirvote.h"
 #include "feature/dirauth/authmode.h"
diff --git a/src/feature/nodelist/node_select.c b/src/feature/nodelist/node_select.c
index 6d58705cc..04a24de9a 100644
--- a/src/feature/nodelist/node_select.c
+++ b/src/feature/nodelist/node_select.c
@@ -18,8 +18,9 @@
 #include "core/or/policies.h"
 #include "core/or/reasons.h"
 #include "feature/client/entrynodes.h"
-#include "feature/dircommon/directory.h"
 #include "feature/dirclient/dirclient.h"
+#include "feature/dircommon/directory.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/dirlist.h"
 #include "feature/nodelist/microdesc.h"
 #include "feature/nodelist/networkstatus.h"
diff --git a/src/feature/nodelist/nodelist.c b/src/feature/nodelist/nodelist.c
index b5ded356b..e3b77d562 100644
--- a/src/feature/nodelist/nodelist.c
+++ b/src/feature/nodelist/nodelist.c
@@ -41,31 +41,32 @@
 #define NODELIST_PRIVATE
 
 #include "core/or/or.h"
-#include "lib/net/address.h"
+#include "app/config/config.h"
+#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
 #include "core/or/address_set.h"
+#include "core/or/policies.h"
+#include "core/or/protover.h"
 #include "feature/client/bridges.h"
-#include "app/config/config.h"
+#include "feature/client/entrynodes.h"
 #include "feature/control/control.h"
-#include "feature/dircache/dirserv.h"
 #include "feature/dirauth/process_descs.h"
-#include "feature/client/entrynodes.h"
-#include "feature/stats/geoip.h"
-#include "feature/hs/hs_common.h"
+#include "feature/dircache/dirserv.h"
 #include "feature/hs/hs_client.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/hs/hs_common.h"
+#include "feature/nodelist/describe.h"
+#include "feature/nodelist/dirlist.h"
 #include "feature/nodelist/microdesc.h"
 #include "feature/nodelist/networkstatus.h"
-#include "feature/nodelist/nodelist.h"
-#include "core/or/policies.h"
-#include "core/or/protover.h"
-#include "feature/rend/rendservice.h"
-#include "feature/relay/router.h"
-#include "feature/nodelist/dirlist.h"
 #include "feature/nodelist/node_select.h"
+#include "feature/nodelist/nodelist.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/routerparse.h"
 #include "feature/nodelist/routerset.h"
 #include "feature/nodelist/torcert.h"
+#include "feature/rend/rendservice.h"
+#include "feature/stats/geoip.h"
+#include "lib/net/address.h"
 
 #include <string.h>
 
diff --git a/src/feature/nodelist/routerlist.c b/src/feature/nodelist/routerlist.c
index 2bd6e5c6f..20956d8cc 100644
--- a/src/feature/nodelist/routerlist.c
+++ b/src/feature/nodelist/routerlist.c
@@ -69,18 +69,20 @@
 #include "feature/client/bridges.h"
 #include "feature/control/control.h"
 #include "feature/dirauth/authmode.h"
-#include "feature/dircommon/directory.h"
-#include "feature/dirclient/dirclient.h"
+#include "feature/dirauth/process_descs.h"
+#include "feature/dirauth/reachability.h"
 #include "feature/dircache/dirserv.h"
+#include "feature/dirclient/dirclient.h"
 #include "feature/dirclient/dlstatus.h"
-#include "feature/dirauth/reachability.h"
-#include "feature/dirauth/process_descs.h"
+#include "feature/dircommon/directory.h"
 #include "feature/nodelist/authcert.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/dirlist.h"
 #include "feature/nodelist/microdesc.h"
 #include "feature/nodelist/networkstatus.h"
-#include "feature/nodelist/nodelist.h"
 #include "feature/nodelist/node_select.h"
+#include "feature/nodelist/nodelist.h"
+#include "feature/nodelist/routerinfo.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/routerparse.h"
 #include "feature/nodelist/routerset.h"
diff --git a/src/feature/nodelist/routerparse.c b/src/feature/nodelist/routerparse.c
index a72cf98f5..c12f411e8 100644
--- a/src/feature/nodelist/routerparse.c
+++ b/src/feature/nodelist/routerparse.c
@@ -56,29 +56,32 @@
 #define ROUTERPARSE_PRIVATE
 
 #include "core/or/or.h"
-#include "core/or/circuitstats.h"
 #include "app/config/config.h"
-#include "lib/crypt_ops/crypto_format.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "feature/dirauth/shared_random.h"
+#include "core/or/circuitstats.h"
+#include "core/or/policies.h"
+#include "core/or/protover.h"
 #include "feature/client/entrynodes.h"
-#include "lib/memarea/memarea.h"
+#include "feature/dirauth/shared_random.h"
+#include "feature/dircommon/voting_schedule.h"
+#include "feature/hs_common/shared_random_client.h"
+#include "feature/nodelist/authcert.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/microdesc.h"
 #include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nickname.h"
 #include "feature/nodelist/parsecommon.h"
-#include "core/or/policies.h"
-#include "core/or/protover.h"
-#include "feature/rend/rendcommon.h"
-#include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routerkeys.h"
+#include "feature/nodelist/routerinfo.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/routerparse.h"
-#include "feature/nodelist/authcert.h"
-#include "lib/sandbox/sandbox.h"
-#include "feature/hs_common/shared_random_client.h"
 #include "feature/nodelist/torcert.h"
-#include "feature/dircommon/voting_schedule.h"
+#include "feature/relay/router.h"
+#include "feature/relay/routerkeys.h"
+#include "feature/rend/rendcommon.h"
+#include "feature/stats/rephist.h"
+#include "lib/crypt_ops/crypto_format.h"
+#include "lib/crypt_ops/crypto_util.h"
+#include "lib/memarea/memarea.h"
+#include "lib/sandbox/sandbox.h"
 
 #include "feature/dirauth/dirvote.h"
 
diff --git a/src/feature/nodelist/routerset.c b/src/feature/nodelist/routerset.c
index cd4269774..08124835a 100644
--- a/src/feature/nodelist/routerset.c
+++ b/src/feature/nodelist/routerset.c
@@ -28,13 +28,13 @@ n * Copyright (c) 2001-2004, Roger Dingledine.
 #define ROUTERSET_PRIVATE
 
 #include "core/or/or.h"
+#include "core/or/policies.h"
 #include "feature/client/bridges.h"
-#include "feature/stats/geoip.h"
+#include "feature/nodelist/nickname.h"
 #include "feature/nodelist/nodelist.h"
-#include "core/or/policies.h"
-#include "feature/relay/router.h"
 #include "feature/nodelist/routerparse.h"
 #include "feature/nodelist/routerset.h"
+#include "feature/stats/geoip.h"
 
 #include "core/or/addr_policy_st.h"
 #include "core/or/extend_info_st.h"
diff --git a/src/feature/relay/dns.c b/src/feature/relay/dns.c
index 52488ff94..bc507d47f 100644
--- a/src/feature/relay/dns.c
+++ b/src/feature/relay/dns.c
@@ -50,26 +50,28 @@
 #define DNS_PRIVATE
 
 #include "core/or/or.h"
-#include "core/or/circuitlist.h"
-#include "core/or/circuituse.h"
 #include "app/config/config.h"
 #include "core/mainloop/connection.h"
-#include "core/or/connection_edge.h"
-#include "feature/control/control.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "feature/relay/dns.h"
 #include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
+#include "core/or/circuitlist.h"
+#include "core/or/circuituse.h"
+#include "core/or/connection_edge.h"
 #include "core/or/policies.h"
 #include "core/or/relay.h"
+#include "feature/control/control.h"
+#include "feature/relay/dns.h"
 #include "feature/relay/router.h"
 #include "feature/relay/routermode.h"
-#include "ht.h"
-#include "lib/sandbox/sandbox.h"
+#include "lib/crypt_ops/crypto_rand.h"
 #include "lib/evloop/compat_libevent.h"
+#include "lib/sandbox/sandbox.h"
 
 #include "core/or/edge_connection_st.h"
 #include "core/or/or_circuit_st.h"
 
+#include "ht.h"
+
 #ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif
diff --git a/src/feature/relay/router.c b/src/feature/relay/router.c
index 05e3fb3b2..adec40e54 100644
--- a/src/feature/relay/router.c
+++ b/src/feature/relay/router.c
@@ -7,43 +7,50 @@
 #define ROUTER_PRIVATE
 
 #include "core/or/or.h"
-#include "core/or/circuitbuild.h"
-#include "core/or/circuitlist.h"
-#include "core/or/circuituse.h"
 #include "app/config/config.h"
-#include "core/mainloop/connection.h"
-#include "feature/control/control.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "lib/crypt_ops/crypto_curve25519.h"
-#include "feature/dircommon/directory.h"
-#include "feature/dirclient/dirclient.h"
-#include "feature/dircache/dirserv.h"
-#include "feature/dirauth/process_descs.h"
-#include "feature/relay/dns.h"
-#include "feature/stats/geoip.h"
-#include "feature/hibernate/hibernate.h"
+#include "app/config/statefile.h"
 #include "app/main/main.h"
+#include "core/mainloop/connection.h"
 #include "core/mainloop/mainloop.h"
-#include "feature/nodelist/networkstatus.h"
-#include "feature/nodelist/nodelist.h"
+#include "core/mainloop/netstatus.h"
+#include "core/or/circuitbuild.h"
+#include "core/or/circuitlist.h"
+#include "core/or/circuituse.h"
 #include "core/or/policies.h"
 #include "core/or/protover.h"
 #include "core/or/relay.h"
+#include "feature/client/transports.h"
+#include "feature/control/control.h"
+#include "feature/dirauth/process_descs.h"
+#include "feature/dircache/dirserv.h"
+#include "feature/dirclient/dirclient.h"
+#include "feature/dircommon/directory.h"
+#include "feature/hibernate/hibernate.h"
 #include "feature/keymgt/loadkey.h"
-#include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routerkeys.h"
-#include "feature/relay/routermode.h"
-#include "feature/relay/selftest.h"
 #include "feature/nodelist/authcert.h"
 #include "feature/nodelist/dirlist.h"
+#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nickname.h"
+#include "feature/nodelist/nodelist.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/routerparse.h"
-#include "app/config/statefile.h"
-#include "feature/nodelist/torcert.h"
-#include "feature/client/transports.h"
 #include "feature/nodelist/routerset.h"
+#include "feature/nodelist/torcert.h"
+#include "feature/relay/dns.h"
+#include "feature/relay/router.h"
+#include "feature/relay/routerkeys.h"
+#include "feature/relay/routermode.h"
+#include "feature/relay/selftest.h"
+#include "feature/stats/geoip.h"
+#include "feature/stats/rephist.h"
+#include "lib/crypt_ops/crypto_curve25519.h"
+#include "lib/crypt_ops/crypto_format.h"
+#include "lib/crypt_ops/crypto_init.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_util.h"
+#include "lib/encoding/confline.h"
+#include "lib/osinfo/uname.h"
+#include "lib/tls/tortls.h"
 
 #include "feature/dirauth/authmode.h"
 
@@ -59,12 +66,6 @@
 #include "core/or/port_cfg_st.h"
 #include "feature/nodelist/routerinfo_st.h"
 
-#include "lib/osinfo/uname.h"
-#include "lib/tls/tortls.h"
-#include "lib/encoding/confline.h"
-#include "lib/crypt_ops/crypto_format.h"
-#include "lib/crypt_ops/crypto_init.h"
-
 /**
  * \file router.c
  * \brief Miscellaneous relay functionality, including RSA key maintenance,
diff --git a/src/feature/relay/router.h b/src/feature/relay/router.h
index a9c7ac3fd..4575172af 100644
--- a/src/feature/relay/router.h
+++ b/src/feature/relay/router.h
@@ -13,10 +13,6 @@
 #define TOR_ROUTER_H
 
 #include "lib/testsupport/testsupport.h"
-#include "feature/nodelist/describe.h"
-#include "feature/nodelist/nickname.h"
-#include "feature/nodelist/routerinfo.h"
-#include "core/mainloop/netstatus.h"
 
 struct curve25519_keypair_t;
 struct ed25519_keypair_t;
diff --git a/src/feature/relay/selftest.c b/src/feature/relay/selftest.c
index 789870d29..26205aad0 100644
--- a/src/feature/relay/selftest.c
+++ b/src/feature/relay/selftest.c
@@ -19,6 +19,7 @@
 #include "app/config/config.h"
 #include "core/mainloop/connection.h"
 #include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuituse.h"
@@ -29,6 +30,7 @@
 #include "feature/dirclient/dirclient.h"
 #include "feature/dircommon/directory.h"
 #include "feature/nodelist/authority_cert_st.h"
+#include "feature/nodelist/routerinfo.h"
 #include "feature/nodelist/routerinfo_st.h"
 #include "feature/nodelist/routerlist.h" // but...
 #include "feature/nodelist/routerset.h"
diff --git a/src/feature/rend/rendclient.c b/src/feature/rend/rendclient.c
index d1310699f..10b67ceda 100644
--- a/src/feature/rend/rendclient.c
+++ b/src/feature/rend/rendclient.c
@@ -8,32 +8,32 @@
  **/
 
 #include "core/or/or.h"
-#include "feature/client/circpathbias.h"
+#include "app/config/config.h"
+#include "core/mainloop/connection.h"
+#include "core/mainloop/mainloop.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuituse.h"
-#include "app/config/config.h"
-#include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
+#include "core/or/relay.h"
+#include "feature/client/circpathbias.h"
 #include "feature/control/control.h"
-#include "lib/crypt_ops/crypto_dh.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "feature/dircommon/directory.h"
 #include "feature/dirclient/dirclient.h"
+#include "feature/dircommon/directory.h"
 #include "feature/hs/hs_circuit.h"
 #include "feature/hs/hs_client.h"
 #include "feature/hs/hs_common.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/networkstatus.h"
 #include "feature/nodelist/nodelist.h"
-#include "core/or/relay.h"
+#include "feature/nodelist/routerlist.h"
+#include "feature/nodelist/routerset.h"
 #include "feature/rend/rendclient.h"
 #include "feature/rend/rendcommon.h"
 #include "feature/stats/rephist.h"
-#include "feature/relay/router.h"
-#include "feature/nodelist/routerlist.h"
-#include "feature/nodelist/routerset.h"
+#include "lib/crypt_ops/crypto_dh.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_util.h"
 #include "lib/encoding/confline.h"
 
 #include "core/or/cpath_build_state_st.h"
diff --git a/src/feature/rend/rendservice.c b/src/feature/rend/rendservice.c
index b16574003..8257919ac 100644
--- a/src/feature/rend/rendservice.c
+++ b/src/feature/rend/rendservice.c
@@ -10,34 +10,36 @@
 #define RENDSERVICE_PRIVATE
 
 #include "core/or/or.h"
-#include "feature/client/circpathbias.h"
+
+#include "app/config/config.h"
+#include "core/mainloop/mainloop.h"
 #include "core/or/circuitbuild.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuituse.h"
-#include "app/config/config.h"
+#include "core/or/policies.h"
+#include "core/or/relay.h"
+#include "feature/client/circpathbias.h"
 #include "feature/control/control.h"
-#include "lib/crypt_ops/crypto_dh.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "lib/crypt_ops/crypto_util.h"
-#include "feature/dircommon/directory.h"
 #include "feature/dirclient/dirclient.h"
+#include "feature/dircommon/directory.h"
 #include "feature/hs/hs_common.h"
 #include "feature/hs/hs_config.h"
-#include "core/mainloop/mainloop.h"
+#include "feature/hs_common/replaycache.h"
+#include "feature/keymgt/loadkey.h"
+#include "feature/nodelist/describe.h"
 #include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nickname.h"
+#include "feature/nodelist/node_select.h"
 #include "feature/nodelist/nodelist.h"
-#include "core/or/policies.h"
+#include "feature/nodelist/routerparse.h"
+#include "feature/nodelist/routerset.h"
 #include "feature/rend/rendclient.h"
 #include "feature/rend/rendcommon.h"
 #include "feature/rend/rendservice.h"
-#include "feature/relay/router.h"
-#include "feature/keymgt/loadkey.h"
-#include "core/or/relay.h"
 #include "feature/stats/rephist.h"
-#include "feature/hs_common/replaycache.h"
-#include "feature/nodelist/node_select.h"
-#include "feature/nodelist/routerparse.h"
-#include "feature/nodelist/routerset.h"
+#include "lib/crypt_ops/crypto_dh.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_util.h"
 #include "lib/encoding/confline.h"
 #include "lib/net/resolve.h"
 
diff --git a/src/test/test_dir.c b/src/test/test_dir.c
index 58070766a..aa1c706b1 100644
--- a/src/test/test_dir.c
+++ b/src/test/test_dir.c
@@ -24,48 +24,49 @@
 #define VOTEFLAGS_PRIVATE
 
 #include "core/or/or.h"
-#include "feature/client/bridges.h"
-#include "core/mainloop/connection.h"
-#include "app/config/confparse.h"
 #include "app/config/config.h"
+#include "app/config/confparse.h"
+#include "core/mainloop/connection.h"
+#include "core/or/relay.h"
+#include "feature/client/bridges.h"
+#include "feature/client/entrynodes.h"
 #include "feature/control/control.h"
-#include "lib/encoding/confline.h"
-#include "lib/crypt_ops/crypto_ed25519.h"
-#include "lib/crypt_ops/crypto_format.h"
-#include "lib/crypt_ops/crypto_rand.h"
-#include "feature/dircommon/directory.h"
-#include "feature/dirclient/dirclient.h"
-#include "feature/dirclient/dlstatus.h"
 #include "feature/dirauth/bwauth.h"
-#include "feature/dircache/dircache.h"
-#include "feature/dircache/dirserv.h"
-#include "feature/dirauth/process_descs.h"
 #include "feature/dirauth/dirvote.h"
+#include "feature/dirauth/process_descs.h"
 #include "feature/dirauth/recommend_pkg.h"
+#include "feature/dirauth/shared_random_state.h"
 #include "feature/dirauth/voteflags.h"
-#include "feature/client/entrynodes.h"
+#include "feature/dircache/dircache.h"
+#include "feature/dircache/dirserv.h"
+#include "feature/dirclient/dirclient.h"
+#include "feature/dirclient/dlstatus.h"
+#include "feature/dircommon/directory.h"
 #include "feature/dircommon/fp_pair.h"
+#include "feature/dircommon/voting_schedule.h"
 #include "feature/hibernate/hibernate.h"
-#include "lib/memarea/memarea.h"
-#include "lib/osinfo/uname.h"
-#include "feature/nodelist/networkstatus.h"
-#include "feature/relay/router.h"
-#include "feature/relay/routerkeys.h"
-#include "feature/relay/routermode.h"
 #include "feature/nodelist/authcert.h"
 #include "feature/nodelist/dirlist.h"
+#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nickname.h"
 #include "feature/nodelist/node_select.h"
 #include "feature/nodelist/routerlist.h"
 #include "feature/nodelist/routerparse.h"
 #include "feature/nodelist/routerset.h"
-#include "feature/dirauth/shared_random_state.h"
-#include "test/test.h"
-#include "test/test_dir_common.h"
 #include "feature/nodelist/torcert.h"
-#include "core/or/relay.h"
-#include "test/log_test_helpers.h"
-#include "feature/dircommon/voting_schedule.h"
+#include "feature/relay/router.h"
+#include "feature/relay/routerkeys.h"
+#include "feature/relay/routermode.h"
 #include "lib/compress/compress.h"
+#include "lib/crypt_ops/crypto_ed25519.h"
+#include "lib/crypt_ops/crypto_format.h"
+#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/encoding/confline.h"
+#include "lib/memarea/memarea.h"
+#include "lib/osinfo/uname.h"
+#include "test/log_test_helpers.h"
+#include "test/test.h"
+#include "test/test_dir_common.h"
 
 #include "core/or/addr_policy_st.h"
 #include "feature/nodelist/authority_cert_st.h"





More information about the tor-commits mailing list