]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Extract crypt_path_t and relay_crypto_t into their own headers
authorNick Mathewson <nickm@torproject.org>
Fri, 15 Jun 2018 15:52:32 +0000 (11:52 -0400)
committerNick Mathewson <nickm@torproject.org>
Fri, 15 Jun 2018 15:52:32 +0000 (11:52 -0400)
17 files changed:
src/or/circpathbias.c
src/or/circuitstats.c
src/or/crypt_path_st.h [new file with mode: 0644]
src/or/hs_circuit.c
src/or/include.am
src/or/or.h
src/or/or_circuit_st.h
src/or/relay_crypto_st.h [new file with mode: 0644]
src/or/rendclient.c
src/or/rendcommon.c
src/or/rendservice.c
src/or/router.c
src/test/test_circuitstats.c
src/test/test_entrynodes.c
src/test/test_hs_client.c
src/test/test_hs_service.c
src/test/test_relaycell.c

index f139c6d7e5fd5595a32b7437670ed873f28413b6..d1bdaedc3c7f077ee0c410e990d565c7bedd7409 100644 (file)
@@ -35,6 +35,7 @@
 #include "networkstatus.h"
 #include "relay.h"
 
+#include "crypt_path_st.h"
 #include "origin_circuit_st.h"
 
 static void pathbias_count_successful_close(origin_circuit_t *circ);
index bff553a02ba74cc188c36a4108a279fce545ddaa..f1660090f03fc611a3be472801a7b8d6be9eba7b 100644 (file)
@@ -41,6 +41,7 @@
 #include "circuitlist.h"
 #include "circuituse.h"
 
+#include "crypt_path_st.h"
 #include "origin_circuit_st.h"
 
 #undef log
diff --git a/src/or/crypt_path_st.h b/src/or/crypt_path_st.h
new file mode 100644 (file)
index 0000000..ebad872
--- /dev/null
@@ -0,0 +1,56 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef CRYPT_PATH_ST_H
+#define CRYPT_PATH_ST_H
+
+#include "relay_crypto_st.h"
+
+/** Holds accounting information for a single step in the layered encryption
+ * performed by a circuit.  Used only at the client edge of a circuit. */
+struct crypt_path_t {
+  uint32_t magic;
+
+  /** Cryptographic state used for encrypting and authenticating relay
+   * cells to and from this hop. */
+  relay_crypto_t crypto;
+
+  /** Current state of the handshake as performed with the OR at this
+   * step. */
+  onion_handshake_state_t handshake_state;
+  /** Diffie-hellman handshake state for performing an introduction
+   * operations */
+  crypto_dh_t *rend_dh_handshake_state;
+
+  /** Negotiated key material shared with the OR at this step. */
+  char rend_circ_nonce[DIGEST_LEN];/* KH in tor-spec.txt */
+
+  /** Information to extend to the OR at this step. */
+  extend_info_t *extend_info;
+
+  /** Is the circuit built to this step?  Must be one of:
+   *    - CPATH_STATE_CLOSED (The circuit has not been extended to this step)
+   *    - CPATH_STATE_AWAITING_KEYS (We have sent an EXTEND/CREATE to this step
+   *      and not received an EXTENDED/CREATED)
+   *    - CPATH_STATE_OPEN (The circuit has been extended to this step) */
+  uint8_t state;
+#define CPATH_STATE_CLOSED 0
+#define CPATH_STATE_AWAITING_KEYS 1
+#define CPATH_STATE_OPEN 2
+  struct crypt_path_t *next; /**< Link to next crypt_path_t in the circuit.
+                              * (The list is circular, so the last node
+                              * links to the first.) */
+  struct crypt_path_t *prev; /**< Link to previous crypt_path_t in the
+                              * circuit. */
+
+  int package_window; /**< How many cells are we allowed to originate ending
+                       * at this step? */
+  int deliver_window; /**< How many cells are we willing to deliver originating
+                       * at this step? */
+};
+
+#endif
+
index 189ebdc1b93eecb9d91a84ffe4064fd83899b1aa..56ae4a152efac52ffe1704ec1048e02afd4f7368 100644 (file)
@@ -33,6 +33,7 @@
 #include "hs/cell_common.h"
 #include "hs/cell_establish_intro.h"
 
