[tor-commits] [tor/master] Hiding crypt_path_t: Hide 'crypto' usage in sendme.c

dgoulet at torproject.org dgoulet at torproject.org
Wed May 8 12:21:47 UTC 2019


commit 7f2cd6545ce324b5241f002e7c412408ca5902b7
Author: George Kadianakis <desnacked at riseup.net>
Date:   Fri May 3 18:27:58 2019 +0300

    Hiding crypt_path_t: Hide 'crypto' usage in sendme.c
---
 scripts/maint/practracker/exceptions.txt |  7 +++----
 src/core/crypto/relay_crypto.c           |  2 +-
 src/core/or/crypt_path.c                 | 18 ++++++++++++++++++
 src/core/or/crypt_path.h                 |  4 ++++
 src/core/or/sendme.c                     | 12 ++----------
 src/core/or/sendme.h                     |  1 -
 6 files changed, 28 insertions(+), 16 deletions(-)

diff --git a/scripts/maint/practracker/exceptions.txt b/scripts/maint/practracker/exceptions.txt
index a2b6d36ea..70176ad89 100644
--- a/scripts/maint/practracker/exceptions.txt
+++ b/scripts/maint/practracker/exceptions.txt
@@ -54,9 +54,9 @@ problem function-size /src/app/main/main.c:sandbox_init_filter() 291
 problem function-size /src/app/main/main.c:run_tor_main_loop() 105
 problem function-size /src/app/main/ntmain.c:nt_service_install() 125
 problem include-count /src/app/main/shutdown.c 52
-problem file-size /src/core/mainloop/connection.c 5559
+problem file-size /src/core/mainloop/connection.c 5560
 problem include-count /src/core/mainloop/connection.c 62
-problem function-size /src/core/mainloop/connection.c:connection_free_minimal() 184
+problem function-size /src/core/mainloop/connection.c:connection_free_minimal() 185
 problem function-size /src/core/mainloop/connection.c:connection_listener_new() 328
 problem function-size /src/core/mainloop/connection.c:connection_handle_listener_read() 161
 problem function-size /src/core/mainloop/connection.c:connection_connect_sockaddr() 103
@@ -79,7 +79,6 @@ problem function-size /src/core/or/channeltls.c:channel_tls_process_netinfo_cell
 problem function-size /src/core/or/channeltls.c:channel_tls_process_certs_cell() 246
 problem function-size /src/core/or/channeltls.c:channel_tls_process_authenticate_cell() 202
 problem file-size /src/core/or/circuitbuild.c 3061
-problem include-count /src/core/or/circuitbuild.c 53
 problem include-count /src/core/or/circuitbuild.c 54
 problem function-size /src/core/or/circuitbuild.c:get_unique_circ_id_by_chan() 128
 problem function-size /src/core/or/circuitbuild.c:circuit_extend() 147
@@ -246,7 +245,7 @@ problem function-size /src/feature/rend/rendmid.c:rend_mid_establish_intro_legac
 problem function-size /src/feature/rend/rendparse.c:rend_parse_v2_service_descriptor() 187
 problem function-size /src/feature/rend/rendparse.c:rend_decrypt_introduction_points() 104
 problem function-size /src/feature/rend/rendparse.c:rend_parse_introduction_points() 131
-problem file-size /src/feature/rend/rendservice.c 4510
+problem file-size /src/feature/rend/rendservice.c 4511
 problem function-size /src/feature/rend/rendservice.c:rend_service_prune_list_impl_() 107
 problem function-size /src/feature/rend/rendservice.c:rend_config_service() 164
 problem function-size /src/feature/rend/rendservice.c:rend_service_load_auth_keys() 178
diff --git a/src/core/crypto/relay_crypto.c b/src/core/crypto/relay_crypto.c
index 96b1002ca..74cccd222 100644
--- a/src/core/crypto/relay_crypto.c
+++ b/src/core/crypto/relay_crypto.c
@@ -164,7 +164,7 @@ relay_decrypt_cell(circuit_t *circ, cell_t *cell,
             /* This cell is for us. Keep a record of this cell because we will
              * use it in the next SENDME cell. */
             if (sendme_circuit_cell_is_next(thishop->deliver_window)) {
-              sendme_circuit_record_inbound_cell(thishop);
+              cpath_sendme_circuit_record_inbound_cell(thishop);
             }
             return 0;
           }
