mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Merge remote-tracking branch 'mikeperry/bug24946'
This commit is contained in:
commit
6f4ee6e5e7
5
changes/bug24946
Normal file
5
changes/bug24946
Normal file
@ -0,0 +1,5 @@
|
||||
o Minor bugfixes (hidden services):
|
||||
- Fix a warning caused by differentiating hsdir circuits from general
|
||||
circuits. Also address three similar checks in the codebase that
|
||||
were related to reuse and rate limiting of circuits. Fixes bug 24946;
|
||||
bugfix on 0.3.3.0-alpha-dev; not in any released version of tor.
|
@ -135,6 +135,8 @@ circuit_is_acceptable(const origin_circuit_t *origin_circ,
|
||||
}
|
||||
|
||||
if (purpose == CIRCUIT_PURPOSE_C_GENERAL ||
|
||||
purpose == CIRCUIT_PURPOSE_C_HSDIR_GET ||
|
||||
purpose == CIRCUIT_PURPOSE_S_HSDIR_POST ||
|
||||
purpose == CIRCUIT_PURPOSE_HS_VANGUARDS ||
|
||||
purpose == CIRCUIT_PURPOSE_C_REND_JOINED) {
|
||||
if (circ->timestamp_dirty &&
|
||||
|
@ -792,7 +792,10 @@ connection_ap_expire_beginning(void)
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (circ->purpose != CIRCUIT_PURPOSE_C_GENERAL &&
|
||||
circ->purpose != CIRCUIT_PURPOSE_C_HSDIR_GET &&
|
||||
circ->purpose != CIRCUIT_PURPOSE_S_HSDIR_POST &&
|
||||
circ->purpose != CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT &&
|
||||
circ->purpose != CIRCUIT_PURPOSE_PATH_BIAS_TESTING) {
|
||||
log_warn(LD_BUG, "circuit->purpose == CIRCUIT_PURPOSE_C_GENERAL failed. "
|
||||
|
@ -824,7 +824,11 @@ hs_circ_service_intro_has_opened(hs_service_t *service,
|
||||
/* Cleaning up the hidden service identifier and repurpose. */
|
||||
hs_ident_circuit_free(circ->hs_ident);
|
||||
circ->hs_ident = NULL;
|
||||
circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_C_GENERAL);
|
||||
if (circuit_should_use_vanguards(TO_CIRCUIT(circ)->purpose))
|
||||
circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_HS_VANGUARDS);
|
||||
else
|
||||
circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_C_GENERAL);
|
||||
|
||||
/* Inform that this circuit just opened for this new purpose. */
|
||||
circuit_has_opened(circ);
|
||||
/* This return value indicate to the caller that the IP object should be
|
||||
|
@ -3222,7 +3222,12 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
|
||||
"circuit, but we already have enough. Redefining purpose to "
|
||||
"general; leaving as internal.");
|
||||
|
||||
circuit_change_purpose(TO_CIRCUIT(circuit), CIRCUIT_PURPOSE_C_GENERAL);
|
||||
if (circuit_should_use_vanguards(TO_CIRCUIT(circuit)->purpose)) {
|
||||
circuit_change_purpose(TO_CIRCUIT(circuit),
|
||||
CIRCUIT_PURPOSE_HS_VANGUARDS);
|
||||
} else {
|
||||
circuit_change_purpose(TO_CIRCUIT(circuit), CIRCUIT_PURPOSE_C_GENERAL);
|
||||
}
|
||||
|
||||
{
|
||||
rend_data_free(circuit->rend_data);
|
||||
|
Loading…
Reference in New Issue
Block a user