+#include "crypt_path_st.h"
 #include "origin_circuit_st.h"
 
 /* A circuit is about to become an e2e rendezvous circuit. Check
index 83dee5a77b97d358f53cb2eb4cecdcc1b62dcdc6..0a58796e0497dca1492f5cf8abb83db6fcab1fc3 100644 (file)
@@ -206,6 +206,7 @@ ORHEADERS = \
        src/or/consdiffmgr.h                            \
        src/or/control_connection_st.h                  \
        src/or/control.h                                \
+       src/or/crypt_path_st.h                          \
        src/or/cpuworker.h                              \
        src/or/directory.h                              \
        src/or/dirserv.h                                \
@@ -270,6 +271,7 @@ ORHEADERS = \
        src/or/reasons.h                                \
        src/or/relay.h                                  \
        src/or/relay_crypto.h                           \
+       src/or/relay_crypto_st.h                        \
        src/or/rendcache.h                              \
        src/or/rendclient.h                             \
        src/or/rendcommon.h                             \
index b9608d152d5cc55872f76689ec9b74a95a4ae743..df232604e6cbb5562804a19d4ecf085ead8711f9 100644 (file)
@@ -2278,64 +2278,8 @@ typedef struct {
   } u;
 } onion_handshake_state_t;
 
-typedef struct relay_crypto_t {
-  /* crypto environments */
-  /** Encryption key and counter for cells heading towards the OR at this
-   * step. */
-  crypto_cipher_t *f_crypto;
-  /** Encryption key and counter for cells heading back from the OR at this
-   * step. */
-  crypto_cipher_t *b_crypto;
-
-  /** Digest state for cells heading towards the OR at this step. */
-  crypto_digest_t *f_digest; /* for integrity checking */
-  /** Digest state for cells heading away from the OR at this step. */
-  crypto_digest_t *b_digest;
-
-} relay_crypto_t;
-
-/** Holds accounting information for a single step in the layered encryption
- * performed by a circuit.  Used only at the client edge of a circuit. */
-typedef struct crypt_path_t {
-  uint32_t magic;
-
-  /** Cryptographic state used for encrypting and authenticating relay
-   * cells to and from this hop. */
-  relay_crypto_t crypto;
-
-  /** Current state of the handshake as performed with the OR at this
-   * step. */
-  onion_handshake_state_t handshake_state;
-  /** Diffie-hellman handshake state for performing an introduction
-   * operations */
-  crypto_dh_t *rend_dh_handshake_state;
-
-  /** Negotiated key material shared with the OR at this step. */
-  char rend_circ_nonce[DIGEST_LEN];/* KH in tor-spec.txt */
-
-  /** Information to extend to the OR at this step. */
-  extend_info_t *extend_info;
-
-  /** Is the circuit built to this step?  Must be one of:
-   *    - CPATH_STATE_CLOSED (The circuit has not been extended to this step)
-   *    - CPATH_STATE_AWAITING_KEYS (We have sent an EXTEND/CREATE to this step
-   *      and not received an EXTENDED/CREATED)
-   *    - CPATH_STATE_OPEN (The circuit has been extended to this step) */
-  uint8_t state;
-#define CPATH_STATE_CLOSED 0
-#define CPATH_STATE_AWAITING_KEYS 1
-#define CPATH_STATE_OPEN 2
-  struct crypt_path_t *next; /**< Link to next crypt_path_t in the circuit.
-                              * (The list is circular, so the last node
-                              * links to the first.) */
-  struct crypt_path_t *prev; /**< Link to previous crypt_path_t in the
-                              * circuit. */
-
-  int package_window; /**< How many cells are we allowed to originate ending
-                       * at this step? */
-  int deliver_window; /**< How many cells are we willing to deliver originating
-                       * at this step? */
-} crypt_path_t;
+typedef struct relay_crypto_t relay_crypto_t;
+typedef struct crypt_path_t crypt_path_t;
 
 /** A reference-counted pointer to a crypt_path_t, used only to share
  * the final rendezvous cpath to be used on a service-side rendezvous
index f76737fbd55b6eef3b0d3da45ec5d5e1673c58fa..07022272a7fe741b13311744625bae632a3facc0 100644 (file)
@@ -10,6 +10,7 @@
 #include "or.h"
 
 #include "circuit_st.h"
+#include "crypt_path_st.h"
 
 struct onion_queue_t;
 
diff --git a/src/or/relay_crypto_st.h b/src/or/relay_crypto_st.h
new file mode 100644 (file)
index 0000000..4e23f4e
--- /dev/null
@@ -0,0 +1,27 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef RELAY_CRYPTO_ST_H
+#define RELAY_CRYPTO_ST_H
+
+struct relay_crypto_t {
+  /* crypto environments */
+  /** Encryption key and counter for cells heading towards the OR at this
+   * step. */
+  crypto_cipher_t *f_crypto;
+  /** Encryption key and counter for cells heading back from the OR at this
+   * step. */
+  crypto_cipher_t *b_crypto;
+
+  /** Digest state for cells heading towards the OR at this step. */
+  crypto_digest_t *f_digest; /* for integrity checking */
+  /** Digest state for cells heading away from the OR at this step. */
+  crypto_digest_t *b_digest;
+
+};
+
+#endif
+
index 6762bbfb0081170577062a91b2b58df6d1dbd1ca..8e621562ad59b51c83852be702f7efe83510a99b 100644 (file)
@@ -33,6 +33,7 @@
 #include "routerlist.h"
 #include "routerset.h"
 
