mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-23 14:40:51 +01:00
clients now send correct address for rendezvous point
Clients now send the correct address for their chosen rendezvous point when trying to access a hidden service. They used to send the wrong address, which would still work some of the time because they also sent the identity digest of the rendezvous point, and if the hidden service happened to try connecting to the rendezvous point from a relay that already had a connection open to it, the relay would reuse that connection. Now connections to hidden services should be more robust and faster. Also, this bug meant that clients were leaking to the hidden service whether they were on a little-endian (common) or big-endian (rare) system, which for some users might have reduced their anonymity. Fixes bug 13151; bugfix on 0.2.1.5-alpha.
This commit is contained in:
parent
b45f0f8fb9
commit
0c3b3650aa
2 changed files with 14 additions and 1 deletions
13
changes/bug13151-client
Normal file
13
changes/bug13151-client
Normal file
|
@ -0,0 +1,13 @@
|
|||
o Major bugfixes:
|
||||
- Clients now send the correct address for their chosen rendezvous
|
||||
point when trying to access a hidden service. They used to send
|
||||
the wrong address, which would still work some of the time because
|
||||
they also sent the identity digest of the rendezvous point, and if
|
||||
the hidden service happened to try connecting to the rendezvous
|
||||
point from a relay that already had a connection open to it,
|
||||
the relay would reuse that connection. Now connections to hidden
|
||||
services should be more robust and faster. Also, this bug meant
|
||||
that clients were leaking to the hidden service whether they were
|
||||
on a little-endian (common) or big-endian (rare) system, which for
|
||||
some users might have reduced their anonymity. Fixes bug 13151;
|
||||
bugfix on 0.2.1.5-alpha.
|
|
@ -269,7 +269,7 @@ rend_client_send_introduction(origin_circuit_t *introcirc,
|
|||
extend_info_t *extend_info = rendcirc->build_state->chosen_exit;
|
||||
int klen;
|
||||
/* nul pads */
|
||||
set_uint32(tmp+v3_shift+1, tor_addr_to_ipv4h(&extend_info->addr));
|
||||
set_uint32(tmp+v3_shift+1, tor_addr_to_ipv4n(&extend_info->addr));
|
||||
set_uint16(tmp+v3_shift+5, htons(extend_info->port));
|
||||
memcpy(tmp+v3_shift+7, extend_info->identity_digest, DIGEST_LEN);
|
||||
klen = crypto_pk_asn1_encode(extend_info->onion_key,
|
||||
|
|
Loading…
Add table
Reference in a new issue