]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Downgrade warnings about extrainfo incompatibility when reading cache
authorNick Mathewson <nickm@torproject.org>
Wed, 7 Jan 2015 18:11:06 +0000 (13:11 -0500)
committerNick Mathewson <nickm@torproject.org>
Wed, 7 Jan 2015 18:11:06 +0000 (13:11 -0500)
Fixes  13762.

changes/ticket13762 [new file with mode: 0644]
src/or/routerlist.c
src/or/routerlist.h
src/test/test_dir.c

diff --git a/changes/ticket13762 b/changes/ticket13762
new file mode 100644 (file)
index 0000000..7b1976f
--- /dev/null
@@ -0,0 +1,5 @@
+  o Minor features:
+    - Suppress "router info incompatible with extra info" message when
+      reading extrainfo documents from cache. (This message got loud
+      around 0.2.6.2-alpha, when we fixed bug 9812.) Closes ticket
+      13762.
\ No newline at end of file
index 6cb052c03e988c62f4e7ef6917a0b563feab014a..aab0aab3792143f231742d06d7f485a9ab8b1dc4 100644 (file)
@@ -2752,7 +2752,7 @@ routerlist_insert(routerlist_t *rl, routerinfo_t *ri)
  * corresponding router in rl-\>routers or rl-\>old_routers.  Return the status
  * of inserting <b>ei</b>.  Free <b>ei</b> if it isn't inserted. */
 MOCK_IMPL(STATIC was_router_added_t,
-extrainfo_insert,(routerlist_t *rl, extrainfo_t *ei))
+extrainfo_insert,(routerlist_t *rl, extrainfo_t *ei, int warn_if_incompatible))
 {
   was_router_added_t r;
   const char *compatibility_error_msg;
@@ -2774,11 +2774,13 @@ extrainfo_insert,(routerlist_t *rl, extrainfo_t *ei))
   }
   if (routerinfo_incompatible_with_extrainfo(ri, ei, sd,
                                              &compatibility_error_msg)) {
+    const int severity = warn_if_incompatible ? LOG_WARN : LOG_INFO;
     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);
+    log_fn(severity,LD_DIR,
+           "router info incompatible with extra info (reason: %s)",
+           compatibility_error_msg);
 
     goto done;
   }
@@ -3324,7 +3326,7 @@ router_add_extrainfo_to_routerlist(extrainfo_t *ei, const char **msg,
   if (msg) *msg = NULL;
   /*XXXX023 Do something with msg */
 
-  inserted = extrainfo_insert(router_get_routerlist(), ei);
+  inserted = extrainfo_insert(router_get_routerlist(), ei, !from_cache);
 
   if (WRA_WAS_ADDED(inserted) && !from_cache)
     signed_desc_append_to_journal(&ei->cache_info,
index d7e15db87ea631bef1754d6f37f86d4b5a8a5edf..0d22543a274cbcef62f1cd4e588963ee82fc4c57 100644 (file)
@@ -227,7 +227,7 @@ STATIC void scale_array_elements_to_u64(u64_dbl_t *entries, int n_entries,
 MOCK_DECL(int, router_descriptor_is_older_than, (const routerinfo_t *router,
                                                  int seconds));
 MOCK_DECL(STATIC was_router_added_t, extrainfo_insert,
-          (routerlist_t *rl, extrainfo_t *ei));
+          (routerlist_t *rl, extrainfo_t *ei, int warn_if_incompatible));
 
 #endif
 
index c6594f8359a5f09fa7e4f4220e02e1e4e115e3cc..a8c6c6fad4e8086d44e6848e32a92e165574e740 100644 (file)
@@ -714,9 +714,10 @@ mock_get_by_ei_desc_digest(const char *d)
 
 static smartlist_t *mock_ei_insert_list = NULL;
 static was_router_added_t
-mock_ei_insert(routerlist_t *rl, extrainfo_t *ei)
+mock_ei_insert(routerlist_t *rl, extrainfo_t *ei, int warn_if_incompatible)
 {
   (void) rl;
+  (void) warn_if_incompatible;
   smartlist_add(mock_ei_insert_list, ei);
   return ROUTER_ADDED_SUCCESSFULLY;
 }