[tor-commits] [tor/master] Split vote_{microdesc_hash, routerstatus}_t into their own headers
nickm at torproject.org
nickm at torproject.org
Mon Jun 18 18:18:43 UTC 2018
commit 72d2fd83d898c2a7151c7fdbbffbc4c25fe34894
Author: Nick Mathewson <nickm at torproject.org>
Date: Fri Jun 15 13:23:02 2018 -0400
Split vote_{microdesc_hash,routerstatus}_t into their own headers
---
src/or/dirauth/dircollate.c | 2 ++
src/or/dirauth/dirvote.c | 2 ++
src/or/dirserv.c | 1 +
src/or/include.am | 2 ++
src/or/networkstatus.c | 2 ++
src/or/or.h | 41 ++---------------------------------------
src/or/routerlist.c | 1 +
src/or/routerparse.c | 2 ++
src/or/vote_microdesc_hash_st.h | 22 ++++++++++++++++++++++
src/or/vote_routerstatus_st.h | 39 +++++++++++++++++++++++++++++++++++++++
src/test/fuzz/fuzz_vrs.c | 3 +++
src/test/test_dir.c | 2 ++
src/test/test_dir_common.c | 3 +++
src/test/test_guardfraction.c | 3 +++
14 files changed, 86 insertions(+), 39 deletions(-)
diff --git a/src/or/dirauth/dircollate.c b/src/or/dirauth/dircollate.c
index dec6f7515..388885fe0 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 41acc21d6..c702ca697 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 3af057c6c..c4edb94af 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 ee1ee562c..d9eeb15f3 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 4ac2034cd..3f90fea4e 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 f2de729ec..23f565857 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 313685784..4d02c42a4 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 e75dc2ee9..b7d50a1da 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 000000000..a7cbf5acd
--- /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 000000000..71c204fad
--- /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
+
diff --git a/src/test/fuzz/fuzz_vrs.c b/src/test/fuzz/fuzz_vrs.c
index baf0610a0..7225fd545 100644
--- a/src/test/fuzz/fuzz_vrs.c
+++ b/src/test/fuzz/fuzz_vrs.c
@@ -7,6 +7,9 @@
#include "memarea.h"
#include "microdesc.h"
#include "networkstatus.h"
+
+#include "vote_routerstatus_st.h"
+
#include "fuzzing.h"
static void
diff --git a/src/test/test_dir.c b/src/test/test_dir.c
index 43fc5c5fb..963d97a32 100644
--- a/src/test/test_dir.c
+++ b/src/test/test_dir.c
@@ -47,6 +47,8 @@
#include "port_cfg_st.h"
#include "tor_version_st.h"
+#include "vote_microdesc_hash_st.h"
+#include "vote_routerstatus_st.h"
#define NS_MODULE dir
diff --git a/src/test/test_dir_common.c b/src/test/test_dir_common.c
index 230410f7f..4b36025b5 100644
--- a/src/test/test_dir_common.c
+++ b/src/test/test_dir_common.c
@@ -14,6 +14,9 @@
#include "test_dir_common.h"
#include "voting_schedule.h"
+#include "vote_microdesc_hash_st.h"
+#include "vote_routerstatus_st.h"
+
void dir_common_setup_vote(networkstatus_t **vote, time_t now);
networkstatus_t * dir_common_add_rs_and_parse(networkstatus_t *vote,
networkstatus_t **vote_out,
diff --git a/src/test/test_guardfraction.c b/src/test/test_guardfraction.c
index 51ca8f08e..24bf58f94 100644
--- a/src/test/test_guardfraction.c
+++ b/src/test/test_guardfraction.c
@@ -15,6 +15,9 @@
#include "routerparse.h"
#include "networkstatus.h"
+#include "vote_microdesc_hash_st.h"
+#include "vote_routerstatus_st.h"
+
#include "test.h"
#include "test_helpers.h"
#include "log_test_helpers.h"
More information about the tor-commits
mailing list