]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Make NETINFO clock skew detection work on clients
authorTaylor Yu <catalyst@torproject.org>
Fri, 15 Sep 2017 01:43:52 +0000 (20:43 -0500)
committerTaylor Yu <catalyst@torproject.org>
Fri, 15 Sep 2017 14:49:53 +0000 (09:49 -0500)
An unnecessary routerlist check in the NETINFO clock skew detection in
channel_tls_process_netinfo_cell() was preventing clients from
reporting NETINFO clock skew to controllers.

changes/bug23532 [new file with mode: 0644]
src/or/channeltls.c

diff --git a/changes/bug23532 b/changes/bug23532
new file mode 100644 (file)
index 0000000..3eb2345
--- /dev/null
@@ -0,0 +1,5 @@
+  o Minor bugfixes (usability, control port):
+    - Stop making an unnecessary routerlist check in NETINFO clock
+      skew detection; this was preventing clients from reporting
+      NETINFO clock skew to controllers.  Fixes bug 23532; bugfix on
+      0.2.4.4-alpha.
index 1db395fdd4a42f7f1a6fdecd7a4ab9ee4ffcfeb8..fe1e7e91d81a2b91ebf08c45eeced57b05aefe67 100644 (file)
@@ -1827,8 +1827,9 @@ channel_tls_process_netinfo_cell(cell_t *cell, channel_tls_t *chan)
   /** Warn when we get a netinfo skew with at least this value. */
 #define NETINFO_NOTICE_SKEW 3600
   if (labs(apparent_skew) > NETINFO_NOTICE_SKEW &&
-      router_get_by_id_digest(chan->conn->identity_digest)) {
-    int trusted = router_digest_is_trusted_dir(chan->conn->identity_digest);
+      (started_here ||
+       connection_or_digest_is_known_relay(identity_digest))) {
+    int trusted = router_digest_is_trusted_dir(identity_digest);
     clock_skew_warning(TO_CONN(chan->conn), apparent_skew, trusted, LD_GENERAL,
                        "NETINFO cell", "OR");
   }