diff --git a/src/core/or/crypt_path.c b/src/core/or/crypt_path.c
index e2234cc2a..a4b7190e2 100644
--- a/src/core/or/crypt_path.c
+++ b/src/core/or/crypt_path.c
@@ -202,6 +202,24 @@ cpath_set_cell_forward_digest(crypt_path_t *cpath, cell_t *cell)
   relay_set_digest(cpath->pvt_crypto.f_digest, cell);
 }
 
+/************ cpath sendme API ***************************/
+
+/** Keep the current inbound cell digest for the next SENDME digest. This part
+ * is only done by the client as the circuit came back from the Exit. */
+void
+cpath_sendme_circuit_record_inbound_cell(crypt_path_t *cpath)
+{
+  tor_assert(cpath);
+  relay_crypto_record_sendme_digest(&cpath->pvt_crypto);
+}
+
+/** Return the sendme_digest of this <b>cpath</b>. */
+uint8_t *
+cpath_get_sendme_digest(crypt_path_t *cpath)
+{
+  return relay_crypto_get_sendme_digest(&cpath->pvt_crypto);
+}
+
 /************ other cpath functions ***************************/
 
 /** Return the first non-open hop in cpath, or return NULL if all
diff --git a/src/core/or/crypt_path.h b/src/core/or/crypt_path.h
index 19c8571d0..30c14b3dc 100644
--- a/src/core/or/crypt_path.h
+++ b/src/core/or/crypt_path.h
@@ -32,6 +32,10 @@ cpath_set_cell_forward_digest(crypt_path_t *cpath, cell_t *cell);
 
 crypt_path_t *cpath_get_next_non_open_hop(crypt_path_t *cpath);
 
+void cpath_sendme_circuit_record_inbound_cell(crypt_path_t *cpath);
+
+uint8_t *cpath_get_sendme_digest(crypt_path_t *cpath);
+
 #if defined(TOR_UNIT_TESTS)
 unsigned int cpath_get_n_hops(crypt_path_t **head_ptr);
 #endif /* defined(TOR_UNIT_TESTS) */
diff --git a/src/core/or/sendme.c b/src/core/or/sendme.c
index 70ff3798b..46fdc3ca1 100644
--- a/src/core/or/sendme.c
+++ b/src/core/or/sendme.c
@@ -15,6 +15,7 @@
 #include "core/crypto/relay_crypto.h"
 #include "core/mainloop/connection.h"
 #include "core/or/cell_st.h"
+#include "core/or/crypt_path.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuituse.h"
 #include "core/or/or_circuit_st.h"
@@ -299,15 +300,6 @@ sendme_circuit_record_outbound_cell(or_circuit_t *or_circ)
   relay_crypto_record_sendme_digest(&or_circ->crypto);
 }
 
-/** Keep the current inbound cell digest for the next SENDME digest. This part
- * is only done by the client as the circuit came back from the Exit. */
-void
-sendme_circuit_record_inbound_cell(crypt_path_t *cpath)
-{
-  tor_assert(cpath);
-  relay_crypto_record_sendme_digest(&cpath->crypto);
-}
-
 /** Return true iff the next cell for the given cell window is expected to be
  * a SENDME.
  *
@@ -387,7 +379,7 @@ sendme_circuit_consider_sending(circuit_t *circ, crypt_path_t *layer_hint)
     log_debug(LD_CIRC,"Queuing circuit sendme.");
     if (layer_hint) {
       layer_hint->deliver_window += CIRCWINDOW_INCREMENT;
-      digest = relay_crypto_get_sendme_digest(&layer_hint->crypto);
+      digest = cpath_get_sendme_digest(layer_hint);
     } else {
       circ->deliver_window += CIRCWINDOW_INCREMENT;
       digest = relay_crypto_get_sendme_digest(&TO_OR_CIRCUIT(circ)->crypto);
diff --git a/src/core/or/sendme.h b/src/core/or/sendme.h
index 78273eb9a..ac18bbdd3 100644
--- a/src/core/or/sendme.h
+++ b/src/core/or/sendme.h
@@ -36,7 +36,6 @@ int sendme_note_stream_data_packaged(edge_connection_t *conn);
 
 /* Track cell digest. */
 void sendme_record_cell_digest(circuit_t *circ);
-void sendme_circuit_record_inbound_cell(crypt_path_t *cpath);
 void sendme_circuit_record_outbound_cell(or_circuit_t *or_circ);
 
 /* Circuit level information. */





More information about the tor-commits mailing list