aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
Diffstat (limited to 'src/or')
-rw-r--r--src/or/control.c1
-rw-r--r--src/or/directory.c1
-rw-r--r--src/or/include.am1
-rw-r--r--src/or/or.h23
-rw-r--r--src/or/rend_service_descriptor_st.h34
-rw-r--r--src/or/rendcache.c2
-rw-r--r--src/or/rendclient.c1
-rw-r--r--src/or/rendcommon.c1
-rw-r--r--src/or/rendservice.c1
-rw-r--r--src/or/routerparse.c7
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 */