[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Hiding crypt_path_t: Move the free func in crypt_path.c.
commit 4bd0c4852aad724fd9639f5250c5893341cd5935
Author: George Kadianakis <desnacked@xxxxxxxxxx>
Date: Mon Apr 8 15:37:02 2019 +0300
Hiding crypt_path_t: Move the free func in crypt_path.c.
Again everything is moved, apart from a free line using ->private.
---
src/core/or/circuitlist.c | 17 -----------------
src/core/or/crypt_path.c | 19 +++++++++++++++++++
src/core/or/crypt_path.h | 3 +++
3 files changed, 22 insertions(+), 17 deletions(-)
diff --git a/src/core/or/circuitlist.c b/src/core/or/circuitlist.c
index ee9e89f38..83c651ff1 100644
--- a/src/core/or/circuitlist.c
+++ b/src/core/or/circuitlist.c
@@ -133,7 +133,6 @@ static smartlist_t *circuits_pending_other_guards = NULL;
* circuit_mark_for_close and which are waiting for circuit_about_to_free. */
static smartlist_t *circuits_pending_close = NULL;
-static void circuit_free_cpath_node(crypt_path_t *victim);
static void cpath_ref_decref(crypt_path_reference_t *cpath_ref);
static void circuit_about_to_free_atexit(circuit_t *circ);
static void circuit_about_to_free(circuit_t *circ);
@@ -1333,22 +1332,6 @@ circuit_free_all(void)
HT_CLEAR(chan_circid_map, &chan_circid_map);
}
-/** Deallocate space associated with the cpath node <b>victim</b>. */
-static void
-circuit_free_cpath_node(crypt_path_t *victim)
-{
- if (!victim)
- return;
-
- relay_crypto_clear(&victim->crypto);
- onion_handshake_state_release(&victim->handshake_state);
- crypto_dh_free(victim->rend_dh_handshake_state);
- extend_info_free(victim->extend_info);
-
- memwipe(victim, 0xBB, sizeof(crypt_path_t)); /* poison memory */
- tor_free(victim);
-}
-
/** Release a crypt_path_reference_t*, which may be NULL. */
static void
cpath_ref_decref(crypt_path_reference_t *cpath_ref)
diff --git a/src/core/or/crypt_path.c b/src/core/or/crypt_path.c
index 77f129eff..54f5623d3 100644
--- a/src/core/or/crypt_path.c
+++ b/src/core/or/crypt_path.c
@@ -16,9 +16,13 @@
#include "core/or/crypt_path.h"
#include "core/crypto/relay_crypto.h"
+#include "core/crypto/onion_crypto.h"
#include "core/or/circuitbuild.h"
#include "core/or/circuitlist.h"
+#include "lib/crypt_ops/crypto_dh.h"
+#include "lib/crypt_ops/crypto_util.h"
+
#include "core/or/crypt_path_st.h"
#include "core/or/cell_st.h"
@@ -143,6 +147,21 @@ circuit_init_cpath_crypto(crypt_path_t *cpath,
}
+/** Deallocate space associated with the cpath node <b>victim</b>. */
+void
+circuit_free_cpath_node(crypt_path_t *victim)
+{
+ if (!victim)
+ return;
+
+ relay_crypto_clear(&victim->private->crypto);
+ onion_handshake_state_release(&victim->handshake_state);
+ crypto_dh_free(victim->rend_dh_handshake_state);
+ extend_info_free(victim->extend_info);
+
+ memwipe(victim, 0xBB, sizeof(crypt_path_t)); /* poison memory */
+ tor_free(victim);
+}
/********************** cpath crypto API *******************************/
diff --git a/src/core/or/crypt_path.h b/src/core/or/crypt_path.h
index a7ebe604f..e8455c632 100644
--- a/src/core/or/crypt_path.h
+++ b/src/core/or/crypt_path.h
@@ -16,6 +16,9 @@ int circuit_init_cpath_crypto(crypt_path_t *cpath,
const char *key_data, size_t key_data_len,
int reverse, int is_hs_v3);
+void
+circuit_free_cpath_node(crypt_path_t *victim);
+
/* rename */
void onion_append_to_cpath(crypt_path_t **head_ptr, crypt_path_t *new_hop);
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits