commit 00f1d1653e4ff703cfbcf82060b229ca8a39030d Author: Nick Mathewson nickm@torproject.org Date: Fri Jun 15 14:21:25 2018 -0400
Extract extrainfo_t into its own header --- src/or/control.c | 1 + src/or/dirserv.c | 1 + src/or/extrainfo_st.h | 28 ++++++++++++++++++++++++++++ src/or/include.am | 1 + src/or/or.h | 17 +---------------- src/or/router.c | 1 + src/or/routerlist.c | 1 + src/or/routerparse.c | 1 + src/test/test_dir.c | 1 + 9 files changed, 36 insertions(+), 16 deletions(-)
diff --git a/src/or/control.c b/src/or/control.c index 55670e65e..c1d14b7a4 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -84,6 +84,7 @@ #include "control_connection_st.h" #include "cpath_build_state_st.h" #include "entry_connection_st.h" +#include "extrainfo_st.h" #include "networkstatus_st.h" #include "node_st.h" #include "or_connection_st.h" diff --git a/src/or/dirserv.c b/src/or/dirserv.c index d92bc8e1f..b76fa25d6 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -37,6 +37,7 @@ #include "dirauth/dirvote.h"
#include "dir_connection_st.h" +#include "extrainfo_st.h" #include "node_st.h" #include "routerlist_st.h" #include "tor_version_st.h" diff --git a/src/or/extrainfo_st.h b/src/or/extrainfo_st.h new file mode 100644 index 000000000..d65397849 --- /dev/null +++ b/src/or/extrainfo_st.h @@ -0,0 +1,28 @@ +/* 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 EXTRAINFO_ST_H +#define EXTRAINFO_ST_H + +/** Information needed to keep and cache a signed extra-info document. */ +struct extrainfo_t { + signed_descriptor_t cache_info; + /** SHA256 digest of this document */ + uint8_t digest256[DIGEST256_LEN]; + /** The router's nickname. */ + char nickname[MAX_NICKNAME_LEN+1]; + /** True iff we found the right key for this extra-info, verified the + * signature, and found it to be bad. */ + unsigned int bad_sig : 1; + /** If present, we didn't have the right key to verify this extra-info, + * so this is a copy of the signature in the document. */ + char *pending_sig; + /** Length of pending_sig. */ + size_t pending_sig_len; +}; + +#endif + diff --git a/src/or/include.am b/src/or/include.am index e73432d3c..afacd7772 100644 --- a/src/or/include.am +++ b/src/or/include.am @@ -225,6 +225,7 @@ ORHEADERS = \ src/or/entry_connection_st.h \ src/or/entry_port_cfg_st.h \ src/or/ext_orport.h \ + src/or/extrainfo_st.h \ src/or/fallback_dirs.inc \ src/or/fp_pair.h \ src/or/geoip.h \ diff --git a/src/or/or.h b/src/or/or.h index 1f7c4be50..d07e594d7 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -1693,22 +1693,7 @@ typedef struct { uint8_t purpose; } routerinfo_t;
-/** Information needed to keep and cache a signed extra-info document. */ -typedef struct extrainfo_t { - signed_descriptor_t cache_info; - /** SHA256 digest of this document */ - uint8_t digest256[DIGEST256_LEN]; - /** The router's nickname. */ - char nickname[MAX_NICKNAME_LEN+1]; - /** True iff we found the right key for this extra-info, verified the - * signature, and found it to be bad. */ - unsigned int bad_sig : 1; - /** If present, we didn't have the right key to verify this extra-info, - * so this is a copy of the signature in the document. */ - char *pending_sig; - /** Length of pending_sig. */ - size_t pending_sig_len; -} extrainfo_t; +typedef struct extrainfo_t extrainfo_t;
/** Contents of a single router entry in a network status object. */ diff --git a/src/or/router.c b/src/or/router.c index 961fab129..28dd360d3 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -43,6 +43,7 @@ #include "crypt_path_st.h" #include "dir_connection_st.h" #include "dir_server_st.h" +#include "extrainfo_st.h" #include "node_st.h" #include "origin_circuit_st.h" #include "port_cfg_st.h" diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 3170ce601..425ad8273 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -129,6 +129,7 @@ #include "dir_connection_st.h" #include "dir_server_st.h" #include "document_signature_st.h" +#include "extrainfo_st.h" #include "networkstatus_st.h" #include "networkstatus_voter_info_st.h" #include "node_st.h" diff --git a/src/or/routerparse.c b/src/or/routerparse.c index 34c851a1b..7a19460df 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -83,6 +83,7 @@
#include "authority_cert_st.h" #include "document_signature_st.h" +#include "extrainfo_st.h" #include "networkstatus_st.h" #include "networkstatus_voter_info_st.h" #include "ns_detached_signatures_st.h" diff --git a/src/test/test_dir.c b/src/test/test_dir.c index ecce48942..c25665d3e 100644 --- a/src/test/test_dir.c +++ b/src/test/test_dir.c @@ -47,6 +47,7 @@
#include "authority_cert_st.h" #include "document_signature_st.h" +#include "extrainfo_st.h" #include "networkstatus_st.h" #include "networkstatus_voter_info_st.h" #include "ns_detached_signatures_st.h"