mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 14:23:30 +01:00
Revert "hs: Implement a helper to repurpose a circuit"
This reverts commit 3789f22bcb
.
This commit is contained in:
parent
a42131bf48
commit
31c34f6524
@ -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] = "";
|
||||||
|
|
||||||
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -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,
|
||||||
|
@ -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);
|
|
||||||
}
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user