summaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
Diffstat (limited to 'src/or')
-rw-r--r--src/or/dirauth/dircollate.c2
-rw-r--r--src/or/dirauth/dirvote.c2
-rw-r--r--src/or/dirserv.c1
-rw-r--r--src/or/include.am2
-rw-r--r--src/or/networkstatus.c2
-rw-r--r--src/or/or.h41
-rw-r--r--src/or/routerlist.c1
-rw-r--r--src/or/routerparse.c2
-rw-r--r--src/or/vote_microdesc_hash_st.h22
-rw-r--r--src/or/vote_routerstatus_st.h39
10 files changed, 75 insertions, 39 deletions
diff --git a/src/or/dirauth/dircollate.c b/src/or/dirauth/dircollate.c
index dec6f75154..388885fe0b 100644
--- a/src/or/dirauth/dircollate.c
+++ b/src/or/dirauth/dircollate.c
@@ -25,6 +25,8 @@
#include "dircollate.h"
#include "dirvote.h"
+#include "vote_routerstatus_st.h"
+
static void dircollator_collate_by_ed25519(dircollator_t *dc);
/** Hashtable entry mapping a pair of digests (actually an ed25519 key and an
diff --git a/src/or/dirauth/dirvote.c b/src/or/dirauth/dirvote.c
index 41acc21d67..c702ca6974 100644
--- a/src/or/dirauth/dirvote.c
+++ b/src/or/dirauth/dirvote.c
@@ -30,6 +30,8 @@
#include "dir_server_st.h"
#include "node_st.h"
+#include "vote_microdesc_hash_st.h"
+#include "vote_routerstatus_st.h"
#include "vote_timing_st.h"
/**
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index 3af057c6ce..c4edb94af3 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -39,6 +39,7 @@
#include "dir_connection_st.h"
#include "node_st.h"
#include "tor_version_st.h"
+#include "vote_routerstatus_st.h"
/**
* \file dirserv.c
diff --git a/src/or/include.am b/src/or/include.am
index ee1ee562c6..d9eeb15f3c 100644
--- a/src/or/include.am
+++ b/src/or/include.am
@@ -301,6 +301,8 @@ ORHEADERS = \
src/or/torcert.h \
src/or/tor_api_internal.h \
src/or/tor_version_st.h \
+ src/or/vote_microdesc_hash_st.h \
+ src/or/vote_routerstatus_st.h \
src/or/vote_timing_st.h \
src/or/voting_schedule.h
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index 4ac2034cdf..3f90fea4e1 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -77,6 +77,8 @@
#include "dir_connection_st.h"
#include "dir_server_st.h"
#include "node_st.h"
+#include "vote_microdesc_hash_st.h"
+#include "vote_routerstatus_st.h"
/** Most recently received and validated v3 "ns"-flavored consensus network
* status. */
diff --git a/src/or/or.h b/src/or/or.h
index f2de729ece..23f565857b 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -1858,45 +1858,8 @@ typedef struct microdesc_t {
} microdesc_t;
typedef struct node_t node_t;
-
-/** Linked list of microdesc hash lines for a single router in a directory
- * vote.
- */
-typedef struct vote_microdesc_hash_t {
- /** Next element in the list, or NULL. */
- struct vote_microdesc_hash_t *next;
- /** The raw contents of the microdesc hash line, from the "m" through the
- * newline. */
- char *microdesc_hash_line;
-} vote_microdesc_hash_t;
-
-/** The claim about a single router, made in a vote. */
-typedef struct vote_routerstatus_t {
- routerstatus_t status; /**< Underlying 'status' object for this router.
- * Flags are redundant. */
- /** How many known-flags are allowed in a vote? This is the width of
- * the flags field of vote_routerstatus_t */
-#define MAX_KNOWN_FLAGS_IN_VOTE 64
- uint64_t flags; /**< Bit-field for all recognized flags; index into
- * networkstatus_t.known_flags. */
- char *version; /**< The version that the authority says this router is
- * running. */
- char *protocols; /**< The protocols that this authority says this router
- * provides. */
- unsigned int has_measured_bw:1; /**< The vote had a measured bw */
- /** True iff the vote included an entry for ed25519 ID, or included
- * "id ed25519 none" to indicate that there was no ed25519 ID. */
- unsigned int has_ed25519_listing:1;
- /** True if the Ed25519 listing here is the consensus-opinion for the
- * Ed25519 listing; false if there was no consensus on Ed25519 key status,
- * or if this VRS doesn't reflect it. */
- unsigned int ed25519_reflects_consensus:1;
- uint32_t measured_bw_kb; /**< Measured bandwidth (capacity) of the router */
- /** The hash or hashes that the authority claims this microdesc has. */
- vote_microdesc_hash_t *microdesc;
- /** Ed25519 identity for this router, or zero if it has none. */
- uint8_t ed25519_id[ED25519_PUBKEY_LEN];
-} vote_routerstatus_t;
+typedef struct vote_microdesc_hash_t vote_microdesc_hash_t;
+typedef struct vote_routerstatus_t vote_routerstatus_t;
/** A signature of some document by an authority. */
typedef struct document_signature_t {
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 313685784a..4d02c42a4a 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -128,6 +128,7 @@
#include "dir_connection_st.h"
#include "dir_server_st.h"
#include "node_st.h"
+#include "vote_routerstatus_st.h"
// #define DEBUG_ROUTERLIST
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index e75dc2ee97..b7d50a1da1 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -85,6 +85,8 @@
#include "rend_intro_point_st.h"
#include "rend_service_descriptor_st.h"
#include "tor_version_st.h"
+#include "vote_microdesc_hash_st.h"
+#include "vote_routerstatus_st.h"
#undef log
#include <math.h>
diff --git a/src/or/vote_microdesc_hash_st.h b/src/or/vote_microdesc_hash_st.h
new file mode 100644
index 0000000000..a7cbf5acdc
--- /dev/null
+++ b/src/or/vote_microdesc_hash_st.h
@@ -0,0 +1,22 @@
+/* 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 VOTE_MICRODESC_HASH_ST_H
+#define VOTE_MICRODESC_HASH_ST_H
+
+/** Linked list of microdesc hash lines for a single router in a directory
+ * vote.
+ */
+struct vote_microdesc_hash_t {
+ /** Next element in the list, or NULL. */
+ struct vote_microdesc_hash_t *next;
+ /** The raw contents of the microdesc hash line, from the "m" through the
+ * newline. */
+ char *microdesc_hash_line;
+};
+
+#endif
+
diff --git a/src/or/vote_routerstatus_st.h b/src/or/vote_routerstatus_st.h
new file mode 100644
index 0000000000..71c204fad3
--- /dev/null
+++ b/src/or/vote_routerstatus_st.h
@@ -0,0 +1,39 @@
+/* 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 VOTE_ROUTERSTATUS_ST_H
+#define VOTE_ROUTERSTATUS_ST_H
+
+/** The claim about a single router, made in a vote. */
+struct vote_routerstatus_t {
+ routerstatus_t status; /**< Underlying 'status' object for this router.
+ * Flags are redundant. */
+ /** How many known-flags are allowed in a vote? This is the width of
+ * the flags field of vote_routerstatus_t */
+#define MAX_KNOWN_FLAGS_IN_VOTE 64
+ uint64_t flags; /**< Bit-field for all recognized flags; index into
+ * networkstatus_t.known_flags. */
+ char *version; /**< The version that the authority says this router is
+ * running. */
+ char *protocols; /**< The protocols that this authority says this router
+ * provides. */
+ unsigned int has_measured_bw:1; /**< The vote had a measured bw */
+ /** True iff the vote included an entry for ed25519 ID, or included
+ * "id ed25519 none" to indicate that there was no ed25519 ID. */
+ unsigned int has_ed25519_listing:1;
+ /** True if the Ed25519 listing here is the consensus-opinion for the
+ * Ed25519 listing; false if there was no consensus on Ed25519 key status,
+ * or if this VRS doesn't reflect it. */
+ unsigned int ed25519_reflects_consensus:1;
+ uint32_t measured_bw_kb; /**< Measured bandwidth (capacity) of the router */
+ /** The hash or hashes that the authority claims this microdesc has. */
+ vote_microdesc_hash_t *microdesc;
+ /** Ed25519 identity for this router, or zero if it has none. */
+ uint8_t ed25519_id[ED25519_PUBKEY_LEN];
+};
+
+#endif
+