Fix a bug where, when we were choosing the 'end stream reason' to
put in our relay end cell that we send to the exit relay, Tor clients on Windows were sometimes sending the wrong 'reason'. The anonymity problem is that exit relays may be able to guess whether client is running Windows, thus helping partition the anonymity set. Down the road we should stop sending reasons to exit relays, or otherwise prevent future versions of this bug. svn:r15118
This commit is contained in:
parent
953b775155
commit
01aa4f95ac
|
@ -1,4 +1,13 @@
|
|||
Changes in version 0.2.0.28-rc - 2008-06-??
|
||||
o Anonymity fixes:
|
||||
- Fix a bug where, when we were choosing the 'end stream reason' to
|
||||
put in our relay end cell that we send to the exit relay, Tor
|
||||
clients on Windows were sometimes sending the wrong 'reason'. The
|
||||
anonymity problem is that exit relays may be able to guess whether
|
||||
client is running Windows, thus helping partition the anonymity
|
||||
set. Down the road we should stop sending reasons to exit relays,
|
||||
or otherwise prevent future versions of this bug.
|
||||
|
||||
o Minor fixes:
|
||||
- Bridge relays no longer print "xx=0" in their extrainfo document
|
||||
for every single country code in the geoip db.
|
||||
|
|
|
@ -1842,13 +1842,13 @@ loop_again:
|
|||
before = buf_datalen(conn->inbuf);
|
||||
if (connection_read_to_buf(conn, &max_to_read) < 0) {
|
||||
/* There's a read error; kill the connection.*/
|
||||
connection_close_immediate(conn); /* Don't flush; connection is dead. */
|
||||
if (CONN_IS_EDGE(conn)) {
|
||||
edge_connection_t *edge_conn = TO_EDGE_CONN(conn);
|
||||
connection_edge_end_errno(edge_conn);
|
||||
if (edge_conn->socks_request) /* broken, don't send a socks reply back */
|
||||
edge_conn->socks_request->has_finished = 1;
|
||||
}
|
||||
connection_close_immediate(conn); /* Don't flush; connection is dead. */
|
||||
connection_mark_for_close(conn);
|
||||
return -1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue