Include ht.h in all headers that use HT_ENTRY()

Without this change, compilation success depends on include order in
several tricky ways.
This commit is contained in:
Nick Mathewson 2019-12-16 13:17:11 -05:00
parent afa36682f9
commit 2f7a2c42d2
10 changed files with 17 additions and 3 deletions

View File

@ -35,4 +35,6 @@ trunnel/*.h
core/mainloop/*.h core/mainloop/*.h
core/proto/*.h core/proto/*.h
core/crypto/*.h core/crypto/*.h
core/or/*.h core/or/*.h
ext/*.h

View File

@ -14,6 +14,7 @@
#include "lib/container/handles.h" #include "lib/container/handles.h"
#include "lib/crypt_ops/crypto_ed25519.h" #include "lib/crypt_ops/crypto_ed25519.h"
#include "ext/ht.h"
#include "tor_queue.h" #include "tor_queue.h"
#define tor_timer_t timeout #define tor_timer_t timeout

View File

@ -17,6 +17,7 @@
#include "lib/container/handles.h" #include "lib/container/handles.h"
#include "core/or/cell_queue_st.h" #include "core/or/cell_queue_st.h"
#include "ext/ht.h"
struct hs_token_t; struct hs_token_t;
struct circpad_machine_spec_t; struct circpad_machine_spec_t;

View File

@ -138,6 +138,8 @@ MOCK_DECL(void, scheduler_channel_has_waiting_cells, (channel_t *chan));
*****************************************************************************/ *****************************************************************************/
#ifdef SCHEDULER_PRIVATE_ #ifdef SCHEDULER_PRIVATE_
#include "ext/ht.h"
/********************************* /*********************************
* Defined in scheduler.c * Defined in scheduler.c
*********************************/ *********************************/
@ -215,4 +217,3 @@ scheduler_t *get_vanilla_scheduler(void);
#endif /* defined(SCHEDULER_PRIVATE_) */ #endif /* defined(SCHEDULER_PRIVATE_) */
#endif /* !defined(TOR_SCHEDULER_H) */ #endif /* !defined(TOR_SCHEDULER_H) */

View File

@ -45,6 +45,8 @@ int keypin_check_lone_rsa(const uint8_t *rsa_id_digest);
#ifdef KEYPIN_PRIVATE #ifdef KEYPIN_PRIVATE
#include "ext/ht.h"
/** /**
* In-memory representation of a key-pinning table entry. * In-memory representation of a key-pinning table entry.
*/ */

View File

@ -21,6 +21,8 @@
/* Trunnel */ /* Trunnel */
#include "trunnel/hs/cell_establish_intro.h" #include "trunnel/hs/cell_establish_intro.h"
#include "ext/ht.h"
/** When loading and configuring a service, this is the default version it will /** When loading and configuring a service, this is the default version it will
* be configured for as it is possible that no HiddenServiceVersion is * be configured for as it is possible that no HiddenServiceVersion is
* present. */ * present. */

View File

@ -17,6 +17,8 @@ struct ed25519_public_key_t;
struct nodefamily_t; struct nodefamily_t;
struct short_policy_t; struct short_policy_t;
#include "ext/ht.h"
/** A microdescriptor is the smallest amount of information needed to build a /** A microdescriptor is the smallest amount of information needed to build a
* circuit through a router. They are generated by the directory authorities, * circuit through a router. They are generated by the directory authorities,
* using information from the uploaded routerinfo documents. They are not * using information from the uploaded routerinfo documents. They are not

View File

@ -14,6 +14,7 @@
#include "feature/hs/hsdir_index_st.h" #include "feature/hs/hsdir_index_st.h"
#include "lib/crypt_ops/crypto_ed25519.h" #include "lib/crypt_ops/crypto_ed25519.h"
#include "ext/ht.h"
/** A node_t represents a Tor router. /** A node_t represents a Tor router.
* *

View File

@ -13,6 +13,8 @@
#ifndef TOR_DNS_STRUCTS_H #ifndef TOR_DNS_STRUCTS_H
#define TOR_DNS_STRUCTS_H #define TOR_DNS_STRUCTS_H
#include "ext/ht.h"
/** Longest hostname we're willing to resolve. */ /** Longest hostname we're willing to resolve. */
#define MAX_ADDRESSLEN 256 #define MAX_ADDRESSLEN 256
@ -99,4 +101,3 @@ typedef struct cached_resolve_t {
} cached_resolve_t; } cached_resolve_t;
#endif /* !defined(TOR_DNS_STRUCTS_H) */ #endif /* !defined(TOR_DNS_STRUCTS_H) */

View File

@ -13,6 +13,7 @@
#define TOR_GEOIP_STATS_H #define TOR_GEOIP_STATS_H
#include "core/or/dos.h" #include "core/or/dos.h"
#include "ext/ht.h"
/** Indicates an action that we might be noting geoip statistics on. /** Indicates an action that we might be noting geoip statistics on.
* Note that if we're noticing CONNECT, we're a bridge, and if we're noticing * Note that if we're noticing CONNECT, we're a bridge, and if we're noticing