Revert "hs: Implement a helper to repurpose a circuit"

This reverts commit 3789f22bcb.
This commit is contained in:
Mike Perry 2019-06-05 11:38:01 -07:00
parent a42131bf48
commit 31c34f6524
5 changed files with 0 additions and 51 deletions

View File

@ -3068,12 +3068,6 @@ circuit_change_purpose(circuit_t *circ, uint8_t new_purpose)
if (circ->purpose == new_purpose) return; if (circ->purpose == new_purpose) return;
/* Take specific actions if we are repurposing a hidden service circuit. */
if (circuit_purpose_is_hidden_service(circ->purpose) &&
!circuit_purpose_is_hidden_service(new_purpose)) {
hs_circ_repurpose(circ);
}
if (CIRCUIT_IS_ORIGIN(circ)) { if (CIRCUIT_IS_ORIGIN(circ)) {
char old_purpose_desc[80] = ""; char old_purpose_desc[80] = "";

View File

@ -25,7 +25,6 @@
#include "feature/nodelist/describe.h" #include "feature/nodelist/describe.h"
#include "feature/nodelist/nodelist.h" #include "feature/nodelist/nodelist.h"
#include "feature/rend/rendservice.h" #include "feature/rend/rendservice.h"
#include "feature/rend/rendcommon.h"
#include "feature/stats/rephist.h" #include "feature/stats/rephist.h"
#include "lib/crypt_ops/crypto_dh.h" #include "lib/crypt_ops/crypto_dh.h"
#include "lib/crypt_ops/crypto_rand.h" #include "lib/crypt_ops/crypto_rand.h"
@ -1193,33 +1192,3 @@ hs_circ_cleanup(circuit_t *circ)
hs_circuitmap_remove_circuit(circ); hs_circuitmap_remove_circuit(circ);
} }
} }
/* The given circuit will be repurposed so take the appropriate actions. A
* cleanup from the HS maps and of all HS related structures is done.
*
* Once this function returns, the circuit can be safely repurposed. */
void
hs_circ_repurpose(circuit_t *circ)
{
origin_circuit_t *origin_circ;
tor_assert(circ);
/* Only repurposing an origin circuit is possible for HS. */
if (!CIRCUIT_IS_ORIGIN(circ)) {
return;
}
origin_circ = TO_ORIGIN_CIRCUIT(circ);
/* First, cleanup the circuit from the HS maps. */
hs_circ_cleanup(circ);
/* Depending on the version, different cleanup is done. */
if (origin_circ->rend_data) {
/* v2. */
rend_circ_cleanup(origin_circ);
} else if (origin_circ->hs_ident) {
/* v3. */
hs_ident_circuit_free(origin_circ->hs_ident);
}
}

View File

@ -16,7 +16,6 @@
/* Cleanup function when the circuit is closed or/and freed. */ /* Cleanup function when the circuit is closed or/and freed. */
void hs_circ_cleanup(circuit_t *circ); void hs_circ_cleanup(circuit_t *circ);
void hs_circ_repurpose(circuit_t *circ);
/* Circuit API. */ /* Circuit API. */
int hs_circ_service_intro_has_opened(hs_service_t *service, int hs_circ_service_intro_has_opened(hs_service_t *service,

View File

@ -1046,14 +1046,3 @@ rend_circuit_pk_digest_eq(const origin_circuit_t *ocirc,
match: match:
return 1; return 1;
} }
/* Cleanup the given circuit of all HS v2 data structure. */
void
rend_circ_cleanup(origin_circuit_t *circ)
{
tor_assert(circ);
/* Both fields are set to NULL with these. */
crypto_pk_free(circ->intro_key);
rend_data_free(circ->rend_data);
}

View File

@ -71,8 +71,6 @@ int rend_non_anonymous_mode_enabled(const or_options_t *options);
void assert_circ_anonymity_ok(const origin_circuit_t *circ, void assert_circ_anonymity_ok(const origin_circuit_t *circ,
const or_options_t *options); const or_options_t *options);
void rend_circ_cleanup(origin_circuit_t *circ);
#ifdef RENDCOMMON_PRIVATE #ifdef RENDCOMMON_PRIVATE
STATIC int STATIC int