diff options
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/control.c | 1 | ||||
-rw-r--r-- | src/or/directory.c | 1 | ||||
-rw-r--r-- | src/or/include.am | 1 | ||||
-rw-r--r-- | src/or/or.h | 23 | ||||
-rw-r--r-- | src/or/rend_service_descriptor_st.h | 34 | ||||
-rw-r--r-- | src/or/rendcache.c | 2 | ||||
-rw-r--r-- | src/or/rendclient.c | 1 | ||||
-rw-r--r-- | src/or/rendcommon.c | 1 | ||||
-rw-r--r-- | src/or/rendservice.c | 1 | ||||
-rw-r--r-- | src/or/routerparse.c | 7 |
10 files changed, 47 insertions, 25 deletions
diff --git a/src/or/control.c b/src/or/control.c index 972462e38a..401135ca82 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -87,6 +87,7 @@ #include "or_connection_st.h" #include "or_circuit_st.h" #include "origin_circuit_st.h" +#include "rend_service_descriptor_st.h" #ifndef _WIN32 #include <pwd.h> diff --git a/src/or/directory.c b/src/or/directory.c index 65aaaa38a6..720ef975ba 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -56,6 +56,7 @@ #include "dir_connection_st.h" #include "dir_server_st.h" #include "entry_connection_st.h" +#include "rend_service_descriptor_st.h" /** * \file directory.c diff --git a/src/or/include.am b/src/or/include.am index 618ffacd03..883366fc1c 100644 --- a/src/or/include.am +++ b/src/or/include.am @@ -279,6 +279,7 @@ ORHEADERS = \ src/or/rendcommon.h \ src/or/rendmid.h \ src/or/rendservice.h \ + src/or/rend_service_descriptor_st.h \ src/or/rephist.h \ src/or/replaycache.h \ src/or/router.h \ diff --git a/src/or/or.h b/src/or/or.h index b67896d2a5..e66bad5ab3 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -4145,28 +4145,7 @@ typedef struct rend_intro_point_t { unsigned int circuit_established:1; } rend_intro_point_t; -#define REND_PROTOCOL_VERSION_BITMASK_WIDTH 16 - -/** Information used to connect to a hidden service. Used on both the - * service side and the client side. */ -typedef struct rend_service_descriptor_t { - crypto_pk_t *pk; /**< This service's public key. */ - int version; /**< Version of the descriptor format: 0 or 2. */ - time_t timestamp; /**< Time when the descriptor was generated. */ - /** Bitmask: which introduce/rendezvous protocols are supported? - * (We allow bits '0', '1', '2' and '3' to be set.) */ - unsigned protocols : REND_PROTOCOL_VERSION_BITMASK_WIDTH; - /** List of the service's introduction points. Elements are removed if - * introduction attempts fail. */ - smartlist_t *intro_nodes; - /** Has descriptor been uploaded to all hidden service directories? */ - int all_uploads_performed; - /** List of hidden service directories to which an upload request for - * this descriptor could be sent. Smartlist exists only when at least one - * of the previous upload requests failed (otherwise it's not important - * to know which uploads succeeded and which not). */ - smartlist_t *successful_uploads; -} rend_service_descriptor_t; +typedef struct rend_service_descriptor_t rend_service_descriptor_t; /********************************* routerlist.c ***************************/ diff --git a/src/or/rend_service_descriptor_st.h b/src/or/rend_service_descriptor_st.h new file mode 100644 index 0000000000..bd6d55b6ad --- /dev/null +++ b/src/or/rend_service_descriptor_st.h @@ -0,0 +1,34 @@ +/* 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 REND_SERVICE_DESCRIPTOR_ST_H +#define REND_SERVICE_DESCRIPTOR_ST_H + +#define REND_PROTOCOL_VERSION_BITMASK_WIDTH 16 + +/** Information used to connect to a hidden service. Used on both the + * service side and the client side. */ +struct rend_service_descriptor_t { + crypto_pk_t *pk; /**< This service's public key. */ + int version; /**< Version of the descriptor format: 0 or 2. */ + time_t timestamp; /**< Time when the descriptor was generated. */ + /** Bitmask: which introduce/rendezvous protocols are supported? + * (We allow bits '0', '1', '2' and '3' to be set.) */ + unsigned protocols : REND_PROTOCOL_VERSION_BITMASK_WIDTH; + /** List of the service's introduction points. Elements are removed if + * introduction attempts fail. */ + smartlist_t *intro_nodes; + /** Has descriptor been uploaded to all hidden service directories? */ + int all_uploads_performed; + /** List of hidden service directories to which an upload request for + * this descriptor could be sent. Smartlist exists only when at least one + * of the previous upload requests failed (otherwise it's not important + * to know which uploads succeeded and which not). */ + smartlist_t *successful_uploads; +}; + +#endif + diff --git a/src/or/rendcache.c b/src/or/rendcache.c index d27e1c293f..6dd49ee9cc 100644 --- a/src/or/rendcache.c +++ b/src/or/rendcache.c @@ -15,6 +15,8 @@ #include "routerparse.h" #include "rendcommon.h" +#include "rend_service_descriptor_st.h" + /** Map from service id (as generated by rend_get_service_id) to * rend_cache_entry_t. */ STATIC strmap_t *rend_cache = NULL; diff --git a/src/or/rendclient.c b/src/or/rendclient.c index c55f63c33f..1d12e18298 100644 --- a/src/or/rendclient.c +++ b/src/or/rendclient.c @@ -38,6 +38,7 @@ #include "dir_connection_st.h" #include "entry_connection_st.h" #include "origin_circuit_st.h" +#include "rend_service_descriptor_st.h" static extend_info_t *rend_client_get_random_intro_impl( const rend_cache_entry_t *rend_query, diff --git a/src/or/rendcommon.c b/src/or/rendcommon.c index 719a1537c9..b2d4b0949a 100644 --- a/src/or/rendcommon.c +++ b/src/or/rendcommon.c @@ -34,6 +34,7 @@ #include "cpath_build_state_st.h" #include "crypt_path_st.h" #include "origin_circuit_st.h" +#include "rend_service_descriptor_st.h" /** Return 0 if one and two are the same service ids, else -1 or 1 */ int diff --git a/src/or/rendservice.c b/src/or/rendservice.c index ef46ff6ced..e27e8c4fb4 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -41,6 +41,7 @@ #include "crypt_path_reference_st.h" #include "edge_connection_st.h" #include "origin_circuit_st.h" +#include "rend_service_descriptor_st.h" struct rend_service_t; static origin_circuit_t *find_intro_circuit(rend_intro_point_t *intro, diff --git a/src/or/routerparse.c b/src/or/routerparse.c index 06a37904df..af11bc3d5c 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -79,13 +79,14 @@ #include "torcert.h" #include "voting_schedule.h" -#undef log -#include <math.h> - #include "dirauth/dirvote.h" +#include "rend_service_descriptor_st.h" #include "tor_version_st.h" +#undef log +#include <math.h> + /****************************************************************************/ /** List of tokens recognized in router descriptors */ |