mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 14:51:11 +01:00
Handle a failure edge-case when a client-side intro circ opens.
This commit is contained in:
parent
9603d8af0b
commit
e0da64fd27
2 changed files with 15 additions and 5 deletions
3
changes/bug34084
Normal file
3
changes/bug34084
Normal file
|
@ -0,0 +1,3 @@
|
|||
o Minor bugfixes (onion services v3):
|
||||
- Avoid a non-fatal assert log in an edge-case of opening an intro circuit
|
||||
as a client. Fixes bug 34084; bugfix on 0.3.2.1-alpha.
|
|
@ -704,8 +704,11 @@ send_introduce1(origin_circuit_t *intro_circ,
|
|||
}
|
||||
|
||||
/** Using the introduction circuit circ, setup the authentication key of the
|
||||
* intro point this circuit has extended to. */
|
||||
static void
|
||||
* intro point this circuit has extended to.
|
||||
*
|
||||
* Return 0 if everything went well, otherwise return -1 in the case of errors.
|
||||
*/
|
||||
static int
|
||||
setup_intro_circ_auth_key(origin_circuit_t *circ)
|
||||
{
|
||||
const hs_descriptor_t *desc;
|
||||
|
@ -736,10 +739,12 @@ setup_intro_circ_auth_key(origin_circuit_t *circ)
|
|||
|
||||
/* Reaching this point means we didn't find any intro point for this circuit
|
||||
* which is not supposed to happen. */
|
||||
tor_assert_nonfatal_unreached();
|
||||
circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_INTERNAL);
|
||||
log_info(LD_REND, "Could not match opened intro circuit with intro point.");
|
||||
return -1;
|
||||
|
||||
end:
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Called when an introduction circuit has opened. */
|
||||
|
@ -754,7 +759,9 @@ client_intro_circ_has_opened(origin_circuit_t *circ)
|
|||
/* This is an introduction circuit so we'll attach the correct
|
||||
* authentication key to the circuit identifier so it can be identified
|
||||
* properly later on. */
|
||||
setup_intro_circ_auth_key(circ);
|
||||
if (setup_intro_circ_auth_key(circ) < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
connection_ap_attach_pending(1);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue