Browse Source

Extract cpath_build_state into its own header.

More modules use this than I had expected!
Nick Mathewson 5 years ago
parent
commit
d51de77311

+ 1 - 0
src/or/circpathbias.c

@@ -35,6 +35,7 @@
 #include "networkstatus.h"
 #include "relay.h"
 
+#include "cpath_build_state_st.h"
 #include "crypt_path_st.h"
 #include "origin_circuit_st.h"
 

+ 1 - 0
src/or/circuitbuild.c

@@ -65,6 +65,7 @@
 #include "routerset.h"
 #include "transports.h"
 
+#include "cpath_build_state_st.h"
 #include "entry_connection_st.h"
 #include "or_circuit_st.h"
 #include "origin_circuit_st.h"

+ 1 - 0
src/or/circuitlist.c

@@ -92,6 +92,7 @@
 
 #include "ht.h"
 
+#include "cpath_build_state_st.h"
 #include "crypt_path_reference_st.h"
 #include "dir_connection_st.h"
 #include "edge_connection_st.h"

+ 1 - 0
src/or/circuituse.c

@@ -57,6 +57,7 @@
 #include "router.h"
 #include "routerlist.h"
 
+#include "cpath_build_state_st.h"
 #include "dir_connection_st.h"
 #include "entry_connection_st.h"
 #include "or_circuit_st.h"

+ 1 - 0
src/or/connection_edge.c

@@ -97,6 +97,7 @@
 #include "routerset.h"
 #include "circuitbuild.h"
 
+#include "cpath_build_state_st.h"
 #include "dir_connection_st.h"
 #include "entry_connection_st.h"
 #include "or_circuit_st.h"

+ 1 - 0
src/or/control.c

@@ -82,6 +82,7 @@
 #include "shared_random_client.h"
 
 #include "control_connection_st.h"
+#include "cpath_build_state_st.h"
 #include "entry_connection_st.h"
 #include "or_connection_st.h"
 #include "or_circuit_st.h"

+ 38 - 0
src/or/cpath_build_state_st.h

@@ -0,0 +1,38 @@
+/* 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 CIRCUIT_BUILD_STATE_ST_ST_H
+#define CIRCUIT_BUILD_STATE_ST_ST_H
+
+/** Information used to build a circuit. */
+struct cpath_build_state_t {
+  /** Intended length of the final circuit. */
+  int desired_path_len;
+  /** How to extend to the planned exit node. */
+  extend_info_t *chosen_exit;
+  /** Whether every node in the circ must have adequate uptime. */
+  unsigned int need_uptime : 1;
+  /** Whether every node in the circ must have adequate capacity. */
+  unsigned int need_capacity : 1;
+  /** Whether the last hop was picked with exiting in mind. */
+  unsigned int is_internal : 1;
+  /** Did we pick this as a one-hop tunnel (not safe for other streams)?
+   * These are for encrypted dir conns that exit to this router, not
+   * for arbitrary exits from the circuit. */
+  unsigned int onehop_tunnel : 1;
+  /** The crypt_path_t to append after rendezvous: used for rendezvous. */
+  crypt_path_t *pending_final_cpath;
+  /** A ref-counted reference to the crypt_path_t to append after
+   * rendezvous; used on the service side. */
+  crypt_path_reference_t *service_pending_final_cpath_ref;
+  /** How many times has building a circuit for this task failed? */
+  int failure_count;
+  /** At what time should we give up on this task? */
+  time_t expiry_time;
+};
+
+#endif
+

+ 1 - 0
src/or/hs_circuit.c

@@ -33,6 +33,7 @@
 #include "hs/cell_common.h"
 #include "hs/cell_establish_intro.h"
 
+#include "cpath_build_state_st.h"
 #include "crypt_path_st.h"
 #include "origin_circuit_st.h"
 

+ 1 - 0
src/or/hs_client.c

@@ -35,6 +35,7 @@
 #include "router.h"
 #include "routerset.h"
 
+#include "cpath_build_state_st.h"
 #include "dir_connection_st.h"
 #include "entry_connection_st.h"
 #include "origin_circuit_st.h"

+ 1 - 0
src/or/include.am

@@ -206,6 +206,7 @@ ORHEADERS = \
 	src/or/consdiffmgr.h				\
 	src/or/control_connection_st.h			\
 	src/or/control.h				\
+	src/or/cpath_build_state_st.h			\
 	src/or/crypt_path_st.h				\
 	src/or/crypt_path_reference_st.h		\
 	src/or/cpuworker.h				\

