commit 1d0ba9a61f0bc30209a8eae48b863241044b6b23 Author: Nick Mathewson nickm@torproject.org Date: Tue Sep 17 17:55:43 2013 -0400
Stop sending the current time in client NETINFO handshakes.
Implements part of proposal 222. --- changes/no_client_timestamps_024 | 5 +++++ src/or/connection_or.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/changes/no_client_timestamps_024 b/changes/no_client_timestamps_024 new file mode 100644 index 0000000..6df5307 --- /dev/null +++ b/changes/no_client_timestamps_024 @@ -0,0 +1,5 @@ + o Minor features (security): + - Clients no longer send timestamps in their NETINFO cells. These were + not used for anything, and they provided one small way for clients + to be distinguished from each other as they moved from network to + network or behind NAT. diff --git a/src/or/connection_or.c b/src/or/connection_or.c index d5dd447..95cb39a 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -2051,8 +2051,9 @@ connection_or_send_netinfo(or_connection_t *conn) memset(&cell, 0, sizeof(cell_t)); cell.command = CELL_NETINFO;
- /* Timestamp. */ - set_uint32(cell.payload, htonl((uint32_t)now)); + /* Timestamp, if we're a relay. */ + if (! conn->handshake_state->started_here) + set_uint32(cell.payload, htonl((uint32_t)now));
/* Their address. */ out = cell.payload + 4;