]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Print a warning when extra info document is found incompatible with router descriptor.
authorrl1987 <rl1987@sdf.lonestar.org>
Sun, 9 Nov 2014 15:41:18 +0000 (17:41 +0200)
committerrl1987 <rl1987@sdf.lonestar.org>
Sun, 9 Nov 2014 15:41:18 +0000 (17:41 +0200)
src/or/routerlist.c

index d81dae467606fb34a2b6a3626acc5942e186e19c..fb39b6ea64db2095bf2b6cc3965bd9077bb2ba12 100644 (file)
@@ -2945,6 +2945,7 @@ MOCK_IMPL(STATIC was_router_added_t,
 extrainfo_insert,(routerlist_t *rl, extrainfo_t *ei))
 {
   was_router_added_t r;
+  const char *compatibility_error_msg;
   routerinfo_t *ri = rimap_get(rl->identity_map,
                                ei->cache_info.identity_digest);
   signed_descriptor_t *sd =
@@ -2961,9 +2962,14 @@ extrainfo_insert,(routerlist_t *rl, extrainfo_t *ei))
     r = ROUTER_NOT_IN_CONSENSUS;
     goto done;
   }
-  if (routerinfo_incompatible_with_extrainfo(ri, ei, sd, NULL)) {
+  if (routerinfo_incompatible_with_extrainfo(ri, ei, sd,
+                                             &compatibility_error_msg)) {
     r = (ri->cache_info.extrainfo_is_bogus) ?
       ROUTER_BAD_EI : ROUTER_NOT_IN_CONSENSUS;
+
+    log_warn(LD_DIR,"router info incompatible with extra info (reason: %s)",
+             compatibility_error_msg);
+
     goto done;
   }