+ 1 - 26
src/or/or.h

@@ -2286,32 +2286,7 @@ typedef struct crypt_path_reference_t crypt_path_reference_t;
 
 #define DH_KEY_LEN DH_BYTES
 
-/** Information used to build a circuit. */
-typedef struct {
-  /** Intended length of the final circuit. */
-  int desired_path_len;
-  /** How to extend to the planned exit node. */
-  extend_info_t *chosen_exit;
-  /** Whether every node in the circ must have adequate uptime. */
-  unsigned int need_uptime : 1;
-  /** Whether every node in the circ must have adequate capacity. */
-  unsigned int need_capacity : 1;
-  /** Whether the last hop was picked with exiting in mind. */
-  unsigned int is_internal : 1;
-  /** Did we pick this as a one-hop tunnel (not safe for other streams)?
-   * These are for encrypted dir conns that exit to this router, not
-   * for arbitrary exits from the circuit. */
-  unsigned int onehop_tunnel : 1;
-  /** The crypt_path_t to append after rendezvous: used for rendezvous. */
-  crypt_path_t *pending_final_cpath;
-  /** A ref-counted reference to the crypt_path_t to append after
-   * rendezvous; used on the service side. */
-  crypt_path_reference_t *service_pending_final_cpath_ref;
-  /** How many times has building a circuit for this task failed? */
-  int failure_count;
-  /** At what time should we give up on this task? */
-  time_t expiry_time;
-} cpath_build_state_t;
+typedef struct cpath_build_state_t cpath_build_state_t;
 
 /** "magic" value for an origin_circuit_t */
 #define ORIGIN_CIRCUIT_MAGIC 0x35315243u

+ 1 - 0
src/or/relay.c

@@ -82,6 +82,7 @@
 #include "scheduler.h"
 #include "rephist.h"
 
+#include "cpath_build_state_st.h"
 #include "dir_connection_st.h"
 #include "entry_connection_st.h"
 #include "or_circuit_st.h"

+ 1 - 0
src/or/rendclient.c

@@ -33,6 +33,7 @@
 #include "routerlist.h"
 #include "routerset.h"
 
+#include "cpath_build_state_st.h"
 #include "crypt_path_st.h"
 #include "dir_connection_st.h"
 #include "entry_connection_st.h"

+ 1 - 0
src/or/rendcommon.c

@@ -31,6 +31,7 @@
 #include "routerlist.h"
 #include "routerparse.h"
 
+#include "cpath_build_state_st.h"
 #include "crypt_path_st.h"
 #include "origin_circuit_st.h"
 

+ 1 - 0
src/or/rendservice.c

@@ -36,6 +36,7 @@
 #include "routerparse.h"
 #include "routerset.h"
 
+#include "cpath_build_state_st.h"
 #include "crypt_path_st.h"
 #include "crypt_path_reference_st.h"
 #include "edge_connection_st.h"

+ 1 - 0
src/test/test_circuitstats.c

@@ -17,6 +17,7 @@
 #include "circuituse.h"
 #include "channel.h"
 
+#include "cpath_build_state_st.h"
 #include "crypt_path_st.h"
 #include "origin_circuit_st.h"
 

+ 1 - 0
src/test/test_circuituse.c

@@ -14,6 +14,7 @@
 #include "circuitbuild.h"
 #include "nodelist.h"
 
+#include "cpath_build_state_st.h"
 #include "origin_circuit_st.h"
 
 static void

+ 1 - 0
src/test/test_entrynodes.c

@@ -30,6 +30,7 @@
 #include "statefile.h"
 #include "util.h"
 
+#include "cpath_build_state_st.h"
 #include "crypt_path_st.h"
 #include "dir_connection_st.h"
 #include "origin_circuit_st.h"

+ 1 - 0
src/test/test_hs_client.c

@@ -37,6 +37,7 @@
 #include "connection_edge.h"
 #include "networkstatus.h"
 
+#include "cpath_build_state_st.h"
 #include "crypt_path_st.h"
 #include "dir_connection_st.h"
 #include "entry_connection_st.h"

+ 1 - 0
src/test/test_hs_service.c

@@ -53,6 +53,7 @@
 #include "dirauth/shared_random_state.h"
 #include "voting_schedule.h"
 
+#include "cpath_build_state_st.h"
 #include "crypt_path_st.h"
 #include "origin_circuit_st.h"