aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_circuitpadding.c
diff options
context:
space:
mode:
authorGeorge Kadianakis <desnacked@riseup.net>2019-04-08 16:18:44 +0300
committerGeorge Kadianakis <desnacked@riseup.net>2019-05-03 18:15:11 +0300
commitf5635989b06260710b282e75be7b731e2846f700 (patch)
tree62c67a6dfd0618a65470c1975d54a7c79217f9c5 /src/test/test_circuitpadding.c
parent18d61c0e6e71dace189384c8af7f4fec158969b3 (diff)
downloadtor-f5635989b06260710b282e75be7b731e2846f700.tar.gz
tor-f5635989b06260710b282e75be7b731e2846f700.zip
Hiding crypt_path_t: Create a constructor for crypt_path_t.
We are using an opaque pointer so the structure needs to be allocated on the heap. This means we now need a constructor for crypt_path_t. Also modify all places initializing a crypt_path_t to use the constructor.
Diffstat (limited to 'src/test/test_circuitpadding.c')
-rw-r--r--src/test/test_circuitpadding.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/test/test_circuitpadding.c b/src/test/test_circuitpadding.c
index 8a2667e802..6fa790c40d 100644
--- a/src/test/test_circuitpadding.c
+++ b/src/test/test_circuitpadding.c
@@ -115,7 +115,7 @@ new_fake_orcirc(channel_t *nchan, channel_t *pchan)
{
or_circuit_t *orcirc = NULL;
circuit_t *circ = NULL;
- crypt_path_t tmp_cpath;
+ crypt_path_t *tmp_cpath;
char whatevs_key[CPATH_KEY_MATERIAL_LEN];
orcirc = tor_malloc_zero(sizeof(*orcirc));
@@ -144,13 +144,15 @@ new_fake_orcirc(channel_t *nchan, channel_t *pchan)
circuit_set_p_circid_chan(orcirc, orcirc->p_circ_id, pchan);
circuit_set_n_circid_chan(circ, circ->n_circ_id, nchan);
- memset(&tmp_cpath, 0, sizeof(tmp_cpath));
- if (circuit_init_cpath_crypto(&tmp_cpath, whatevs_key,
+ tmp_cpath = crypt_path_new();
+ if (circuit_init_cpath_crypto(tmp_cpath, whatevs_key,
sizeof(whatevs_key), 0, 0)<0) {
log_warn(LD_BUG,"Circuit initialization failed");
return NULL;
}
- orcirc->crypto = tmp_cpath.private->crypto;
+ orcirc->crypto = tmp_cpath->private->crypto;
+ tor_free(tmp_cpath->private);
+ tor_free(tmp_cpath);
return orcirc;
}
@@ -1618,10 +1620,9 @@ simulate_single_hop_extend(circuit_t *client, circuit_t *mid_relay,
circpad_cell_event_nonpadding_received((circuit_t*)client);
// Add a hop to cpath
- crypt_path_t *hop = tor_malloc_zero(sizeof(crypt_path_t));
+ crypt_path_t *hop = crypt_path_new();
onion_append_to_cpath(&TO_ORIGIN_CIRCUIT(client)->cpath, hop);
- hop->magic = CRYPT_PATH_MAGIC;
hop->state = CPATH_STATE_OPEN;
// add an extend info to indicate if this node supports padding or not.