summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--src/or/command.c10
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index e6eca0de1c..3d04d20d29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -27,6 +27,8 @@ Changes in version 0.2.1.1-alpha - 2008-??-??
- Use recursive pthread mutexes in order to avoid deadlock when
logging debug-level messages to a controller. Bug spotted by
nwf, bugfix on 0.2.0.16-alpha.
+ - Warn less verbosely about clock skew from netinfo cells from
+ untrusted sources. Fixes bug 663.
o Minor features:
- Allow separate log levels to be configured for different logging
diff --git a/src/or/command.c b/src/or/command.c
index d05f6cdae9..79e6133f19 100644
--- a/src/or/command.c
+++ b/src/or/command.c
@@ -523,7 +523,7 @@ command_process_netinfo_cell(cell_t *cell, or_connection_t *conn)
}
if (conn->_base.state != OR_CONN_STATE_OR_HANDSHAKING) {
log_fn(LOG_PROTOCOL_WARN, LD_OR,
- "Received a NETINFO cell on a non-handshaking; dropping.");
+ "Received a NETINFO cell on non-handshaking connection; dropping.");
return;
}
tor_assert(conn->handshake_state &&
@@ -577,8 +577,12 @@ command_process_netinfo_cell(cell_t *cell, or_connection_t *conn)
if (labs(apparent_skew) > NETINFO_NOTICE_SKEW &&
router_get_by_digest(conn->identity_digest)) {
char dbuf[64];
- /*XXXX This should check the trustedness of the other side. */
- int severity = server_mode(get_options()) ? LOG_INFO : LOG_WARN;
+ int severity;
+ /*XXXX021 be smarter about when everybody says we are skewed. */
+ if (router_digest_is_trusted_dir(conn->identity_digest))
+ severity = LOG_WARN;
+ else
+ severity = LOG_INFO;
format_time_interval(dbuf, sizeof(dbuf), apparent_skew);
log_fn(severity, LD_GENERAL, "Received NETINFO cell with skewed time from "
"server at %s:%d. It seems that our clock is %s by %s, or "