+#include "crypt_path_st.h"
 #include "dir_connection_st.h"
 #include "entry_connection_st.h"
 #include "origin_circuit_st.h"
index 308b91878bdf168c19e42f6c8748ec8f6f73dc59..116ca730f991bc6289af4ea9b6ec4344b64269a0 100644 (file)
@@ -31,6 +31,7 @@
 #include "routerlist.h"
 #include "routerparse.h"
 
+#include "crypt_path_st.h"
 #include "origin_circuit_st.h"
 
 /** Return 0 if one and two are the same service ids, else -1 or 1 */
index d1e6f8a8e30e43b507ea153fa37070d53878f43b..09a52ea07b7bb3bd745f98186d4c4bf76184eb88 100644 (file)
@@ -36,6 +36,7 @@
 #include "routerparse.h"
 #include "routerset.h"
 
+#include "crypt_path_st.h"
 #include "edge_connection_st.h"
 #include "origin_circuit_st.h"
 
index 11ee2e6aba5734fc018b07ffa31f3b2e05b0909f..2d03058893d7311a40c21f5ed64d058d3ddeaed6 100644 (file)
@@ -39,6 +39,7 @@
 
 #include "dirauth/mode.h"
 
+#include "crypt_path_st.h"
 #include "dir_connection_st.h"
 #include "dir_server_st.h"
 #include "origin_circuit_st.h"
index c03164954aba7a50911974542afa35b0199a5a21..8efde6f844af5beb34a25ae12c1a762a4df56362 100644 (file)
@@ -17,6 +17,7 @@
 #include "circuituse.h"
 #include "channel.h"
 
+#include "crypt_path_st.h"
 #include "origin_circuit_st.h"
 
 void test_circuitstats_timeout(void *arg);
index 19a32aa8a2a1e4ca4eda3782de84bca9fcb80480..83a3ecbfc0f7c21475bc59e0af53ee337b632739 100644 (file)
 #include "statefile.h"
 #include "util.h"
 
+#include "crypt_path_st.h"
 #include "dir_connection_st.h"
+#include "origin_circuit_st.h"
 
 #include "test_helpers.h"
 #include "log_test_helpers.h"
-#include "origin_circuit_st.h"
 
 /* TODO:
  * choose_random_entry() test with state set.
index bf0d56f8afe5d07adf83c5bf9583cae727ba229e..4443bd922b49b37cc05d16aa5c4c062720e11056 100644 (file)
@@ -37,6 +37,7 @@
 #include "connection_edge.h"
 #include "networkstatus.h"
 
+#include "crypt_path_st.h"
 #include "dir_connection_st.h"
 #include "entry_connection_st.h"
 #include "origin_circuit_st.h"
index 06df50740fe4835995708839ea53fa52f638ce0b..947243e678ac3ca35d0dc8c6637332392b79b9f4 100644 (file)
@@ -53,6 +53,7 @@
 #include "dirauth/shared_random_state.h"
 #include "voting_schedule.h"
 
+#include "crypt_path_st.h"
 #include "origin_circuit_st.h"
 
 /* Trunnel */
index e6a67340325da249dfbfe2e824a5b93da1c7ae34..0d78f97d8b52d3583ccb0a66780b20c3547de7ce 100644 (file)
@@ -16,6 +16,7 @@
 #include "relay.h"
 #include "test.h"
 
+#include "crypt_path_st.h"
 #include "entry_connection_st.h"
 #include "origin_circuit_st.h"